Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions
pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT > Class Template Reference

Octree pointcloud point vector class More...

#include <pcl/octree/octree_pointcloud_pointvector.h>

Inheritance diagram for pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >:
Collaboration graph
[legend]

Public Types

typedef
OctreePointCloudPointVector
< PointT, LeafT, BranchT,
OctreeBase< int, LeafT,
BranchT > > 
SingleBuffer
 
typedef
OctreePointCloudPointVector
< PointT, LeafT, BranchT,
Octree2BufBase< int, LeafT,
BranchT > > 
DoubleBuffer
 
typedef OctreeT Base
 
typedef OctreeT::LeafNode LeafNode
 
typedef OctreeT::BranchNode BranchNode
 
typedef
OctreeDepthFirstIterator< int,
OctreeT > 
Iterator
 
typedef const
OctreeDepthFirstIterator< int,
OctreeT > 
ConstIterator
 
typedef OctreeLeafNodeIterator
< int, OctreeT > 
LeafNodeIterator
 
typedef const
OctreeLeafNodeIterator< int,
OctreeT > 
ConstLeafNodeIterator
 
typedef
OctreeDepthFirstIterator< int,
OctreeT > 
DepthFirstIterator
 
typedef const
OctreeDepthFirstIterator< int,
OctreeT > 
ConstDepthFirstIterator
 
typedef
OctreeBreadthFirstIterator
< int, OctreeT > 
BreadthFirstIterator
 
typedef const
OctreeBreadthFirstIterator
< int, 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 boost::shared_ptr
< OctreePointCloud< PointT,
LeafT, OctreeT > > 
Ptr
 
typedef boost::shared_ptr
< const OctreePointCloud
< PointT, LeafT, OctreeT > > 
ConstPtr
 
typedef std::vector< PointT,
Eigen::aligned_allocator
< PointT > > 
AlignedPointTVector
 

Public Member Functions

 OctreePointCloudPointVector (const double resolution_arg)
 Constructor. More...
 
virtual ~OctreePointCloudPointVector ()
 Empty class constructor. 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 pointIdx_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...
 
bool isVoxelOccupiedAtPoint (const double pointX_arg, const double pointY_arg, const double pointZ_arg) const
 Check if voxel at given point coordinates exist. More...
 
bool isVoxelOccupiedAtPoint (const int &pointIdx_arg) const
 Check if voxel at given point from input cloud exist. More...
 
void deleteTree (bool freeMemory_arg=false)
 Delete the octree structure and its leaf nodes. More...
 
int getOccupiedVoxelCenters (AlignedPointTVector &voxelCenterList_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 &pointIdx_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 minX_arg, const double minY_arg, const double minZ_arg, const double maxX_arg, const double maxY_arg, const double maxZ_arg)
 Define bounding box for octree. More...
 
void defineBoundingBox (const double maxX_arg, const double maxY_arg, const double maxZ_arg)
 Define bounding box for octree. More...
 
void defineBoundingBox (const double cubeLen_arg)
 Define bounding box cube for octree. More...
 
void getBoundingBox (double &minX_arg, double &minY_arg, double &minZ_arg, double &maxX_arg, double &maxY_arg, double &maxZ_arg) const
 Get bounding box for octree. More...
 
