Point Cloud Library (PCL)
1.9.1dev

Octree pointcloud class More...
#include <pcl/octree/octree_pointcloud.h>
Public Types  
using  Base = OctreeT 
using  LeafNode = typename OctreeT::LeafNode 
using  BranchNode = typename OctreeT::BranchNode 
using  IndicesPtr = boost::shared_ptr< std::vector< int > > 
using  IndicesConstPtr = boost::shared_ptr< const std::vector< int > > 
using  PointCloud = pcl::PointCloud< PointT > 
using  PointCloudPtr = boost::shared_ptr< PointCloud > 
using  PointCloudConstPtr = boost::shared_ptr< const PointCloud > 
using  SingleBuffer = OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT > > 
using  Ptr = boost::shared_ptr< OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > 
using  ConstPtr = boost::shared_ptr< const OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > > 
using  AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > > 
using  AlignedPointXYZVector = std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > > 
Public Member Functions  
OctreePointCloud (const double resolution_arg)  
Octree pointcloud constructor. More...  
~OctreePointCloud ()  
Empty deconstructor. More...  
void  setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr()) 
Provide a pointer to the input data set. More...  
IndicesConstPtr const  getIndices () const 
Get a pointer to the vector of indices used. More...  
PointCloudConstPtr  getInputCloud () const 
Get a pointer to the input point cloud dataset. More...  
void  setEpsilon (double eps) 
Set the search epsilon precision (error bound) for nearest neighbors searches. More...  
double  getEpsilon () const 
Get the search epsilon precision (error bound) for nearest neighbors searches. More...  
void  setResolution (double resolution_arg) 
Set/change the octree voxel resolution. More...  
double  getResolution () const 
Get octree voxel resolution. More...  
unsigned int  getTreeDepth () const 
Get the maximum depth of the octree. More...  
void  addPointsFromInputCloud () 
Add points from input point cloud to octree. More...  
void  addPointFromCloud (const int point_idx_arg, IndicesPtr indices_arg) 
Add point at given index from input point cloud to octree. More...  
void  addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg) 
Add point simultaneously to octree and input point cloud. More...  
void  addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg) 
Add point simultaneously to octree and input point cloud. More...  
bool  isVoxelOccupiedAtPoint (const PointT &point_arg) const 
Check if voxel at given point exist. More...  
void  deleteTree () 
Delete the octree structure and its leaf nodes. More...  
bool  isVoxelOccupiedAtPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg) const 
Check if voxel at given point coordinates exist. More...  
bool  isVoxelOccupiedAtPoint (const int &point_idx_arg) const 
Check if voxel at given point from input cloud exist. More...  
int  getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const 
Get a PointT vector of centers of all occupied voxels. More...  
int  getApproxIntersectedVoxelCentersBySegment (const Eigen::Vector3f &origin, const Eigen::Vector3f &end, AlignedPointTVector &voxel_center_list, float precision=0.2) 
Get a PointT vector of centers of voxels intersected by a line segment. More...  
void  deleteVoxelAtPoint (const PointT &point_arg) 
Delete leaf node / voxel at given point. More...  
void  deleteVoxelAtPoint (const int &point_idx_arg) 
Delete leaf node / voxel at given point from input cloud. More...  
void  defineBoundingBox () 
Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. More...  
void  defineBoundingBox (const double min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg) 
Define bounding box for octree. More...  
void  defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg) 
Define bounding box for octree. More...  
void  defineBoundingBox (const double cubeLen_arg) 
Define bounding box cube for octree. More...  
void  getBoundingBox (double &min_x_arg, double &min_y_arg, double &min_z_arg, double &max_x_arg, double &max_y_arg, double &max_z_arg) const 
Get bounding box for octree. More...  
double  getVoxelSquaredDiameter (unsigned int tree_depth_arg) const 
Calculates the squared diameter of a voxel at given tree depth. More...  
double  getVoxelSquaredDiameter () const 
Calculates the squared diameter of a voxel at leaf depth. More...  
double  getVoxelSquaredSideLen (unsigned int tree_depth_arg) const 
Calculates the squared voxel cube side length at given tree depth. More...  
double  getVoxelSquaredSideLen () const 
Calculates the squared voxel cube side length at leaf level. More...  
void  getVoxelBounds (const OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const 
Generate bounds of the current voxel of an octree iterator. More...  
void  enableDynamicDepth (std::size_t maxObjsPerLeaf) 
Enable dynamic octree structure. More...  
Protected Member Functions  
virtual void  addPointIdx (const int point_idx_arg) 
Add point at index from input pointcloud dataset to octree. More...  
void  expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, unsigned int depth_mask) 
Add point at index from input pointcloud dataset to octree. More...  
const PointT &  getPointByIndex (const unsigned int index_arg) const 
Get point at index from input pointcloud dataset. More...  
LeafContainerT *  findLeafAtPoint (const PointT &point_arg) const 
Find octree leaf node at a given point. More...  
void  getKeyBitSize () 
Define octree key setting and octree depth based on defined bounding box. More...  
void  adoptBoundingBoxToPoint (const PointT &point_idx_arg) 
Grow the bounding box/octree until point fits. More...  
bool  isPointWithinBoundingBox (const PointT &point_idx_arg) const 
Checks if given point is within the bounding box of the octree. More...  
void  genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const 
Generate octree key for voxel at a given point. More...  
void  genOctreeKeyforPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg, OctreeKey &key_arg) const 
Generate octree key for voxel at a given point. More...  
virtual bool  genOctreeKeyForDataT (const int &data_arg, OctreeKey &key_arg) const 
Virtual method for generating octree key for a given point index. More...  
void  genLeafNodeCenterFromOctreeKey (const OctreeKey &key_arg, PointT &point_arg) const 
Generate a point at center of leaf node voxel. More...  
void  genVoxelCenterFromOctreeKey (const OctreeKey &key_arg, unsigned int tree_depth_arg, PointT &point_arg) const 
Generate a point at center of octree voxel at given tree level. More...  
void  genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, unsigned int tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const 
Generate bounds of an octree voxel using octree key and tree depth arguments. More...  
int  getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const 
Recursively search the tree for all leaf nodes and return a vector of voxel centers. More...  
Protected Attributes  
PointCloudConstPtr  input_ 
Pointer to input point cloud dataset. More...  
IndicesConstPtr  indices_ 
A pointer to the vector of point indices to use. More...  
double  epsilon_ 
Epsilon precision (error bound) for nearest neighbors searches. More...  
double  resolution_ 
Octree resolution. More...  
double  min_x_ 
double  max_x_ 
double  min_y_ 
double  max_y_ 
double  min_z_ 
double  max_z_ 
bool  bounding_box_defined_ 
Flag indicating if octree has defined bounding box. More...  
std::size_t  max_objs_per_leaf_ 
Amount of DataT objects per leafNode before expanding branch. More...  
Octree pointcloud class
Definition at line 72 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointTVector = std::vector<PointT, Eigen::aligned_allocator<PointT> > 
Definition at line 106 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointXYZVector = std::vector<PointXYZ, Eigen::aligned_allocator<PointXYZ> > 
Definition at line 107 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Base = OctreeT 
Definition at line 75 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BranchNode = typename OctreeT::BranchNode 
Definition at line 78 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstPtr = boost::shared_ptr<const OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> > 
Definition at line 103 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesConstPtr = boost::shared_ptr<const std::vector<int> > 
Definition at line 91 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesPtr = boost::shared_ptr<std::vector<int> > 
Definition at line 90 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNode = typename OctreeT::LeafNode 
Definition at line 77 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloud = pcl::PointCloud<PointT> 
Definition at line 93 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudConstPtr = boost::shared_ptr<const PointCloud> 
Definition at line 95 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudPtr = boost::shared_ptr<PointCloud> 
Definition at line 94 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Ptr = boost::shared_ptr<OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> > 
Definition at line 102 of file octree_pointcloud.h.
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::SingleBuffer = OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeBase<LeafContainerT> > 
Definition at line 98 of file octree_pointcloud.h.
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::OctreePointCloud  (  const double  resolution_arg  ) 
Octree pointcloud constructor.
[in]  resolution_arg  octree resolution at lowest octree level 
Definition at line 49 of file octree_pointcloud.hpp.
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::~OctreePointCloud  (  ) 
Empty deconstructor.
Definition at line 59 of file octree_pointcloud.hpp.
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointFromCloud  (  const int  point_idx_arg, 
IndicesPtr  indices_arg  
) 
Add point at given index from input point cloud to octree.
Index will be also added to indices vector.
[in]  point_idx_arg  index of point to be added 
[in]  indices_arg  pointer to indices vector of the dataset (given by setInputCloud) 
Definition at line 95 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getTreeDepth(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protectedvirtual 
Add point at index from input pointcloud dataset to octree.
[in]  point_idx_arg  the index representing the point in the dataset given by setInputCloud to be added 
Reimplemented in pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >, pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >, and pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >.
Definition at line 563 of file octree_pointcloud.hpp.
Referenced by pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::addPointIdx(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::enableDynamicDepth().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointsFromInputCloud  (  ) 
Add points from input point cloud to octree.
Definition at line 65 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getTreeDepth().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointToCloud  (  const PointT &  point_arg, 
PointCloudPtr  cloud_arg  
) 
Add point simultaneously to octree and input point cloud.
[in]  point_arg  point to be added 
[in]  cloud_arg  pointer to input point cloud dataset (given by setInputCloud) 
Definition at line 104 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getTreeDepth(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointToCloud  (  const PointT &  point_arg, 
PointCloudPtr  cloud_arg,  
IndicesPtr  indices_arg  
) 
Add point simultaneously to octree and input point cloud.
A corresponding index will be added to the indices vector.
[in]  point_arg  point to be added 
[in]  cloud_arg  pointer to input point cloud dataset (given by setInputCloud) 
[in]  indices_arg  pointer to indices vector of the dataset (given by setInputCloud) 
Definition at line 115 of file octree_pointcloud.hpp.

protected 
Grow the bounding box/octree until point fits.
[in]  point_idx_arg  point that should be within bounding box; 
Definition at line 427 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::findLeafAtPoint().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox  (  ) 
Investigate dimensions of pointcloud data set and define corresponding bounding box for octree.
Definition at line 275 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox  (  const double  min_x_arg, 
const double  min_y_arg,  
const double  min_z_arg,  
const double  max_x_arg,  
const double  max_y_arg,  
const double  max_z_arg  
) 
Define bounding box for octree.
[in]  min_x_arg  X coordinate of lower bounding box corner 
[in]  min_y_arg  Y coordinate of lower bounding box corner 
[in]  min_z_arg  Z coordinate of lower bounding box corner 
[in]  max_x_arg  X coordinate of upper bounding box corner 
[in]  max_y_arg  Y coordinate of upper bounding box corner 
[in]  max_z_arg  Z coordinate of upper bounding box corner 
Definition at line 304 of file octree_pointcloud.hpp.
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox  (  const double  max_x_arg, 
const double  max_y_arg,  
const double  max_z_arg  
) 
Define bounding box for octree.
[in]  max_x_arg  X coordinate of upper bounding box corner 
[in]  max_y_arg  Y coordinate of upper bounding box corner 
[in]  max_z_arg  Z coordinate of upper bounding box corner 
Definition at line 343 of file octree_pointcloud.hpp.
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox  (  const double  cubeLen_arg  ) 
Define bounding box cube for octree.
[in]  cubeLen_arg  side length of bounding box cube. 
Definition at line 378 of file octree_pointcloud.hpp.

inline 
Delete the octree structure and its leaf nodes.
Definition at line 214 of file octree_pointcloud.h.
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint  (  const PointT &  point_arg  ) 
Delete leaf node / voxel at given point.
[in]  point_arg  point addressing the voxel to be deleted. 
Definition at line 172 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint  (  const int &  point_idx_arg  ) 
Delete leaf node / voxel at given point from input cloud.
[in]  point_idx_arg  index of point addressing the voxel to be deleted. 
Definition at line 189 of file octree_pointcloud.hpp.

inline 
Enable dynamic octree structure.
maxObjsPerLeaf  maximum number of DataT objects per leaf 
Definition at line 373 of file octree_pointcloud.h.

protected 
Add point at index from input pointcloud dataset to octree.
[in]  leaf_node  to be expanded 
[in]  parent_branch  parent of leaf node to be expanded 
[in]  child_idx  child index of leaf node (in parent branch) 
[in]  depth_mask  of leaf node to be expanded 
Definition at line 517 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::enableDynamicDepth().

inlineprotected 
Find octree leaf node at a given point.
[in]  point_arg  query point 
Definition at line 411 of file octree_pointcloud.h.

protected 
Generate a point at center of leaf node voxel.
[in]  key_arg  octree key addressing a leaf node. 
[out]  point_arg  write leaf node voxel center to this point reference 
Definition at line 730 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

protectedvirtual 
Virtual method for generating octree key for a given point index.
[in]  data_arg  index value representing a point in the dataset given by setInputCloud 
[out]  key_arg  write octree key to this reference 
Definition at line 718 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

protected 
Generate octree key for voxel at a given point.
[in]  point_arg  the point addressing a voxel 
[out]  key_arg  write octree key to this reference 
Definition at line 687 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::findLeafAtPoint(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

protected 
Generate octree key for voxel at a given point.
[in]  point_x_arg  X coordinate of point addressing a voxel 
[in]  point_y_arg  Y coordinate of point addressing a voxel 
[in]  point_z_arg  Z coordinate of point addressing a voxel 
[out]  key_arg  write octree key to this reference 
Definition at line 702 of file octree_pointcloud.hpp.

protected 
Generate bounds of an octree voxel using octree key and tree depth arguments.
[in]  key_arg  octree key addressing an octree node. 
[in]  tree_depth_arg  octree depth of query voxel 
[out]  min_pt  lower bound of voxel 
[out]  max_pt  upper bound of voxel 
Definition at line 753 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelBounds(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

protected 
Generate a point at center of octree voxel at given tree level.
[in]  key_arg  octree key addressing an octree node. 
[in]  tree_depth_arg  octree depth of query voxel 
[out]  point_arg  write leaf node center point to this reference 
Definition at line 740 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().
int pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getApproxIntersectedVoxelCentersBySegment  (  const Eigen::Vector3f &  origin, 
const Eigen::Vector3f &  end,  
AlignedPointTVector &  voxel_center_list,  
float  precision = 0.2 

) 
Get a PointT vector of centers of voxels intersected by a line segment.
This returns a approximation of the actual intersected voxels by walking along the line with small steps. Voxels are ordered, from closest to furthest w.r.t. the origin.
[in]  origin  origin of the line segment 
[in]  end  end of the line segment 
[out]  voxel_center_list  results are written to this vector of PointT elements 
[in]  precision  determines the size of the steps: step_size = octree_resolution x precision 
Definition at line 214 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getBoundingBox  (  double &  min_x_arg, 
double &  min_y_arg,  
double &  min_z_arg,  
double &  max_x_arg,  
double &  max_y_arg,  
double &  max_z_arg  
)  const 
Get bounding box for octree.
[in]  min_x_arg  X coordinate of lower bounding box corner 
[in]  min_y_arg  Y coordinate of lower bounding box corner 
[in]  min_z_arg  Z coordinate of lower bounding box corner 
[in]  max_x_arg  X coordinate of upper bounding box corner 
[in]  max_y_arg  Y coordinate of upper bounding box corner 
[in]  max_z_arg  Z coordinate of upper bounding box corner 
Definition at line 410 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().

inline 
Get the search epsilon precision (error bound) for nearest neighbors searches.
Definition at line 145 of file octree_pointcloud.h.

inline 
Get a pointer to the vector of indices used.
Definition at line 123 of file octree_pointcloud.h.

inline 
Get a pointer to the input point cloud dataset.
Definition at line 131 of file octree_pointcloud.h.

protected 
Define octree key setting and octree depth based on defined bounding box.
Definition at line 616 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::findLeafAtPoint(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setResolution().
int pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getOccupiedVoxelCenters  (  AlignedPointTVector &  voxel_center_list_arg  )  const 
Get a PointT vector of centers of all occupied voxels.
[out]  voxel_center_list_arg  results are written to this vector of PointT elements 
Definition at line 200 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().

protected 
Recursively search the tree for all leaf nodes and return a vector of voxel centers.
[in]  node_arg  current octree node to be explored 
[in]  key_arg  octree key addressing a leaf node. 
[out]  voxel_center_list_arg  results are written to this vector of PointT elements 
Definition at line 797 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

protected 
Get point at index from input pointcloud dataset.
[in]  index_arg  index representing the point in the dataset given by setInputCloud 
Definition at line 607 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::enableDynamicDepth().

inline 
Get octree voxel resolution.
Definition at line 166 of file octree_pointcloud.h.

inline 
Get the maximum depth of the octree.
Definition at line 174 of file octree_pointcloud.h.

inline 
Generate bounds of the current voxel of an octree iterator.
[in]  iterator  octree iterator 
[out]  min_pt  lower bound of voxel 
[out]  max_pt  upper bound of voxel 
Definition at line 362 of file octree_pointcloud.h.
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredDiameter  (  unsigned int  tree_depth_arg  )  const 
Calculates the squared diameter of a voxel at given tree depth.
[in]  tree_depth_arg  depth/level in octree 
Definition at line 789 of file octree_pointcloud.hpp.

inline 
Calculates the squared diameter of a voxel at leaf depth.
Definition at line 336 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredDiameter().
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredSideLen  (  unsigned int  tree_depth_arg  )  const 
Calculates the squared voxel cube side length at given tree depth.
[in]  tree_depth_arg  depth/level in octree 
Definition at line 774 of file octree_pointcloud.hpp.

inline 
Calculates the squared voxel cube side length at leaf level.
Definition at line 351 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredDiameter(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredSideLen().

inlineprotected 
Checks if given point is within the bounding box of the octree.
[in]  point_idx_arg  point to be checked for bounding box violations 
Definition at line 439 of file octree_pointcloud.h.
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint  (  const PointT &  point_arg  )  const 
Check if voxel at given point exist.
[in]  point_arg  point to be checked 
Definition at line 128 of file octree_pointcloud.hpp.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getTreeDepth().
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint  (  const double  point_x_arg, 
const double  point_y_arg,  
const double  point_z_arg  
)  const 
Check if voxel at given point coordinates exist.
[in]  point_x_arg  X coordinate of point to be checked 
[in]  point_y_arg  Y coordinate of point to be checked 
[in]  point_z_arg  Z coordinate of point to be checked 
Definition at line 157 of file octree_pointcloud.hpp.
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint  (  const int &  point_idx_arg  )  const 
Check if voxel at given point from input cloud exist.
[in]  point_idx_arg  point to be checked 
Definition at line 146 of file octree_pointcloud.hpp.

inline 
Set the search epsilon precision (error bound) for nearest neighbors searches.
[in]  eps  precision (error bound) for nearest neighbors searches 
Definition at line 139 of file octree_pointcloud.h.

inline 
Provide a pointer to the input data set.
[in]  cloud_arg  the const boost shared pointer to a PointCloud message 
[in]  indices_arg  the point indices subset that is to be used from cloud  if 0 the whole point cloud is used 
Definition at line 113 of file octree_pointcloud.h.

inline 
Set/change the octree voxel resolution.
[in]  resolution_arg  side length of voxels at lowest tree level 
Definition at line 153 of file octree_pointcloud.h.

protected 
Flag indicating if octree has defined bounding box.
Definition at line 538 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree().

protected 
Epsilon precision (error bound) for nearest neighbors searches.
Definition at line 522 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getEpsilon(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setEpsilon().

protected 
A pointer to the vector of point indices to use.
Definition at line 519 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getIndices(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setInputCloud().

protected 
Pointer to input point cloud dataset.
Definition at line 516 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getInputCloud(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setInputCloud(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Amount of DataT objects per leafNode before expanding branch.
Definition at line 543 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::enableDynamicDepth().

protected 

protected 
Definition at line 532 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Definition at line 535 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Definition at line 528 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Definition at line 531 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Definition at line 534 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().

protected 
Octree resolution.
Definition at line 525 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getResolution(), pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setResolution(), and pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::setTransformFunction().