Point Cloud Library (PCL)
1.10.1dev

Octree class. More...
#include <pcl/octree/octree_base.h>
Public Member Functions  
Iterator  begin (unsigned int max_depth_arg=0u) 
const Iterator  end () 
use  leaf_depth_begin () instead") LeafNodeIterator leaf_begin(unsigned int max_depth_arg = 0u) 
use  leaf_depth_end () instead") const LeafNodeIterator leaf_end() 
LeafNodeDepthFirstIterator  leaf_depth_begin (unsigned int max_depth_arg=0u) 
const LeafNodeDepthFirstIterator  leaf_depth_end () 
DepthFirstIterator  depth_begin (unsigned int max_depth_arg=0u) 
const DepthFirstIterator  depth_end () 
BreadthFirstIterator  breadth_begin (unsigned int max_depth_arg=0u) 
const BreadthFirstIterator  breadth_end () 
FixedDepthIterator  fixed_depth_begin (unsigned int fixed_depth_arg=0u) 
const FixedDepthIterator  fixed_depth_end () 
LeafNodeBreadthFirstIterator  leaf_breadth_begin (unsigned int max_depth_arg=0u) 
const LeafNodeBreadthFirstIterator  leaf_breadth_end () 
OctreeBase ()  
Empty constructor. More...  
virtual  ~OctreeBase () 
Empty deconstructor. More...  
OctreeBase (const OctreeBase &source)  
Copy constructor. More...  
OctreeBase &  operator= (const OctreeBase &source) 
Copy operator. More...  
void  setMaxVoxelIndex (unsigned int max_voxel_index_arg) 
Set the maximum amount of voxels per dimension. More...  
void  setTreeDepth (unsigned int max_depth_arg) 
Set the maximum depth of the octree. More...  
unsigned int  getTreeDepth () const 
Get the maximum depth of the octree. More...  
LeafContainerT *  createLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) 
Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...  
LeafContainerT *  findLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) 
Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...  
bool  existLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) const 
idx_x_arg for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...  
void  removeLeaf (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) 
Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...  
std::size_t  getLeafCount () const 
Return the amount of existing leafs in the octree. More...  
std::size_t  getBranchCount () const 
Return the amount of existing branch nodes in the octree. More...  
void  deleteTree () 
Delete the octree structure and its leaf nodes. More...  
void  serializeTree (std::vector< char > &binary_tree_out_arg) 
Serialize octree into a binary output vector describing its branch node structure. More...  
void  serializeTree (std::vector< char > &binary_tree_out_arg, std::vector< LeafContainerT *> &leaf_container_vector_arg) 
Serialize octree into a binary output vector describing its branch node structure and push all LeafContainerT elements stored in the octree to a vector. More...  
void  serializeLeafs (std::vector< LeafContainerT *> &leaf_container_vector_arg) 
Outputs a vector of all LeafContainerT elements that are stored within the octree leaf nodes. More...  
void  deserializeTree (std::vector< char > &binary_tree_input_arg) 
Deserialize a binary octree description vector and create a corresponding octree structure. More...  
void  deserializeTree (std::vector< char > &binary_tree_input_arg, std::vector< LeafContainerT *> &leaf_container_vector_arg) 
Deserialize a binary octree description and create a corresponding octree structure. More...  
Protected Member Functions  
LeafContainerT *  createLeaf (const OctreeKey &key_arg) 
Create a leaf node. More...  
LeafContainerT *  findLeaf (const OctreeKey &key_arg) const 
Find leaf node. More...  
bool  existLeaf (const OctreeKey &key_arg) const 
Check for existence of a leaf node in the octree. More...  
void  removeLeaf (const OctreeKey &key_arg) 
Remove leaf node from octree. More...  
OctreeNode *  getRootNode () const 
Retrieve root node. More...  
bool  branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const 
Check if branch is pointing to a particular child node. More...  
OctreeNode *  getBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const 
Retrieve a child node pointer for child node at child_idx. More...  
void  setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg) 
Assign new child node to branch. More...  
char  getBranchBitPattern (const BranchNode &branch_arg) const 
Generate bit pattern reflecting the existence of child node pointers. More...  
void  deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) 
Delete child node and all its subchilds from octree. More...  
void  deleteBranch (BranchNode &branch_arg) 
Delete branch and all its subchilds from octree. More...  
BranchNode *  createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) 
Create and add a new branch child to a branch class. More...  
LeafNode *  createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg) 
Create and add a new leaf child to a branch class. More...  
unsigned int  createLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg) 
Create a leaf node at octree key. More...  
void  findLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const 
Recursively search for a given leaf node and return a pointer. More...  
bool  deleteLeafRecursive (const OctreeKey &key_arg, unsigned int depth_mask_arg, BranchNode *branch_arg) 
Recursively search and delete leaf node. More...  
void  serializeTreeRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT *> *leaf_container_vector_arg) const 
Recursively explore the octree and output binary octree description together with a vector of leaf node LeafContainerTs. More...  
void  deserializeTreeRecursive (BranchNode *branch_arg, unsigned int depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_end_arg, typename std::vector< LeafContainerT *>::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT *>::const_iterator *leaf_container_vector_it_end_arg) 
Recursive method for deserializing octree structure. More...  
virtual void  serializeTreeCallback (LeafContainerT &, const OctreeKey &) const 
Callback executed for every leaf node during serialization. More...  
virtual void  deserializeTreeCallback (LeafContainerT &, const OctreeKey &) 
Callback executed for every leaf node during deserialization. More...  
use std::log2 instead double  Log2 (double n_arg) 
bool  octreeCanResize () 
Test if octree is able to dynamically change its depth. More...  
Protected Attributes  
std::size_t  leaf_count_ 
Amount of leaf nodes. More...  
std::size_t  branch_count_ 
Amount of branch nodes. More...  
BranchNode *  root_node_ 
Pointer to root branch node of octree. More...  
unsigned int  depth_mask_ 
Depth mask based on octree depth. More...  
unsigned int  octree_depth_ 
Octree depth. More...  
bool  dynamic_depth_enabled_ 
Enable dynamic_depth. More...  
OctreeKey  max_key_ 
key range More...  
Octree class.
Definition at line 61 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchContainer = BranchContainerT 
Definition at line 68 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchNode = OctreeBranchNode<BranchContainerT> 
Definition at line 65 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BreadthFirstIterator = OctreeBreadthFirstIterator<OctreeT> 
Definition at line 179 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstBreadthFirstIterator = const OctreeBreadthFirstIterator<OctreeT> 
Definition at line 180 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstDepthFirstIterator = const OctreeDepthFirstIterator<OctreeT> 
Definition at line 163 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstFixedDepthIterator = const OctreeFixedDepthIterator<OctreeT> 
Definition at line 197 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstIterator = const OctreeDepthFirstIterator<OctreeT> 
Definition at line 108 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeBreadthFirstIterator = const OctreeLeafNodeBreadthFirstIterator<OctreeT> 
Definition at line 214 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeDepthFirstIterator = const OctreeLeafNodeDepthFirstIterator<OctreeT> 
Definition at line 146 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeIterator = const OctreeLeafNodeDepthFirstIterator<OctreeT> 
Definition at line 127 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::DepthFirstIterator = OctreeDepthFirstIterator<OctreeT> 
Definition at line 162 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::FixedDepthIterator = OctreeFixedDepthIterator<OctreeT> 
Definition at line 196 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::Iterator = OctreeDepthFirstIterator<OctreeT> 
Definition at line 107 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafContainer = LeafContainerT 
Definition at line 69 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNode = OctreeLeafNode<LeafContainerT> 
Definition at line 66 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator<OctreeT> 
Definition at line 212 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator<OctreeT> 
Definition at line 144 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeIterator = OctreeLeafNodeDepthFirstIterator<OctreeT> 
Definition at line 126 of file octree_base.h.
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeT = OctreeBase<LeafContainerT, BranchContainerT> 
Definition at line 63 of file octree_base.h.
pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeBase  (  ) 
Empty constructor.
Definition at line 50 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::leaf_breadth_end().

