Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > Class Template Reference

Octree pointcloud class More...

#include <pcl/octree/octree_pointcloud.h>

+ Inheritance diagram for pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >:

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< PointTPointCloud
 
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 PointTgetPointByIndex (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 >
 

Detailed Description

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
class pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >

Octree pointcloud class

Note
Octree implementation for pointclouds. Only indices are stored by the octree leaf nodes (zero-copy).
The octree pointcloud class needs to be initialized with its voxel resolution. Its bounding box is automatically adjusted
according to the pointcloud dimension or it can be predefined.
Note: The tree depth equates to the resolution and the bounding box dimensions of the octree.
typename: PointT: type of point used in pointcloud
typename: LeafContainerT: leaf node container (
typename: BranchContainerT: branch node container
typename: OctreeT: octree implementation ()
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 73 of file octree_pointcloud.h.

Member Typedef Documentation

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeT pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Base

Definition at line 82 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeT::BranchNode pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BranchNode

Definition at line 85 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeBreadthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BreadthFirstIterator

Definition at line 100 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef const OctreeBreadthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstBreadthFirstIterator

Definition at line 101 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef const OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstDepthFirstIterator

Definition at line 97 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef const OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstIterator

Definition at line 89 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef const OctreeLeafNodeIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstLeafNodeIterator

Definition at line 93 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::DepthFirstIterator

Definition at line 96 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef boost::shared_ptr<std::vector<int> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesPtr

Definition at line 113 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeDepthFirstIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Iterator

Definition at line 88 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeT::LeafNode pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNode

Definition at line 84 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreeLeafNodeIterator<OctreeT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNodeIterator

Definition at line 92 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef pcl::PointCloud<PointT> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloud

Definition at line 116 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef boost::shared_ptr<const PointCloud> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudConstPtr

Definition at line 118 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef boost::shared_ptr<PointCloud> pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudPtr

Definition at line 117 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
typedef OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeBase<LeafContainerT> > pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::SingleBuffer

Definition at line 121 of file octree_pointcloud.h.

Constructor & Destructor Documentation

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::OctreePointCloud ( const double  resolution_arg)

Octree pointcloud constructor.

Parameters
[in]resolution_argoctree resolution at lowest octree level

Definition at line 49 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::~OctreePointCloud ( )
virtual

Empty deconstructor.

Definition at line 59 of file octree_pointcloud.hpp.

Member Function Documentation

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]point_idx_argindex of point to be added
[in]indices_argpointer to indices vector of the dataset (given by setInputCloud)

Definition at line 97 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointIdx ( const int  point_idx_arg)
protectedvirtual
template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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().

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]point_argpoint to be added
[in]cloud_argpointer to input point cloud dataset (given by setInputCloud)

Definition at line 106 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]point_argpoint to be added
[in]cloud_argpointer to input point cloud dataset (given by setInputCloud)
[in]indices_argpointer to indices vector of the dataset (given by setInputCloud)

Definition at line 117 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::adoptBoundingBoxToPoint ( const PointT point_idx_arg)
protected

Grow the bounding box/octree until point fits.

Parameters
[in]point_idx_argpoint that should be within bounding box;

Definition at line 429 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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().

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Note
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]min_x_argX coordinate of lower bounding box corner
[in]min_y_argY coordinate of lower bounding box corner
[in]min_z_argZ coordinate of lower bounding box corner
[in]max_x_argX coordinate of upper bounding box corner
[in]max_y_argY coordinate of upper bounding box corner
[in]max_z_argZ coordinate of upper bounding box corner

Definition at line 306 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Note
Lower bounding box point is set to (0, 0, 0)
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]max_x_argX coordinate of upper bounding box corner
[in]max_y_argY coordinate of upper bounding box corner
[in]max_z_argZ coordinate of upper bounding box corner

Definition at line 345 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox ( const double  cubeLen_arg)

Define bounding box cube for octree.

Note
Lower bounding box corner is set to (0, 0, 0)
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]cubeLen_argside length of bounding box cube.

Definition at line 380 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree ( )
inline

Delete the octree structure and its leaf nodes.

Definition at line 237 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint ( const PointT point_arg)

Delete leaf node / voxel at given point.

Parameters
[in]point_argpoint addressing the voxel to be deleted.

Definition at line 174 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint ( const int &  point_idx_arg)

Delete leaf node / voxel at given point from input cloud.

Parameters
[in]point_idx_argindex of point addressing the voxel to be deleted.

