Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Protected Types | Protected Attributes
pcl::octree::BufferedBranchNode< ContainerT > Class Template Reference

#include <pcl/octree/octree2buf_base.h>

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

Public Member Functions

 BufferedBranchNode ()
 Empty constructor. More...
 
 BufferedBranchNode (const BufferedBranchNode &source)
 Copy constructor. More...
 
BufferedBranchNodeoperator= (const BufferedBranchNode &source_arg)
 Copy operator. More...
 
 ~BufferedBranchNode () override=default
 Empty constructor. More...
 
BufferedBranchNodedeepCopy () const override
 Method to perform a deep copy of the octree. More...
 
OctreeNodegetChildPtr (unsigned char buffer_arg, unsigned char index_arg) const
 Get child pointer in current branch node. More...
 
void setChildPtr (unsigned char buffer_arg, unsigned char index_arg, OctreeNode *newNode_arg)
 Set child pointer in current branch node. More...
 
bool hasChild (unsigned char buffer_arg, unsigned char index_arg) const
 Check if branch is pointing to a particular child node. More...
 
node_type_t getNodeType () const override
 Get the type of octree node. More...
 
void reset ()
 Reset branch node container for every branch buffer. More...
 
const ContainerT * operator-> () const
 Get const pointer to container. More...
 
ContainerT * operator-> ()
 Get pointer to container. More...
 
const ContainerT & operator* () const
 Get const reference to container. More...
 
ContainerT & operator* ()
 Get reference to container. More...
 
const ContainerT & getContainer () const
 Get const reference to container. More...
 
ContainerT & getContainer ()
 Get reference to container. More...
 
const ContainerT * getContainerPtr () const
 Get const pointer to container. More...
 
ContainerT * getContainerPtr ()
 Get pointer to container. More...
 
- Public Member Functions inherited from pcl::octree::OctreeNode
 OctreeNode ()=default
 
virtual ~OctreeNode ()=default
 

Protected Types

template<typename T , std::size_t ROW, std::size_t COL>
using OctreeMatrix = std::array< std::array< T, COL >, ROW >
 

Protected Attributes

ContainerT container_
 
OctreeMatrix< OctreeNode *, 2, 8 > child_node_array_ {}
 

Detailed Description

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

Definition at line 54 of file octree2buf_base.h.

Member Typedef Documentation

◆ OctreeMatrix

template<typename ContainerT >
template<typename T , std::size_t ROW, std::size_t COL>
using pcl::octree::BufferedBranchNode< ContainerT >::OctreeMatrix = std::array<std::array<T, COL>, ROW>
protected

Definition at line 203 of file octree2buf_base.h.

Constructor & Destructor Documentation

◆ BufferedBranchNode() [1/2]

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

◆ BufferedBranchNode() [2/2]

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

Copy constructor.

Definition at line 61 of file octree2buf_base.h.

◆ ~BufferedBranchNode()

template<typename ContainerT >
pcl::octree::BufferedBranchNode< ContainerT >::~BufferedBranchNode ( )
overridedefault

Empty constructor.

Member Function Documentation

◆ deepCopy()

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

Method to perform a deep copy of the octree.

Implements pcl::octree::OctreeNode.

Definition at line 86 of file octree2buf_base.h.

References pcl::octree::BufferedBranchNode< ContainerT >::BufferedBranchNode().

◆ getChildPtr()

template<typename ContainerT >
OctreeNode* pcl::octree::BufferedBranchNode< ContainerT >::getChildPtr ( unsigned char  buffer_arg,
unsigned char  index_arg 
) const
inline

◆ getContainer() [1/2]

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

Get reference to container.

Definition at line 180 of file octree2buf_base.h.

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

◆ getContainer() [2/2]

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

Get const reference to container.

Definition at line 173 of file octree2buf_base.h.

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

◆ getContainerPtr() [1/2]

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

Get pointer to container.

Definition at line 194 of file octree2buf_base.h.

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

◆ getContainerPtr() [2/2]

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

Get const pointer to container.

Definition at line 187 of file octree2buf_base.h.

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

◆ getNodeType()

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

Get the type of octree node.

Returns LEAVE_NODE type

Implements pcl::octree::OctreeNode.

Definition at line 131 of file octree2buf_base.h.

References pcl::octree::BRANCH_NODE.

◆ hasChild()

template<typename ContainerT >
bool pcl::octree::BufferedBranchNode< ContainerT >::hasChild ( unsigned char  buffer_arg,
unsigned char  index_arg 
) const
inline

◆ operator*() [1/2]

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

Get reference to container.

Definition at line 166 of file octree2buf_base.h.

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

◆ operator*() [2/2]

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

Get const reference to container.

Definition at line 159 of file octree2buf_base.h.

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

◆ operator->() [1/2]

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

Get pointer to container.

Definition at line 152 of file octree2buf_base.h.

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

◆ operator->() [2/2]

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

Get const pointer to container.

Definition at line 145 of file octree2buf_base.h.

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

◆ operator=()

template<typename ContainerT >
BufferedBranchNode& pcl::octree::BufferedBranchNode< ContainerT >::operator= ( const BufferedBranchNode< ContainerT > &  source_arg)
inline

Copy operator.

Definition at line 68 of file octree2buf_base.h.

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

◆ reset()

template<typename ContainerT >
void pcl::octree::BufferedBranchNode< ContainerT >::reset ( )
inline

Reset branch node container for every branch buffer.

Definition at line 138 of file octree2buf_base.h.

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

Referenced by pcl::octree::BufferedBranchNode< ContainerT >::BufferedBranchNode().

◆ setChildPtr()

template<typename ContainerT >
void pcl::octree::BufferedBranchNode< ContainerT >::setChildPtr ( unsigned char  buffer_arg,
unsigned char  index_arg,
OctreeNode newNode_arg 
)
inline

Member Data Documentation

◆ child_node_array_

template<typename ContainerT >
OctreeMatrix<OctreeNode*, 2, 8> pcl::octree::BufferedBranchNode< ContainerT >::child_node_array_ {}
protected

◆ container_

template<typename ContainerT >
ContainerT pcl::octree::BufferedBranchNode< ContainerT >::container_
protected

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