Point Cloud Library (PCL)  1.7.0
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 >:

List of all members.

Public Member Functions

 OctreeBranchNode ()
 Empty constructor.
 OctreeBranchNode (const OctreeBranchNode &source)
 Empty constructor.
OctreeBranchNodeoperator= (const OctreeBranchNode &source)
 Copy operator.
virtual OctreeBranchNodedeepCopy () const
 Octree deep copy method.
virtual ~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.
virtual node_type_t getNodeType () const
 Check if branch can be pruned.
void reset ()
const ContainerT * operator-> () const
 Get const pointer to container.
ContainerT * operator-> ()
 Get pointer to container.
const ContainerT & operator* () const
 Get const reference to container.
ContainerT & operator* ()
 Get reference to container.
const ContainerT & getContainer () const
 Get const reference to container.
ContainerT & getContainer ()
 Get reference to container.
const ContainerT * getContainerPtr () const
 Get const pointer to container.
ContainerT * getContainerPtr ()
 Get pointer to container.

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 (julius@kammerl.de)

Definition at line 201 of file octree_nodes.h.


Constructor & Destructor Documentation

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

Empty constructor.

Definition at line 206 of file octree_nodes.h.

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

template<typename ContainerT >
pcl::octree::OctreeBranchNode< ContainerT >::OctreeBranchNode ( const OctreeBranchNode< ContainerT > &  source) [inline]
template<typename ContainerT >
virtual pcl::octree::OctreeBranchNode< ContainerT >::~OctreeBranchNode ( ) [inline, virtual]

Empty deconstructor.

Definition at line 249 of file octree_nodes.h.


Member Function Documentation

template<typename ContainerT >
virtual OctreeBranchNode* pcl::octree::OctreeBranchNode< ContainerT >::deepCopy ( ) const [inline, virtual]

Octree deep copy method.

Implements pcl::octree::OctreeNode.

Definition at line 242 of file octree_nodes.h.

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

Get const reference to container.

Definition at line 363 of file octree_nodes.h.

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

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

Get reference to container.

Definition at line 370 of file octree_nodes.h.

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

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

Get const pointer to container.

Definition at line 377 of file octree_nodes.h.

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

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

Get pointer to container.

Definition at line 384 of file octree_nodes.h.

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

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

References pcl::octree::BRANCH_NODE.

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

Get const reference to container.

Definition at line 349 of file octree_nodes.h.

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

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

Get reference to container.

Definition at line 356 of file octree_nodes.h.

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

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

Get const pointer to container.

Definition at line 335 of file octree_nodes.h.

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

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

Get pointer to container.

Definition at line 342 of file octree_nodes.h.

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

template<typename ContainerT >
OctreeBranchNode& pcl::octree::OctreeBranchNode< ContainerT >::operator= ( const OctreeBranchNode< ContainerT > &  source) [inline]
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 258 of file octree_nodes.h.

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

template<typename ContainerT >
void pcl::octree::OctreeBranchNode< ContainerT >::reset ( ) [inline]
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 278 of file octree_nodes.h.

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


Member Data Documentation

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

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