16 #ifndef SURGSIM_DATASTRUCTURES_OCTREENODEPLYREADERDELEGATE_INL_H 17 #define SURGSIM_DATASTRUCTURES_OCTREENODEPLYREADERDELEGATE_INL_H 21 namespace DataStructures
24 template <
typename Data>
28 static_assert(std::is_default_constructible<Data>::value,
"OctreeNode Data needs default constructor.");
31 template <
typename Data>
35 static_assert(std::is_default_constructible<Data>::value,
"OctreeNode Data needs default constructor");
36 SURGSIM_ASSERT(!m_octree->hasChildren()) <<
"Can't process an octree that already has children in it.";
39 template <
typename Data>
45 template <
typename Data>
51 template <
typename Data>
55 position[0] = m_voxel.x;
56 position[1] = m_voxel.y;
57 position[2] = m_voxel.z;
61 template <
typename Data>
Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
void processVoxel(const std::string &elementName) override
Callback function to process one voxel.
Definition: OctreeNodePlyReaderDelegate-inl.h:52
Eigen::AlignedBox< double, 3 > m_boundingBox
Bounding box, will be initialized from the file.
Definition: OctreeNodePlyReaderDelegate.h:92
Definition: MockObjects.h:47
#define SURGSIM_ASSERT(condition)
Assert that condition is true.
Definition: Assert.h:77
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57
virtual ~OctreeNodePlyReaderDelegate()
Destructor.
Definition: OctreeNodePlyReaderDelegate-inl.h:40
void initializeOctree() override
Set up the octree, this is left up to the derived classes.
Definition: OctreeNodePlyReaderDelegate-inl.h:62
OctreeNodePlyReaderDelegate()
Constructor.
Definition: OctreeNodePlyReaderDelegate-inl.h:25
std::shared_ptr< OctreeNode< Data > > getOctree()
Definition: OctreeNodePlyReaderDelegate-inl.h:46
int m_numLevels
Calculated number of levels for the octree.
Definition: OctreeNodePlyReaderDelegate.h:119
Octree data structure.
Definition: OctreeNode.h:131