VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOctreeNode.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
13 
15 
16 namespace makVrv {
17 
20  template<class T>
22  {
23  public:
24 
26  DtOctreeNode();
27 
29  ~DtOctreeNode();
30 
32  void setOctant(DtOctree<T>*);
34  DtOctree<T>* getOctant(void);
35 
37  bool isIn(const DtAxisAlignedBoundingBox<T>& box);
38 
40  const DtAxisAlignedBoundingBox<T>& worldAABB(void) const;
41 
44 
50 
52  void setUserData(void* pUserData){ myUserData = pUserData; }
54  void* userData() const { return myUserData; }
56  private:
59  void* myUserData;
60  };
61 
64 
65 } //namespace makVrv
66 
67 #include "DtOctreeNode.inl"
DtUserObjectBindings myUserObjectBindings
Definition: DtOctreeNode.h:58
OctreeNode class.
Definition: DtOctreeNode.h:21
void setOctant(DtOctree< T > *)
Set the octant which this node is in.
Class to store a set of keys mapping to a set of any objects.
DtVector3< T > myCenter
Definition: DtOctreeNode.h:43
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:62
DtAxisAlignedBoundingBox< T > myWorldAABB
Definition: DtOctreeNode.h:42
Axis Aligned Bounding Box class.
DtUserObjectBindings & getUserObjectBindings(void)
User object bindings.
Octree datastructure for managing scene nodes. This is a loose octree implementation, meaning that each octant child of the octree actually overlaps it&#39;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:59
void * userData() const
User Data.
Definition: DtOctreeNode.h:54
Class to store a set of keys mapping to a set of any objects.
Definition: DtUserObjectBindings.h:23
DtOctreeNode< float64 > OctreeNode_64
Definition: DtOctreeNode.h:63
DtOctree< T > * getOctant(void)
Get the octant which this node is in.
DtOctree< T > * myOctant
Definition: DtOctreeNode.h:57
void setUserData(void *pUserData)
User Data.
Definition: DtOctreeNode.h:53

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)