double getVoxelSquaredDiameter (unsigned int treeDepth_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 treeDepth_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 (OctreeIteratorBase< int, OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt)
 Generate bounds of the current voxel of an octree iterator. More...
 

Detailed Description

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
class pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >

Octree pointcloud point vector class

Note
This pointcloud octree class generate an octrees from a point cloud (zero-copy). Every leaf node contains a list of point indices of the dataset given by setInputCloud.
The octree pointcloud is initialized with its voxel resolution. Its bounding box is automatically adjusted or can be predefined.
typename: PointT: type of point used in pointcloud
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 67 of file octree_pointcloud_pointvector.h.

Member Typedef Documentation

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef std::vector<PointT, Eigen::aligned_allocator<PointT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::AlignedPointTVector
inherited

Definition at line 132 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeT pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::Base
inherited

Definition at line 89 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeT::BranchNode pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::BranchNode
inherited

Definition at line 92 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeBreadthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::BreadthFirstIterator
inherited

Definition at line 103 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef const OctreeBreadthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::ConstBreadthFirstIterator
inherited

Definition at line 104 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef const OctreeDepthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::ConstDepthFirstIterator
inherited

Definition at line 102 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef const OctreeDepthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::ConstIterator
inherited

Definition at line 96 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef const OctreeLeafNodeIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::ConstLeafNodeIterator
inherited

Definition at line 99 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<const OctreePointCloud<PointT, LeafT, OctreeT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::ConstPtr
inherited

Definition at line 129 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeDepthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::DepthFirstIterator
inherited

Definition at line 101 of file octree_pointcloud.h.

template<typename PointT , typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreePointCloudPointVector<PointT, LeafT, BranchT, Octree2BufBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >::DoubleBuffer

Definition at line 76 of file octree_pointcloud_pointvector.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<const std::vector<int> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::IndicesConstPtr
inherited

Definition at line 117 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<std::vector<int> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::IndicesPtr
inherited

Definition at line 116 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeDepthFirstIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::Iterator
inherited

Definition at line 95 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeT::LeafNode pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::LeafNode
inherited

Definition at line 91 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreeLeafNodeIterator<int, OctreeT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::LeafNodeIterator
inherited

Definition at line 98 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef pcl::PointCloud<PointT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloud
inherited

Definition at line 119 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<const PointCloud> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr
inherited

Definition at line 121 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<PointCloud> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr
inherited

Definition at line 120 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef boost::shared_ptr<OctreePointCloud<PointT, LeafT, OctreeT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::Ptr
inherited

Definition at line 128 of file octree_pointcloud.h.

template<typename PointT , typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
typedef OctreePointCloudPointVector<PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >::SingleBuffer

Definition at line 74 of file octree_pointcloud_pointvector.h.

Constructor & Destructor Documentation

template<typename PointT , typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >::OctreePointCloudPointVector ( const double  resolution_arg)
inline

Constructor.

Parameters
resolution_arg,:octree resolution at lowest octree level

Definition at line 81 of file octree_pointcloud_pointvector.h.

template<typename PointT , typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
virtual pcl::octree::OctreePointCloudPointVector< PointT, LeafT, BranchT, OctreeT >::~OctreePointCloudPointVector ( )
inlinevirtual

Empty class constructor.

Definition at line 87 of file octree_pointcloud_pointvector.h.

Member Function Documentation

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::addPointFromCloud ( const int  pointIdx_arg,
IndicesPtr  indices_arg 
)
inherited

Add point at given index from input point cloud to octree.

Index will be also added to indices vector.

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

Definition at line 98 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::addPointsFromInputCloud ( )
inherited

Add points from input point cloud to octree.

Definition at line 65 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::addPointToCloud ( const PointT point_arg,
PointCloudPtr  cloud_arg 
)
inherited

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

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::addPointToCloud ( const PointT point_arg,
PointCloudPtr  cloud_arg,
IndicesPtr  indices_arg 
)
inherited

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

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::defineBoundingBox ( )
inherited

Investigate dimensions of pointcloud data set and define corresponding bounding box for octree.

Definition at line 266 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::defineBoundingBox ( const double  minX_arg,
const double  minY_arg,
const double  minZ_arg,
const double  maxX_arg,
const double  maxY_arg,
const double  maxZ_arg 
)
inherited

Define bounding box for octree.

Note
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]minX_argX coordinate of lower bounding box corner
[in]minY_argY coordinate of lower bounding box corner
[in]minZ_argZ coordinate of lower bounding box corner
[in]maxX_argX coordinate of upper bounding box corner
[in]maxY_argY coordinate of upper bounding box corner
[in]maxZ_argZ coordinate of upper bounding box corner

Definition at line 295 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::defineBoundingBox ( const double  maxX_arg,
const double  maxY_arg,
const double  maxZ_arg 
)
inherited

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]maxX_argX coordinate of upper bounding box corner
[in]maxY_argY coordinate of upper bounding box corner
[in]maxZ_argZ coordinate of upper bounding box corner

Definition at line 334 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::defineBoundingBox ( const double  cubeLen_arg)
inherited

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

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteTree ( bool  freeMemory_arg = false)
inlineinherited

Delete the octree structure and its leaf nodes.

Parameters
freeMemory_arg,:if "true", allocated octree nodes are deleted, otherwise they are pushed to the octree node pool

Definition at line 243 of file octree_pointcloud.h.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteVoxelAtPoint ( const PointT point_arg)
inherited

Delete leaf node / voxel at given point.

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

