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 >:

## Public Member Functions

| OctreeBranchNode ()
| Empty constructor. More...
| OctreeBranchNode (const OctreeBranchNode &source)
| Empty constructor. More...
OctreeBranchNode & | operator= (const OctreeBranchNode &source)
| Copy operator. More...
virtual OctreeBranchNode * | deepCopy () const
| Octree deep copy method. More...
virtual | ~OctreeBranchNode ()
| Empty deconstructor. More...
OctreeNode *& | operator[] (unsigned char child_idx_arg)
| Access operator. More...
OctreeNode * | getChildPtr (unsigned char child_idx_arg) const
| Get pointer to child. More...
void | setChildPtr (OctreeNode *child, unsigned char index)
| Get pointer to child. More...
bool | hasChild (unsigned char child_idx_arg) const
| Check if branch is pointing to a particular child node. More...
virtual node_type_t | getNodeType () const
| Check if branch can be pruned. More...
void | reset ()
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 ()
virtual | ~OctreeNode ()

## Protected Attributes

OctreeNode * | child_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 204 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 209 of file octree_nodes.h.

## OctreeBranchNode() [2/2]

template<typename ContainerT >

pcl::octree::OctreeBranchNode< ContainerT >::OctreeBranchNode | ( | const OctreeBranchNode< ContainerT > & | source | ) |

inline

Empty constructor.

Definition at line 217 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_, and pcl::octree::OctreeNode::deepCopy().

## ~OctreeBranchNode()

template<typename ContainerT >

virtual pcl::octree::OctreeBranchNode< ContainerT >::~OctreeBranchNode | ( |  | ) |

inline virtual

Empty deconstructor.

Definition at line 252 of file octree_nodes.h.

## Member Function Documentation

## deepCopy()

template<typename ContainerT >

virtual OctreeBranchNode* pcl::octree::OctreeBranchNode< ContainerT >::deepCopy | ( |  | ) | const

inline virtual

Octree deep copy method.

Implements pcl::octree::OctreeNode.

Definition at line 245 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_arg | index to child node

Returns
  OctreeNode pointer

Definition at line 272 of file octree_nodes.h.

Referenced by pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branchHasChild(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchBitPattern(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchChildPtr(), pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidsRecursive(), and pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTreeRecursive().

## getContainer() [1/2]

template<typename ContainerT >

const ContainerT& pcl::octree::OctreeBranchNode< ContainerT >::getContainer | ( |  | ) | const

inline

Get const reference to container.

Definition at line 366 of file octree_nodes.h.

## getContainer() [2/2]

template<typename ContainerT >

ContainerT& pcl::octree::OctreeBranchNode< ContainerT >::getContainer | ( |  | ) |

inline

Get reference to container.

Definition at line 373 of file octree_nodes.h.

## getContainerPtr() [1/2]

template<typename ContainerT >

const ContainerT* pcl::octree::OctreeBranchNode< ContainerT >::getContainerPtr | ( |  | ) | const

inline

Get const pointer to container.

Definition at line 380 of file octree_nodes.h.

## getContainerPtr() [2/2]

template<typename ContainerT >

ContainerT* pcl::octree::OctreeBranchNode< ContainerT >::getContainerPtr | ( |  | ) |

inline

Get pointer to container.

Definition at line 387 of file octree_nodes.h.

## getNodeType()

template<typename ContainerT >

virtual node_type_t pcl::octree::OctreeBranchNode< ContainerT >::getNodeType | ( |  | ) | const

inline virtual

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" otherwiseGet the type of octree node. Returns LEAVE_NODE type

Implements pcl::octree::OctreeNode.

Definition at line 323 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_arg | index to child node

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

Definition at line 292 of file octree_nodes.h.

Referenced by pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteLeafRecursive(), pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidsRecursive(), and pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTreeRecursive().

## operator*() [1/2]

template<typename ContainerT >

const ContainerT& pcl::octree::OctreeBranchNode< ContainerT >::operator* | ( |  | ) | const

inline

Get const reference to container.

Definition at line 352 of file octree_nodes.h.

## operator*() [2/2]

template<typename ContainerT >

ContainerT& pcl::octree::OctreeBranchNode< ContainerT >::operator* | ( |  | ) |

inline

Get reference to container.

Definition at line 359 of file octree_nodes.h.

## operator->() [1/2]

template<typename ContainerT >

const ContainerT* pcl::octree::OctreeBranchNode< ContainerT >::operator-> | ( |  | ) | const

inline

Get const pointer to container.

Definition at line 338 of file octree_nodes.h.

## operator->() [2/2]

template<typename ContainerT >

ContainerT* pcl::octree::OctreeBranchNode< ContainerT >::operator-> | ( |  | ) |

inline

Get pointer to container.

Definition at line 345 of file octree_nodes.h.

## operator=()

template<typename ContainerT >

OctreeBranchNode& pcl::octree::OctreeBranchNode< ContainerT >::operator= | ( | const OctreeBranchNode< ContainerT > & | source | ) |

inline

Copy operator.

Definition at line 231 of file octree_nodes.h.

References pcl::octree::OctreeBranchNode< ContainerT >::child_node_array_, and pcl::octree::OctreeNode::deepCopy().

## operator[]()

template<typename ContainerT >

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

inline

Access operator.

Parameters

  child_idx_arg | index to child node

Returns
  OctreeNode pointer

Definition at line 261 of file octree_nodes.h.

## reset()

template<typename ContainerT >

void pcl::octree::OctreeBranchNode< ContainerT >::reset | ( |  | ) |

inline

Definition at line 329 of file octree_nodes.h.

## 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 281 of file octree_nodes.h.

## Member Data Documentation

## child_node_array_

template<typename ContainerT >

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

protected

Definition at line 393 of file octree_nodes.h.

Referenced by pcl::octree::OctreeBranchNode< ContainerT >::OctreeBranchNode(), and pcl::octree::OctreeBranchNode< ContainerT >::operator=().

## container_

template<typename ContainerT >

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

protected

Definition at line 395 of file octree_nodes.h.

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

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/octree/include/pcl/octree/octree_nodes.h