![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cOctree.h>
Public Types | |
typedef int | CHILDIDX_t |
0 to 7 k_NodeMax More... | |
Public Member Functions | |
cOctreeNodeCont () noexcept | |
virtual | ~cOctreeNodeCont () |
void | FreeChildNode (CHILDIDX_t ci) |
void | FreeChildNodes () |
UNITTEST_FRIEND (cOctree) | |
run an heavy usage simulation to test More... | |
Static Public Attributes | |
static const CHILDIDX_t | k_NodeMax = 8 |
2x2x2 = 8 More... | |
Protected Member Functions | |
bool | TraverseIntersectHex (ISpatialTestVisitor *pResults, const cHexahedron &frustum, cHexahedron::PLANES_MASK_t planes) |
virtual bool | TraverseIntersectSphere (ISpatialTestVisitor *pResults, const cSpheref &sphere) const override |
virtual bool | TraverseIntersectBounds (ISpatialTestVisitor *pResults, const cBounds3f &bbox) const override |
virtual bool | TraverseIntersectHex (ISpatialTestVisitor *pResults, const cHexahedron &frustum) override |
virtual bool | TraverseIntersectSegment (ISpatialTestVisitor *pResults, const cSegment3f &segment) override |
virtual bool | TraverseAll (ISpatialTestVisitor *pResults) const override |
Protected Attributes | |
cOctreeNode * | m_aChildNodes [k_NodeMax] |
container for sparse 2x2x2 possible subdivided children. for each sign octant More... | |
CHILDIDX_t | m_nChildNodes |
Number of actually populated m_aChildNodes. <= 8. More... | |
int | m_iSpatialTestVal |
validation value. incremented periodically (per frame?) More... | |
a container for 2x2x2 child nodes. k_NodeMax
typedef int Gray3D::cOctreeNodeCont::CHILDIDX_t |
0 to 7 k_NodeMax
|
inlinenoexcept |
|
inlinevirtual |
void Gray3D::cOctreeNodeCont::FreeChildNode | ( | CHILDIDX_t | ci | ) |
void Gray3D::cOctreeNodeCont::FreeChildNodes | ( | ) |
Free all the child nodes.
|
overrideprotectedvirtual |
ISpatialTest No testing. just traverse all objects.
Reimplemented in Gray3D::cOctreeNode.
|
overrideprotectedvirtual |
ISpatialTest BBox intersect.
Reimplemented in Gray3D::cOctreeNode.
|
overrideprotectedvirtual |
ISpatialTest Frustum intersect.
|
protected |
Frustum intersect.
|
overrideprotectedvirtual |
ISpatialTest Ray pick nodes. pITraverse->ObjectIntersect() calls.
Reimplemented in Gray3D::cOctreeNode.
|
overrideprotectedvirtual |
ISpatialTest Sphere intersect.
Reimplemented in Gray3D::cOctreeNode.
Gray3D::cOctreeNodeCont::UNITTEST_FRIEND | ( | cOctree | ) |
run an heavy usage simulation to test
|
static |
2x2x2 = 8
|
protected |
container for sparse 2x2x2 possible subdivided children. for each sign octant
|
mutableprotected |
validation value. incremented periodically (per frame?)
|
protected |
Number of actually populated m_aChildNodes. <= 8.