Definition at line 168 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::deleteVoxelAtPoint ( const int &  pointIdx_arg)
inherited

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

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

Definition at line 180 of file octree_pointcloud.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getApproxIntersectedVoxelCentersBySegment ( const Eigen::Vector3f &  origin,
const Eigen::Vector3f &  end,
AlignedPointTVector voxel_center_list,
float  precision = 0.2 
)
inherited

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

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getBoundingBox ( double &  minX_arg,
double &  minY_arg,
double &  minZ_arg,
double &  maxX_arg,
double &  maxY_arg,
double &  maxZ_arg 
) const
inherited

Get bounding box for octree.

Note
Bounding box cannot be changed once the octree contains elements.
Parameters
[in]minX_argX coordinate of lower bounding box corner
[in]minY_argY coordinate of lower bounding box corner
[in]minZ_argZ coordinate of lower bounding box corner
[in]maxX_argX coordinate of upper bounding box corner
[in]maxY_argY coordinate of upper bounding box corner
[in]maxZ_argZ coordinate of upper bounding box corner

Definition at line 401 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getEpsilon ( ) const
inlineinherited

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

Definition at line 172 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
IndicesConstPtr const pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getIndices ( ) const
inlineinherited

Get a pointer to the vector of indices used.

Returns
pointer to vector of indices used.

Definition at line 150 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getInputCloud ( ) const
inlineinherited

Get a pointer to the input point cloud dataset.

Returns
pointer to pointcloud input class.

Definition at line 158 of file octree_pointcloud.h.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getOccupiedVoxelCenters ( AlignedPointTVector voxelCenterList_arg) const
inherited

Get a PointT vector of centers of all occupied voxels.

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

Definition at line 191 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getResolution ( ) const
inlineinherited

Get octree voxel resolution.

Returns
voxel resolution at lowest tree level

Definition at line 193 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
unsigned int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getTreeDepth ( ) const
inlineinherited

Get the maximum depth of the octree.

Returns
depth_arg: maximum depth of octree

Definition at line 201 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelBounds ( OctreeIteratorBase< int, OctreeT > &  iterator,
Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
)
inlineinherited

Generate bounds of the current voxel of an octree iterator.

Parameters
[in]iterator,:octree iterator
[out]min_ptlower bound of voxel
[out]max_ptupper bound of voxel

Definition at line 393 of file octree_pointcloud.h.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredDiameter ( unsigned int  treeDepth_arg) const
inherited

Calculates the squared diameter of a voxel at given tree depth.

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

Definition at line 705 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredDiameter ( ) const
inlineinherited

Calculates the squared diameter of a voxel at leaf depth.

Returns
squared diameter

Definition at line 368 of file octree_pointcloud.h.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredSideLen ( unsigned int  treeDepth_arg) const
inherited

Calculates the squared voxel cube side length at given tree depth.

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

Definition at line 690 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelSquaredSideLen ( ) const
inlineinherited

Calculates the squared voxel cube side length at leaf level.

Returns
squared voxel cube side length

Definition at line 383 of file octree_pointcloud.h.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isVoxelOccupiedAtPoint ( const PointT point_arg) const
inherited

Check if voxel at given point exist.

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

Definition at line 131 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isVoxelOccupiedAtPoint ( const double  pointX_arg,
const double  pointY_arg,
const double  pointZ_arg 
) const
inherited

Check if voxel at given point coordinates exist.

Parameters
[in]pointX_argX coordinate of point to be checked
[in]pointY_argY coordinate of point to be checked
[in]pointZ_argZ coordinate of point to be checked
Returns
"true" if voxel exist; "false" otherwise

Definition at line 155 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT , typename BranchT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::isVoxelOccupiedAtPoint ( const int &  pointIdx_arg) const
inherited

Check if voxel at given point from input cloud exist.

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

Definition at line 144 of file octree_pointcloud.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setEpsilon ( double  eps)
inlineinherited

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

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

Definition at line 166 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setInputCloud ( const PointCloudConstPtr cloud_arg,
const IndicesConstPtr indices_arg = IndicesConstPtr () 
)
inlineinherited

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 138 of file octree_pointcloud.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>, typename OctreeT = OctreeBase<int, LeafT, BranchT>>
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::setResolution ( double  resolution_arg)
inlineinherited

Set/change the octree voxel resolution.

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

Definition at line 180 of file octree_pointcloud.h.


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