41 #include <pcl/octree/octree_container.h>
42 #include <pcl/memory.h>
43 #include <pcl/pcl_macros.h>
69 getNodeType()
const = 0;
82 template <
typename ContainerT>
181 template <
typename ContainerT>
196 for (
unsigned char i = 0; i < 8; ++i)
207 for (
unsigned char i = 0; i < 8; ++i)
231 assert(child_idx_arg < 8);
242 assert(child_idx_arg < 8);
void setChildPtr(OctreeNode *child, unsigned char index)
Get pointer to child.
const ContainerT * operator->() const
Get const pointer to container.
const ContainerT * operator->() const
Get const pointer to container.
~OctreeLeafNode()
Empty deconstructor.
ContainerT * getContainerPtr()
Get pointer to container.
OctreeNode * child_node_array_[8]
ContainerT & operator*()
Get reference to container.
OctreeNode *& operator[](unsigned char child_idx_arg)
Access operator.
OctreeNode * getChildPtr(unsigned char child_idx_arg) const
Get pointer to child.
OctreeLeafNode< ContainerT > * deepCopy() const override
Method to perform a deep copy of the octree.
node_type_t getNodeType() const override
Get the type of octree node.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
ContainerT * operator->()
Get pointer to container.
~OctreeBranchNode()
Empty deconstructor.
ContainerT & getContainer()
Get reference to container.
bool hasChild(unsigned char child_idx_arg) const
Check if branch is pointing to a particular child node.
const ContainerT * getContainerPtr() const
Get const pointer to container.
ContainerT * operator->()
Get pointer to container.
const ContainerT * getContainerPtr() const
Get const pointer to container.
virtual OctreeNode * deepCopy() const =0
Pure virtual method to perform a deep copy of the octree.
ContainerT * getContainerPtr()
Get pointer to container.
OctreeBranchNode(const OctreeBranchNode &source)
Empty constructor.
const ContainerT & operator*() const
Get const reference to container.
node_type_t getNodeType() const override
Check if branch can be pruned.
OctreeBranchNode & operator=(const OctreeBranchNode &source)
Copy operator.
Abstract octree leaf class
OctreeLeafNode()
Empty constructor.
const ContainerT & getContainer() const
Get const reference to container.
OctreeBranchNode()
Empty constructor.
OctreeLeafNode(const OctreeLeafNode &source)
Copy constructor.
ContainerT & operator*()
Get reference to container.
const ContainerT & operator*() const
Get const reference to container.
Abstract octree branch class
const ContainerT & getContainer() const
Get const reference to container.
Abstract octree node class
OctreeBranchNode * deepCopy() const override
Octree deep copy method.
ContainerT & getContainer()
Get reference to container.