virtual 
Empty deconstructor.
Definition at line 61 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::leaf_breadth_end().

inline 
Copy constructor.
Definition at line 236 of file octree_base.h.

inline 
Definition at line 111 of file octree_base.h.

inlineprotected 
Check if branch is pointing to a particular child node.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
Definition at line 463 of file octree_base.h.

inline 
Definition at line 183 of file octree_base.h.

inline 
Definition at line 190 of file octree_base.h.

inlineprotected 
Create and add a new branch child to a branch class.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
Definition at line 561 of file octree_base.h.
LeafContainerT * pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf  (  unsigned int  idx_x_arg, 
unsigned int  idx_y_arg,  
unsigned int  idx_z_arg  
) 
Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).
idx_x_arg  index of leaf node in the X axis. 
idx_y_arg  index of leaf node in the Y axis. 
idx_z_arg  index of leaf node in the Z axis. 
Definition at line 121 of file octree_base.hpp.
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointIdx(), pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getTreeDepth(), and pcl::octree::OctreePointCloudOccupancy< PointT, LeafContainerT, BranchContainerT >::setOccupiedVoxelAtPoint().

inlineprotected 
Create a leaf node.
key_arg  octree key addressing a leaf node. 
Definition at line 401 of file octree_base.h.

inlineprotected 
Create and add a new leaf child to a branch class.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
Definition at line 575 of file octree_base.h.