Definition at line 191 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::enableDynamicDepth ( size_t  maxObjsPerLeaf)
inline

Enable dynamic octree structure.

Note
Leaf nodes are kept as close to the root as possible and are only expanded if the number of DataT objects within a leaf node exceeds a fixed limit.
Parameters
maxObjsPerLeafmaximum number of DataT objects per leaf

Definition at line 396 of file octree_pointcloud.h.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::expandLeafNode ( LeafNode leaf_node,
BranchNode parent_branch,
unsigned char  child_idx,
unsigned int  depth_mask 
)
protected

Add point at index from input pointcloud dataset to octree.

Parameters
[in]leaf_nodeto be expanded
[in]parent_branchparent of leaf node to be expanded
[in]child_idxchild index of leaf node (in parent branch)
[in]depth_maskof leaf node to be expanded

Definition at line 519 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
LeafContainerT* pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::findLeafAtPoint ( const PointT point_arg) const
inlineprotected

Find octree leaf node at a given point.

Parameters
[in]point_argquery point
Returns
pointer to leaf node. If leaf node does not exist, pointer is 0.

Definition at line 434 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genLeafNodeCenterFromOctreeKey ( const OctreeKey key_arg,
PointT point_arg 
) const
protected

Generate a point at center of leaf node voxel.

Parameters
[in]key_argoctree key addressing a leaf node.
[out]point_argwrite 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.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyForDataT ( const int &  data_arg,
OctreeKey key_arg 
) const
protectedvirtual

Virtual method for generating octree key for a given point index.

Note
This method enables to assign indices to leaf nodes during octree deserialization.
Parameters
[in]data_argindex value representing a point in the dataset given by setInputCloud
[out]key_argwrite octree key to this reference
Returns
"true" - octree keys are assignable

Definition at line 723 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyforPoint ( const PointT point_arg,
OctreeKey key_arg 
) const
protected

Generate octree key for voxel at a given point.

Parameters
[in]point_argthe point addressing a voxel
[out]key_argwrite 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().

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyforPoint ( const double  point_x_arg,
const double  point_y_arg,
const double  point_z_arg,
OctreeKey key_arg 
) const
protected

Generate octree key for voxel at a given point.

Parameters
[in]point_x_argX coordinate of point addressing a voxel
[in]point_y_argY coordinate of point addressing a voxel
[in]point_z_argZ coordinate of point addressing a voxel
[out]key_argwrite octree key to this reference

Definition at line 707 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genVoxelBoundsFromOctreeKey ( const OctreeKey key_arg,
unsigned int  tree_depth_arg,
Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
) const
protected

Generate bounds of an octree voxel using octree key and tree depth arguments.

Parameters
[in]key_argoctree key addressing an octree node.
[in]tree_depth_argoctree depth of query voxel
[out]min_ptlower bound of voxel
[out]max_ptupper 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().

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genVoxelCenterFromOctreeKey ( const OctreeKey key_arg,
unsigned int  tree_depth_arg,
PointT point_arg 
) const
protected

Generate a point at center of octree voxel at given tree level.

Parameters
[in]key_argoctree key addressing an octree node.
[in]tree_depth_argoctree depth of query voxel
[out]point_argwrite 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.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]originorigin of the line segment
[in]endend of the line segment
[out]voxel_center_listresults are written to this vector of PointT elements
[in]precisiondetermines the size of the steps: step_size = octree_resolution x precision
Returns
number of intersected voxels

Definition at line 216 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Note
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]min_x_argX coordinate of lower bounding box corner
[in]min_y_argY coordinate of lower bounding box corner
[in]min_z_argZ coordinate of lower bounding box corner
[in]max_x_argX coordinate of upper bounding box corner
[in]max_y_argY coordinate of upper bounding box corner
[in]max_z_argZ coordinate of upper bounding box corner

Definition at line 412 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getEpsilon ( ) const
inline

Get the search epsilon precision (error bound) for nearest neighbors searches.

Definition at line 168 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
IndicesConstPtr const pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getIndices ( ) const
inline

Get a pointer to the vector of indices used.

Returns
pointer to vector of indices used.

Definition at line 146 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getInputCloud ( ) const
inline

Get a pointer to the input point cloud dataset.

Returns
pointer to pointcloud input class.

Definition at line 154 of file octree_pointcloud.h.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getKeyBitSize ( )
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().

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[out]voxel_center_list_argresults are written to this vector of PointT elements
Returns
number of occupied voxels

