39 #ifndef PCL_OCTREE_NODE_H 40 #define PCL_OCTREE_NODE_H 48 #include <pcl/pcl_macros.h> 50 #include "octree_container.h" 82 getNodeType ()
const = 0;
86 deepCopy ()
const = 0;
96 template<
typename ContainerT>
195 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
203 template<
typename ContainerT>
224 for (i = 0; i < 8; ++i)
237 for (i = 0; i < 8; ++i)
263 assert(child_idx_arg < 8);
274 assert(child_idx_arg < 8);
292 inline bool hasChild (
unsigned char child_idx_arg)
const bool hasChild(unsigned char child_idx_arg) const
Check if branch is pointing to a particular child node.
void setChildPtr(OctreeNode *child, unsigned char index)
Get pointer to child.
const ContainerT & operator*() const
Get const reference to container.
const ContainerT * getContainerPtr() const
Get const pointer to container.
const ContainerT * operator->() const
Get const pointer to container.
ContainerT * getContainerPtr()
Get pointer to container.
This file defines compatibility wrappers for low level I/O functions.
OctreeNode * child_node_array_[8]
OctreeNode *& operator[](unsigned char child_idx_arg)
Access operator.
const ContainerT & getContainer() const
Get const reference to container.
OctreeNode * getChildPtr(unsigned char child_idx_arg) const
Get pointer to child.
ContainerT & getContainer()
Get reference to container.
const ContainerT & getContainer() const
Get const reference to container.
ContainerT * getContainerPtr()
Get pointer to container.
virtual OctreeLeafNode< ContainerT > * deepCopy() const
Method to perform a deep copy of the octree.
OctreeBranchNode(const OctreeBranchNode &source)
Empty constructor.
virtual OctreeNode * deepCopy() const =0
Pure virtual method to perform a deep copy of the octree.
OctreeBranchNode & operator=(const OctreeBranchNode &source)
Copy operator.
Abstract octree leaf class
OctreeLeafNode()
Empty constructor.
OctreeBranchNode()
Empty constructor.
virtual node_type_t getNodeType() const
Check if branch can be pruned.
OctreeLeafNode(const OctreeLeafNode &source)
Copy constructor.
const ContainerT * getContainerPtr() const
Get const pointer to container.
virtual OctreeBranchNode * deepCopy() const
Octree deep copy method.
virtual ~OctreeBranchNode()
Empty deconstructor.
const ContainerT & operator*() const
Get const reference to container.
const ContainerT * operator->() const
Get const pointer to container.
virtual ~OctreeLeafNode()
Empty deconstructor.
Abstract octree branch class
virtual node_type_t getNodeType() const
Get the type of octree node.
Abstract octree node class
ContainerT & getContainer()
Get reference to container.