protected 
Create a leaf node at octree key.
If leaf node does already exist, it is returned.
key_arg  reference to an octree key 
depth_mask_arg  depth mask used for octree key analysis and for branch depth indicator 
branch_arg  current branch node 
return_leaf_arg  return pointer to leaf node 
parent_of_leaf_arg  return pointer to parent of leaf node 
Definition at line 287 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeaf(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeafChild().

inlineprotected 
Delete branch and all its subchilds from octree.
branch_arg  reference to octree branch class 
Definition at line 548 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::deleteBranchChild().

inlineprotected 
Delete child node and all its subchilds from octree.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
Definition at line 517 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::deleteBranch().

protected 
Recursively search and delete leaf node.
key_arg  reference to an octree key 
depth_mask_arg  depth mask used for octree key analysis and branch depth indicator 
branch_arg  current branch node 
Definition at line 385 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeafChild(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::removeLeaf().
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteTree  (  ) 
Delete the octree structure and its leaf nodes.
Definition at line 163 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getBranchCount().

inline 
Definition at line 166 of file octree_base.h.

inline 
Definition at line 173 of file octree_base.h.
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTree  (  std::vector< char > &  binary_tree_input_arg  ) 
Deserialize a binary octree description vector and create a corresponding octree structure.
Leaf nodes are initialized with getDataTByKey(..).
binary_tree_input_arg  reference to input vector for reading binary tree structure. 
Definition at line 230 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getBranchCount().
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTree  (  std::vector< char > &  binary_tree_input_arg, 
std::vector< LeafContainerT *> &  leaf_container_vector_arg  
) 
Deserialize a binary octree description and create a corresponding octree structure.
Leaf nodes are initialized with LeafContainerT elements from the dataVector.
binary_tree_input_arg  reference to input vector for reading binary tree structure. 
leaf_container_vector_arg  pointer to container vector. 
Definition at line 254 of file octree_base.hpp.

inlineprotectedvirtual 
Callback executed for every leaf node during deserialization.
Definition at line 683 of file octree_base.h.

protected 
Recursive method for deserializing octree structure.
branch_arg  current branch node 
depth_mask_arg  depth mask used for octree key analysis and branch depth indicator 
key_arg  reference to an octree key 
binary_tree_input_it_arg  iterator to binary input vector 
binary_tree_input_it_end_arg  end iterator of binary input vector 
leaf_container_vector_it_arg  iterator pointing to current LeafContainerT object to be added to a leaf node 
leaf_container_vector_it_end_arg  iterator pointing to last object in LeafContainerT input vector. 
Definition at line 494 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeafChild().

inline 
Definition at line 117 of file octree_base.h.
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::existLeaf  (  unsigned int  idx_x_arg, 
unsigned int  idx_y_arg,  
unsigned int  idx_z_arg  
)  const 
idx_x_arg for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).
idx_x_arg  index of leaf node in the X axis. 
idx_y_arg  index of leaf node in the Y axis. 
idx_z_arg  index of leaf node in the Z axis. 
Definition at line 135 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getTreeDepth().

inlineprotected 
Check for existence of a leaf node in the octree.
key_arg  octree key addressing a leaf node. 
Definition at line 431 of file octree_base.h.
LeafContainerT * pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf  (  unsigned int  idx_x_arg, 
unsigned int  idx_y_arg,  
unsigned int  idx_z_arg  
) 
Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).
idx_x_arg  index of leaf node in the X axis. 
idx_y_arg  index of leaf node in the Y axis. 
idx_z_arg  index of leaf node in the Z axis. 
Definition at line 107 of file octree_base.hpp.
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::computeNeighbors(), pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::existLeaf(), pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::getLeafContainerAtPoint(), pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getTreeDepth(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::testForOcclusion().

inlineprotected 
Find leaf node.
key_arg  octree key addressing a leaf node. 
Definition at line 419 of file octree_base.h.

protected 
Recursively search for a given leaf node and return a pointer.
key_arg  reference to an octree key 
depth_mask_arg  depth mask used for octree key analysis and for branch depth indicator 
branch_arg  current branch node 
result_arg  pointer to leaf node class 
Definition at line 347 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeafChild(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::findLeaf().

inline 
Definition at line 200 of file octree_base.h.

inline 
Definition at line 206 of file octree_base.h.

inlineprotected 
Generate bit pattern reflecting the existence of child node pointers.
branch_arg  reference to octree branch class 
Definition at line 498 of file octree_base.h.

inlineprotected 
Retrieve a child node pointer for child node at child_idx.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
Definition at line 475 of file octree_base.h.

inline 
Return the amount of existing branch nodes in the octree.
Definition at line 336 of file octree_base.h.

inline 
Return the amount of existing leafs in the octree.
Definition at line 327 of file octree_base.h.
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud().

inlineprotected 
Retrieve root node.
Definition at line 452 of file octree_base.h.

inline 
Get the maximum depth of the octree.
Definition at line 278 of file octree_base.h.

inline 
Definition at line 217 of file octree_base.h.

inline 
Definition at line 224 of file octree_base.h.

inlinepure virtual 

inline 
Definition at line 149 of file octree_base.h.

inline 

inline 
Definition at line 156 of file octree_base.h.

inlineprotected 
Definition at line 694 of file octree_base.h.

inlineprotected 
Test if octree is able to dynamically change its depth.
This is required for adaptive bounding box adjustment.
Definition at line 704 of file octree_base.h.

inline 
Copy operator.
Definition at line 248 of file octree_base.h.
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf  (  unsigned int  idx_x_arg, 
unsigned int  idx_y_arg,  
unsigned int  idx_z_arg  
) 
Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).
idx_x_arg  index of leaf node in the X axis. 
idx_y_arg  index of leaf node in the Y axis. 
idx_z_arg  index of leaf node in the Z axis. 
Definition at line 149 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getTreeDepth().

inlineprotected 
Remove leaf node from octree.
key_arg  octree key addressing a leaf node. 
Definition at line 440 of file octree_base.h.
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeLeafs  (  std::vector< LeafContainerT *> &  leaf_container_vector_arg  ) 
Outputs a vector of all LeafContainerT elements that are stored within the octree leaf nodes.
leaf_container_vector_arg  pointers to LeafContainerT vector that receives a copy of all LeafContainerT objects in the octree. 
Definition at line 214 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getBranchCount().
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTree  (  std::vector< char > &  binary_tree_out_arg  ) 
Serialize octree into a binary output vector describing its branch node structure.
binary_tree_out_arg  reference to output vector for writing binary tree structure. 
Definition at line 177 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getBranchCount().
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTree  (  std::vector< char > &  binary_tree_out_arg, 
std::vector< LeafContainerT *> &  leaf_container_vector_arg  
) 
Serialize octree into a binary output vector describing its branch node structure and push all LeafContainerT elements stored in the octree to a vector.
binary_tree_out_arg  reference to output vector for writing binary tree structure. 
leaf_container_vector_arg  pointer to all LeafContainerT objects in the octree 
Definition at line 193 of file octree_base.hpp.

inlineprotectedvirtual 
Callback executed for every leaf node during serialization.
Definition at line 677 of file octree_base.h.

protected 
Recursively explore the octree and output binary octree description together with a vector of leaf node LeafContainerTs.
branch_arg  current branch node 
key_arg  reference to an octree key 
binary_tree_out_arg  binary output vector 
leaf_container_vector_arg  writes LeafContainerT pointers to this LeafContainerT* vector. 
Definition at line 437 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::createLeafChild().

inlineprotected 
Assign new child node to branch.
branch_arg  reference to octree branch class 
child_idx_arg  index to child node 
new_child_arg  pointer to new child node 
Definition at line 486 of file octree_base.h.
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::setMaxVoxelIndex  (  unsigned int  max_voxel_index_arg  ) 
Set the maximum amount of voxels per dimension.
[in]  max_voxel_index_arg  maximum amount of voxels per dimension 
Definition at line 71 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::setTreeDepth  (  unsigned int  max_depth_arg  ) 
Set the maximum depth of the octree.
max_depth_arg  maximum depth of octree 
Definition at line 90 of file octree_base.hpp.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

friend 
Definition at line 101 of file octree_base.h.

friend 
Definition at line 100 of file octree_base.h.

friend 
Definition at line 102 of file octree_base.h.

friend 
Definition at line 99 of file octree_base.h.

friend 
Definition at line 104 of file octree_base.h.

friend 
Definition at line 103 of file octree_base.h.

protected 
Amount of branch nodes.
Definition at line 80 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getBranchCount(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

protected 
Depth mask based on octree depth.
Definition at line 86 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

protected 
Enable dynamic_depth.
Definition at line 92 of file octree_base.h.

protected 
Amount of leaf nodes.
Definition at line 77 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getLeafCount(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

protected 
key range
Definition at line 95 of file octree_base.h.
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::computeNeighbors(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

protected 
Octree depth.
Definition at line 89 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getTreeDepth(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().

protected 
Pointer to root branch node of octree.
Definition at line 83 of file octree_base.h.
Referenced by pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::getRootNode(), and pcl::octree::OctreeBase< pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerEmpty >::operator=().