Definition at line 202 of file octree_pointcloud.hpp.

References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
int pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getOccupiedVoxelCentersRecursive ( const BranchNode node_arg,
const OctreeKey key_arg,
AlignedPointTVector voxel_center_list_arg 
) const
protected

Recursively search the tree for all leaf nodes and return a vector of voxel centers.

Parameters
[in]node_argcurrent octree node to be explored
[in]key_argoctree key addressing a leaf node.
[out]voxel_center_list_argresults are written to this vector of PointT elements
Returns
number of voxels found

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.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
const PointT & pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getPointByIndex ( const unsigned int  index_arg) const
protected

Get point at index from input pointcloud dataset.

Parameters
[in]index_argindex representing the point in the dataset given by setInputCloud
Returns
PointT from input pointcloud dataset

Definition at line 612 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getResolution ( ) const
inline

Get octree voxel resolution.

Returns
voxel resolution at lowest tree level

Definition at line 189 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
unsigned int pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getTreeDepth ( ) const
inline

Get the maximum depth of the octree.

Returns
depth_arg: maximum depth of octree

Definition at line 197 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelBounds ( const OctreeIteratorBase< OctreeT > &  iterator,
Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
) const
inline

Generate bounds of the current voxel of an octree iterator.

Parameters
[in]iteratoroctree iterator
[out]min_ptlower bound of voxel
[out]max_ptupper bound of voxel

Definition at line 385 of file octree_pointcloud.h.

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]tree_depth_argdepth/level in octree
Returns
squared diameter

Definition at line 794 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredDiameter ( ) const
inline

Calculates the squared diameter of a voxel at leaf depth.

Returns
squared diameter

Definition at line 359 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredDiameter().

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]tree_depth_argdepth/level in octree
Returns
squared voxel cube side length

Definition at line 779 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredSideLen ( ) const
inline

Calculates the squared voxel cube side length at leaf level.

Returns
squared voxel cube side length

Definition at line 374 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredSideLen().

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox ( const PointT point_idx_arg) const
inlineprotected

Checks if given point is within the bounding box of the octree.

Parameters
[in]point_idx_argpoint to be checked for bounding box violations
Returns
"true" - no bound violation

Definition at line 462 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint ( const PointT point_arg) const

Check if voxel at given point exist.

Parameters
[in]point_argpoint to be checked
Returns
"true" if voxel exist; "false" otherwise

Definition at line 130 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]point_x_argX coordinate of point to be checked
[in]point_y_argY coordinate of point to be checked
[in]point_z_argZ coordinate of point to be checked
Returns
"true" if voxel exist; "false" otherwise

Definition at line 159 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT , typename BranchContainerT , typename OctreeT >
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.

Parameters
[in]point_idx_argpoint to be checked
Returns
"true" if voxel exist; "false" otherwise

Definition at line 148 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setEpsilon ( double  eps)
inline

Set the search epsilon precision (error bound) for nearest neighbors searches.

Parameters
[in]epsprecision (error bound) for nearest neighbors searches

Definition at line 162 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud ( const PointCloudConstPtr cloud_arg,
const IndicesConstPtr indices_arg = IndicesConstPtr () 
)
inline

Provide a pointer to the input data set.

Parameters
[in]cloud_argthe const boost shared pointer to a PointCloud message
[in]indices_argthe 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.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setResolution ( double  resolution_arg)
inline

Set/change the octree voxel resolution.

Parameters
[in]resolution_argside length of voxels at lowest tree level

Definition at line 176 of file octree_pointcloud.h.

Friends And Related Function Documentation

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
friend class OctreeBreadthFirstIterator< OctreeT >
friend

Definition at line 78 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
friend class OctreeDepthFirstIterator< OctreeT >
friend

Definition at line 77 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
friend class OctreeIteratorBase< OctreeT >
friend

Definition at line 76 of file octree_pointcloud.h.

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
friend class OctreeLeafNodeIterator< OctreeT >
friend

Definition at line 79 of file octree_pointcloud.h.

Member Data Documentation

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::bounding_box_defined_
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().

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::epsilon_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
IndicesConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::indices_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::input_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
std::size_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_objs_per_leaf_
protected

Amount of DataT objects per leafNode before expanding branch.

Note
zero indicates a fixed/maximum depth octree structure

Definition at line 566 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::enableDynamicDepth().

template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_x_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_y_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_z_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_x_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_y_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_z_
protected
template<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::resolution_
protected

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