59 #include "DtOctreeNode.inl"
OctreeNode class.
Definition: DtOctreeNode.h:20
void setOctant(DtOctree< T > *)
Set the octant which this node is in.
DtVector3< T > myCenter
Definition: DtOctreeNode.h:42
Template for 32/64 bit Axis Aligned bounding boxesnot virtual because its stored as is on the GPU...
Definition: DtAxisAlignedBoundingBox.h:27
DtOctreeNode< float32 > OctreeNode_32
Definition: DtOctreeNode.h:54
DtAxisAlignedBoundingBox< T > myWorldAABB
Definition: DtOctreeNode.h:41
Axis Aligned Bounding Box class.
Octree datastructure for managing scene nodes. This is a loose octree implementation, meaning that each octant child of the octree actually overlaps it's siblings by a factor of .5. This guarantees that any thing that is half the size of the parent will fit completely into a child, with no splitting necessary.
Definition: DtOctree.h:27
bool isIn(const DtAxisAlignedBoundingBox< T > &box)
Determine whether a box is inside this node.
OctreeNode forward declarations.
2 dimensional vector
Definition: DtMath.h:21
const DtAxisAlignedBoundingBox< T > & worldAABB(void) const
Get the AABB of this node in world space.
void * myUserData
Definition: DtOctreeNode.h:51
void * userData() const
User Data.
Definition: DtOctreeNode.h:47
DtOctreeNode< float64 > OctreeNode_64
Definition: DtOctreeNode.h:55
DtOctree< T > * getOctant(void)
Get the octant which this node is in.
DtOctree< T > * myOctant
Definition: DtOctreeNode.h:50
void setUserData(void *pUserData)
User Data.
Definition: DtOctreeNode.h:46