Point Cloud Library (PCL)
1.8.1dev

Octree pointcloud class More...
#include <pcl/octree/octree_pointcloud.h>
Public Types  
typedef OctreeT  Base 
typedef OctreeT::LeafNode  LeafNode 
typedef OctreeT::BranchNode  BranchNode 
typedef OctreeDepthFirstIterator < OctreeT >  Iterator 
typedef const OctreeDepthFirstIterator < OctreeT >  ConstIterator 
typedef OctreeLeafNodeIterator < OctreeT >  LeafNodeIterator 
typedef const OctreeLeafNodeIterator < OctreeT >  ConstLeafNodeIterator 
typedef OctreeDepthFirstIterator < OctreeT >  DepthFirstIterator 
typedef const OctreeDepthFirstIterator < OctreeT >  ConstDepthFirstIterator 
typedef OctreeBreadthFirstIterator < OctreeT >  BreadthFirstIterator 
typedef const OctreeBreadthFirstIterator < OctreeT >  ConstBreadthFirstIterator 
typedef boost::shared_ptr < std::vector< int > >  IndicesPtr 
typedef boost::shared_ptr < const std::vector< int > >  IndicesConstPtr 
typedef pcl::PointCloud< PointT >  PointCloud 
typedef boost::shared_ptr < PointCloud >  PointCloudPtr 
typedef boost::shared_ptr < const PointCloud >  PointCloudConstPtr 
typedef OctreePointCloud < PointT, LeafContainerT, BranchContainerT, OctreeBase < LeafContainerT > >  SingleBuffer 
typedef boost::shared_ptr < OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > >  Ptr 
typedef boost::shared_ptr < const OctreePointCloud < PointT, LeafContainerT, BranchContainerT, OctreeT > >  ConstPtr 
typedef std::vector< PointT, Eigen::aligned_allocator < PointT > >  AlignedPointTVector 
typedef std::vector< PointXYZ, Eigen::aligned_allocator < PointXYZ > >  AlignedPointXYZVector 
Public Member Functions  
OctreePointCloud (const double resolution_arg)  
Octree pointcloud constructor. More...  
virtual  ~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 (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...  
Friends  
class  OctreeIteratorBase< OctreeT > 
class  OctreeDepthFirstIterator< OctreeT > 
class  OctreeBreadthFirstIterator< OctreeT > 
class  OctreeLeafNodeIterator< OctreeT > 
Octree pointcloud class
Definition at line 73 of file octree_pointcloud.h.
typedef std::vector<PointT, Eigen::aligned_allocator<PointT> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointTVector 
Definition at line 129 of file octree_pointcloud.h.
typedef std::vector<PointXYZ, Eigen::aligned_allocator<PointXYZ> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointXYZVector 
Definition at line 130 of file octree_pointcloud.h.
typedef OctreeT pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Base 
Definition at line 82 of file octree_pointcloud.h.
typedef OctreeT::BranchNode pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BranchNode 
Definition at line 85 of file octree_pointcloud.h.
typedef OctreeBreadthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BreadthFirstIterator 
Definition at line 100 of file octree_pointcloud.h.
typedef const OctreeBreadthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstBreadthFirstIterator 
Definition at line 101 of file octree_pointcloud.h.
typedef const OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstDepthFirstIterator 
Definition at line 97 of file octree_pointcloud.h.
typedef const OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstIterator 
Definition at line 89 of file octree_pointcloud.h.
typedef const OctreeLeafNodeIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstLeafNodeIterator 
Definition at line 93 of file octree_pointcloud.h.
typedef boost::shared_ptr<const OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstPtr 
Definition at line 126 of file octree_pointcloud.h.
typedef OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::DepthFirstIterator 
Definition at line 96 of file octree_pointcloud.h.
typedef boost::shared_ptr<const std::vector<int> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesConstPtr 
Definition at line 114 of file octree_pointcloud.h.
typedef boost::shared_ptr<std::vector<int> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesPtr 
Definition at line 113 of file octree_pointcloud.h.
typedef OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Iterator 
Definition at line 88 of file octree_pointcloud.h.
typedef OctreeT::LeafNode pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNode 
Definition at line 84 of file octree_pointcloud.h.
typedef OctreeLeafNodeIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNodeIterator 
Definition at line 92 of file octree_pointcloud.h.
typedef pcl::PointCloud<PointT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloud 
Definition at line 116 of file octree_pointcloud.h.
typedef boost::shared_ptr<const PointCloud> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudConstPtr 
Definition at line 118 of file octree_pointcloud.h.
typedef boost::shared_ptr<PointCloud> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudPtr 
Definition at line 117 of file octree_pointcloud.h.
typedef boost::shared_ptr<OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Ptr 
Definition at line 125 of file octree_pointcloud.h.
typedef OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeBase<LeafContainerT> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::SingleBuffer 
Definition at line 121 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.

virtual 
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 97 of file octree_pointcloud.hpp.

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::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >, and pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >.
Definition at line 568 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::getChildIdxWithDepthMask().
Referenced by pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::addPointIdx().
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.
References pcl::isFinite().
Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud().
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 106 of file octree_pointcloud.hpp.
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 117 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 429 of file octree_pointcloud.hpp.
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 277 of file octree_pointcloud.hpp.
References pcl::getMinMax3D().
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 306 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 345 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 380 of file octree_pointcloud.hpp.

inline 
Delete the octree structure and its leaf nodes.
Definition at line 237 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 174 of file octree_pointcloud.hpp.
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 191 of file octree_pointcloud.hpp.

inline 
Enable dynamic octree structure.
maxObjsPerLeaf  maximum number of DataT objects per leaf 
Definition at line 396 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 519 of file octree_pointcloud.hpp.

inlineprotected 
Find octree leaf node at a given point.
[in]  point_arg  query point 
Definition at line 434 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 735 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

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 723 of file octree_pointcloud.hpp.

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 692 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::findLeafAtPoint().

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 707 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 758 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelBounds().

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 745 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.
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 216 of file octree_pointcloud.hpp.
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 412 of file octree_pointcloud.hpp.

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

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

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

protected 
Define octree key setting and octree depth based on defined bounding box.
Definition at line 621 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::maxDepth.
Referenced by 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 202 of file octree_pointcloud.hpp.
References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

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 802 of file octree_pointcloud.hpp.
References pcl::octree::BRANCH_NODE, pcl::octree::OctreeNode::getNodeType(), pcl::octree::LEAF_NODE, pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

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 612 of file octree_pointcloud.hpp.

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

inline 
Get the maximum depth of the octree.
Definition at line 197 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 385 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 794 of file octree_pointcloud.hpp.

inline 
Calculates the squared diameter of a voxel at leaf depth.
Definition at line 359 of file octree_pointcloud.h.
Referenced by 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 779 of file octree_pointcloud.hpp.

inline 
Calculates the squared voxel cube side length at leaf level.
Definition at line 374 of file octree_pointcloud.h.
Referenced by 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 462 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 130 of file octree_pointcloud.hpp.
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 159 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 148 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 162 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 136 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 176 of file octree_pointcloud.h.

friend 
Definition at line 78 of file octree_pointcloud.h.

friend 
Definition at line 77 of file octree_pointcloud.h.

friend 
Definition at line 76 of file octree_pointcloud.h.

friend 
Definition at line 79 of file octree_pointcloud.h.

protected 
Flag indicating if octree has defined bounding box.
Definition at line 561 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 545 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 542 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 539 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getInputCloud(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setInputCloud().

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

protected 
Definition at line 552 of file octree_pointcloud.h.
Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isPointWithinBoundingBox().

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

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

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

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

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

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