Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cOctreeObject.h
Go to the documentation of this file.
1 //
5 //
6 
7 #ifndef _INC_cOctreeObject_H
8 #define _INC_cOctreeObject_H
9 #ifndef NO_PRAGMA_ONCE
10 #pragma once
11 #endif
12 
13 #include "cSpatialObject.h"
14 #include "GrayCore/include/cList.h"
15 
16 namespace Gray3D
17 {
19  : public cSpatialObject
20  , public cListNodeT<cOctreeObject> // i am a node in a list.
21  {
25  typedef cSpatialObject SUPER_t;
26 
27  public:
29 
30  public:
31  cOctreeObject() noexcept
32  : m_iSpatialTestVal(-1)
33  {
34  }
35  virtual ~cOctreeObject()
36  {
38  ASSERT(m_iSpatialTestVal == -1);
39  // ASSERT( get_Parent() == nullptr );
40  }
41 
42  void DetachFromSpatialTree(); // and prune.
43  virtual void TestTree(const ISpatialTest* pTree) const override;
44  };
45 };
46 #endif // _INC_cSpatialObject_H
#define GRAY3D_LINK
Definition: Gray3D.h:15
#define ASSERT(exp)
Definition: cDebugAssert.h:87
Definition: cOctreeObject.h:21
cOctreeObject() noexcept
Definition: cOctreeObject.h:31
virtual ~cOctreeObject()
Definition: cOctreeObject.h:35
int m_iSpatialTestVal
value for debug validation.
Definition: cOctreeObject.h:28
Definition: cSpatialObject.h:21
Definition: cList.h:205
Definition: cSpatialTest.h:106
Definition: Gray3D.cpp:12