Point Cloud Library (PCL) 1.12.0
Loading...
Searching...
No Matches
List of all members | Public Member Functions | Protected Attributes
pcl::octree::OctreeBranchNode< ContainerT > Class Template Reference

Abstract octree branch class More...

#include <pcl/octree/octree_nodes.h>

+ Inheritance diagram for pcl::octree::OctreeBranchNode< ContainerT >:
+ Collaboration diagram for pcl::octree::OctreeBranchNode< ContainerT >:

Public Member Functions

 OctreeBranchNode ()
 Empty constructor.
 
 OctreeBranchNode (const OctreeBranchNode &source)
 Empty constructor.
 
OctreeBranchNodeoperator= (const OctreeBranchNode &source)
 Copy operator.
 
OctreeBranchNodedeepCopy () const override
 Octree deep copy method.
 
 ~OctreeBranchNode ()
 Empty deconstructor.
 
OctreeNode *& operator[] (unsigned char child_idx_arg)
 Access operator.
 
OctreeNodegetChildPtr (unsigned char child_idx_arg) const
 Get pointer to child.
 
void setChildPtr (OctreeNode *child, unsigned char index)
 Get pointer to child.
 
bool hasChild (unsigned char child_idx_arg) const
 Check if branch is pointing to a particular child node.
 
node_type_t getNodeType () const override
 Check if branch can be pruned.
 
void reset ()
 
const ContainerToperator-> () const
 Get const pointer to container.
 
ContainerToperator-> ()
 Get pointer to container.
 
const ContainerToperator* () const
 Get const reference to container.
 
ContainerToperator* ()
 Get reference to container.
 
const ContainerTgetContainer () const
 Get const reference to container.
 
ContainerTgetContainer ()
 Get reference to container.
 
const ContainerTgetContainerPtr () const
 Get const pointer to container.
 
ContainerTgetContainerPtr ()
 Get pointer to container.
 
- Public Member Functions inherited from pcl::octree::OctreeNode
 OctreeNode ()
 
virtual ~OctreeNode ()
 

Protected Attributes

OctreeNodechild_node_array_ [8]
 
ContainerT container_
 

Detailed Description

template<typename ContainerT>
class pcl::octree::OctreeBranchNode< ContainerT >

Abstract octree branch class

Note
Octree branch classes may collect data of type DataT
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 179 of file octree_nodes.h.

Constructor & Destructor Documentation

◆ OctreeBranchNode() [1/2]

template<typename ContainerT >
pcl::octree::OctreeBranchNode< ContainerT >::OctreeBranchNode ( )
inline

Empty constructor.

Definition at line 182 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ OctreeBranchNode() [2/2]

template<typename ContainerT >
pcl::octree::OctreeBranchNode< ContainerT >::OctreeBranchNode ( const OctreeBranchNode< ContainerT > & source)
inline

Empty constructor.

Definition at line 189 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ ~OctreeBranchNode()

Empty deconstructor.

Definition at line 219 of file octree_nodes.h.

Member Function Documentation

◆ deepCopy()

template<typename ContainerT >
OctreeBranchNode * pcl::octree::OctreeBranchNode< ContainerT >::deepCopy ( ) const
inlineoverridevirtual

Octree deep copy method.

Implements pcl::octree::OctreeNode.

Definition at line 212 of file octree_nodes.h.

◆ getChildPtr()

template<typename ContainerT >
OctreeNode * pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr ( unsigned char child_idx_arg) const
inline

Get pointer to child.

Parameters
child_idx_argindex to child node
Returns
OctreeNode pointer

Definition at line 237 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ getContainer() [1/2]

template<typename ContainerT >
ContainerT & pcl::octree::OctreeBranchNode< ContainerT >::getContainer ( )
inline

Get reference to container.

Definition at line 339 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ getContainer() [2/2]

template<typename ContainerT >
const ContainerT & pcl::octree::OctreeBranchNode< ContainerT >::getContainer ( ) const
inline

Get const reference to container.

Definition at line 332 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ getContainerPtr() [1/2]

template<typename ContainerT >
ContainerT * pcl::octree::OctreeBranchNode< ContainerT >::getContainerPtr ( )
inline

Get pointer to container.

Definition at line 353 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ getContainerPtr() [2/2]

template<typename ContainerT >
const ContainerT * pcl::octree::OctreeBranchNode< ContainerT >::getContainerPtr ( ) const
inline

Get const pointer to container.

Definition at line 346 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ getNodeType()

template<typename ContainerT >
node_type_t pcl::octree::OctreeBranchNode< ContainerT >::getNodeType ( ) const
inlineoverridevirtual

Check if branch can be pruned.

Note
if all children are leaf nodes AND contain identical containers, branch can be pruned
Returns
"true" if branch can be pruned; "false" otherwise

Get the type of octree node. Returns LEAVE_NODE type

Implements pcl::octree::OctreeNode.

Definition at line 289 of file octree_nodes.h.

References pcl::octree::BRANCH_NODE.

◆ hasChild()

template<typename ContainerT >
bool pcl::octree::OctreeBranchNode< ContainerT >::hasChild ( unsigned char child_idx_arg) const
inline

Check if branch is pointing to a particular child node.

Parameters
child_idx_argindex to child node
Returns
"true" if pointer to child node exists; "false" otherwise

Definition at line 258 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ operator*() [1/2]

Get reference to container.

Definition at line 325 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ operator*() [2/2]

template<typename ContainerT >
const ContainerT & pcl::octree::OctreeBranchNode< ContainerT >::operator* ( ) const
inline

Get const reference to container.

Definition at line 318 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ operator->() [1/2]

template<typename ContainerT >
ContainerT * pcl::octree::OctreeBranchNode< ContainerT >::operator-> ( )
inline

Get pointer to container.

Definition at line 311 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ operator->() [2/2]

template<typename ContainerT >
const ContainerT * pcl::octree::OctreeBranchNode< ContainerT >::operator-> ( ) const
inline

Get const pointer to container.

Definition at line 304 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::container_.

◆ operator=()

Copy operator.

Definition at line 200 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ operator[]()

template<typename ContainerT >
OctreeNode *& pcl::octree::OctreeBranchNode< ContainerT >::operator[] ( unsigned char child_idx_arg)
inline

Access operator.

Parameters
child_idx_argindex to child node
Returns
OctreeNode pointer

Definition at line 226 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

◆ reset()

◆ setChildPtr()

template<typename ContainerT >
void pcl::octree::OctreeBranchNode< ContainerT >::setChildPtr ( OctreeNode * child,
unsigned char index )
inline

Get pointer to child.

Returns
OctreeNode pointer

Definition at line 247 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_.

Member Data Documentation

◆ child_node_array_

template<typename ContainerT >
OctreeNode* pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_[8]
protected

◆ container_


The documentation for this class was generated from the following file: