Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Types | Public Member Functions | Friends
pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT > Class Template Reference

Octree pointcloud search class More...

#include <pcl/octree/octree_search.h>

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

List of all members.

Classes

class  prioBranchQueueEntry
 Priority queue entry for branch nodes
class  prioPointQueueEntry
 Priority queue entry for point candidates

Public Types

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

Public Member Functions

 OctreePointCloudSearch (const double resolution)
 Constructor.
virtual ~OctreePointCloudSearch ()
 Empty class constructor.
bool voxelSearch (const PointT &point, std::vector< int > &pointIdx_data)
 Search for neighbors within a voxel at given point.
bool voxelSearch (const int index, std::vector< int > &pointIdx_data)
 Search for neighbors within a voxel at given point referenced by a point index.
int nearestKSearch (const PointCloud &cloud, int index, int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances)
 Search for k-nearest neighbors at the query point.
int nearestKSearch (const PointT &p_q, int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances)
 Search for k-nearest neighbors at given query point.
int nearestKSearch (int index, int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances)
 Search for k-nearest neighbors at query point.
void approxNearestSearch (const PointCloud &cloud, int query_index, int &result_index, float &sqr_distance)
 Search for approx.
void approxNearestSearch (const PointT &p_q, int &result_index, float &sqr_distance)
 Search for approx.
void approxNearestSearch (int query_index, int &result_index, float &sqr_distance)
 Search for approx.
int radiusSearch (const PointCloud &cloud, int index, double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0)
 Search for all neighbors of query point that are within a given radius.
int radiusSearch (const PointT &p_q, const double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
 Search for all neighbors of query point that are within a given radius.
int radiusSearch (int index, const double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
 Search for all neighbors of query point that are within a given radius.
int getIntersectedVoxelCenters (Eigen::Vector3f origin, Eigen::Vector3f direction, AlignedPointTVector &voxelCenterList, int maxVoxelCount=0) const
 Get a PointT vector of centers of all voxels that intersected by a ray (origin, direction).
int getIntersectedVoxelIndices (Eigen::Vector3f origin, Eigen::Vector3f direction, std::vector< int > &k_indices, int maxVoxelCount=0) const
 Get indices of all voxels that are intersected by a ray (origin, direction).
int boxSearch (const Eigen::Vector3f &min_pt, const Eigen::Vector3f &max_pt, std::vector< int > &k_indices) const
 Search for points within rectangular search area.
void setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr())
 Provide a pointer to the input data set.
IndicesConstPtr const getIndices () const
 Get a pointer to the vector of indices used.
PointCloudConstPtr getInputCloud () const
 Get a pointer to the input point cloud dataset.
void setEpsilon (double eps)
 Set the search epsilon precision (error bound) for nearest neighbors searches.
double getEpsilon () const
 Get the search epsilon precision (error bound) for nearest neighbors searches.
void setResolution (double resolution_arg)
 Set/change the octree voxel resolution.
double getResolution () const
 Get octree voxel resolution.
unsigned int getTreeDepth () const
 Get the maximum depth of the octree.
void addPointsFromInputCloud ()
 Add points from input point cloud to octree.
void addPointFromCloud (const int pointIdx_arg, IndicesPtr indices_arg)
 Add point at given index from input point cloud to octree.
void addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg)
 Add point simultaneously to octree and input point cloud.
void addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg)
 Add point simultaneously to octree and input point cloud.
bool isVoxelOccupiedAtPoint (const PointT &point_arg) const
 Check if voxel at given point exist.
bool isVoxelOccupiedAtPoint (const double pointX_arg, const double pointY_arg, const double pointZ_arg) const
 Check if voxel at given point coordinates exist.
bool isVoxelOccupiedAtPoint (const int &pointIdx_arg) const
 Check if voxel at given point from input cloud exist.
void deleteTree (bool freeMemory_arg=false)
 Delete the octree structure and its leaf nodes.
int getOccupiedVoxelCenters (AlignedPointTVector &voxelCenterList_arg) const
 Get a PointT vector of centers of all occupied voxels.
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.
void deleteVoxelAtPoint (const PointT &point_arg)
 Delete leaf node / voxel at given point.
void deleteVoxelAtPoint (const int &pointIdx_arg)
 Delete leaf node / voxel at given point from input cloud.
void defineBoundingBox ()
 Investigate dimensions of pointcloud data set and define corresponding bounding box for octree.
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.
void defineBoundingBox (const double maxX_arg, const double maxY_arg, const double maxZ_arg)
 Define bounding box for octree.
void defineBoundingBox (const double cubeLen_arg)
 Define bounding box cube for octree.
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.
double getVoxelSquaredDiameter (unsigned int treeDepth_arg) const
 Calculates the squared diameter of a voxel at given tree depth.
double getVoxelSquaredDiameter () const
 Calculates the squared diameter of a voxel at leaf depth.
double getVoxelSquaredSideLen (unsigned int treeDepth_arg) const
 Calculates the squared voxel cube side length at given tree depth.
double getVoxelSquaredSideLen () const
 Calculates the squared voxel cube side length at leaf level.
void getVoxelBounds (OctreeIteratorBase< int, OctreeBase< int, LeafT, BranchT > > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt)
 Generate bounds of the current voxel of an octree iterator.
void setMaxVoxelIndex (unsigned int maxVoxelIndex_arg)
 Set the maximum amount of voxels per dimension.
void setTreeDepth (unsigned int depth_arg)
 Set the maximum depth of the octree.
void enableDynamicDepth (size_t maxObjsPerLeaf)
 Enable dynamic octree structure.
void addData (unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, const int &data_arg)
 Add a const DataT element to leaf node at (idxX, idxY, idxZ).
bool getData (unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, int &data_arg) const
 Retrieve a DataT element from leaf node at (idxX, idxY, idxZ).
bool existLeaf (unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg) const
 Check for the existence of leaf node at (idxX, idxY, idxZ).
void removeLeaf (unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg)
 Remove leaf node at (idxX_arg, idxY_arg, idxZ_arg).
std::size_t getLeafCount () const
 Return the amount of existing leafs in the octree.
std::size_t getBranchCount () const
 Return the amount of existing branches in the octree.
void serializeTree (std::vector< char > &binaryTreeOut_arg)
 Serialize octree into a binary output vector describing its branch node structure.
void serializeTree (std::vector< char > &binaryTreeOut_arg, std::vector< int > &dataVector_arg)
 Serialize octree into a binary output vector describing its branch node structure and push all DataT elements stored in the octree to a vector.
void serializeLeafs (std::vector< int > &dataVector_arg)
 Outputs a vector of all DataT elements that are stored within the octree leaf nodes.
void deserializeTree (std::vector< char > &binaryTreeIn_arg)
 Deserialize a binary octree description vector and create a corresponding octree structure.
void deserializeTree (std::vector< char > &binaryTreeIn_arg, std::vector< int > &dataVector_arg)
 Deserialize a binary octree description and create a corresponding octree structure.

Friends

class OctreeIteratorBase< DataT, OctreeT >
class OctreeDepthFirstIterator< DataT, OctreeT >
class OctreeBreadthFirstIterator< DataT, OctreeT >
class OctreeLeafNodeIterator< DataT, OctreeT >

Detailed Description

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

Octree pointcloud search class

Note:
This class provides several methods for spatial neighbor search based on octree structure
typename: PointT: type of point used in pointcloud
Author:
Julius Kammerl (julius@kammerl.de)

Definition at line 62 of file octree_search.h.


Member Typedef Documentation

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 78 of file octree_search.h.

typedef OctreeBase<int, LeafT, BranchT> pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::Base [inherited]

Definition at line 89 of file octree_pointcloud.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 82 of file octree_search.h.

typedef OctreeBreadthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::BreadthFirstIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 103 of file octree_pointcloud.h.

typedef const OctreeBreadthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::ConstBreadthFirstIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 104 of file octree_pointcloud.h.

typedef const OctreeDepthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::ConstDepthFirstIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 102 of file octree_pointcloud.h.

typedef const OctreeDepthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::ConstIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 96 of file octree_pointcloud.h.

typedef const OctreeLeafNodeIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::ConstLeafNodeIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 99 of file octree_pointcloud.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 75 of file octree_search.h.

typedef OctreeDepthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::DepthFirstIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 101 of file octree_pointcloud.h.

typedef OctreePointCloud<PointT, LeafT, Octree2BufBase<int, LeafT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::DoubleBuffer [inherited]

Definition at line 125 of file octree_pointcloud.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 67 of file octree_search.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 66 of file octree_search.h.

typedef OctreeDepthFirstIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::Iterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 95 of file octree_pointcloud.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 81 of file octree_search.h.

typedef OctreeLeafNodeIterator<int, OctreeBase<int, LeafT, BranchT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::LeafNodeIterator [inherited]

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 98 of file octree_pointcloud.h.

typedef OctreeBase<int , OctreeContainerDataTVector<int >, OctreeContainerEmpty<int > > pcl::octree::OctreeBase< int , LeafT, BranchT >::MultipleObjsLeafContainer [inherited]

Definition at line 70 of file octree_base.h.

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

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 80 of file octree_search.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
typedef pcl::PointCloud<PointT> pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::PointCloud

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 69 of file octree_search.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 71 of file octree_search.h.

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

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 70 of file octree_search.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
typedef boost::shared_ptr<OctreePointCloudSearch<PointT, LeafT, BranchT> > pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::Ptr

Reimplemented from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT >.

Definition at line 74 of file octree_search.h.

typedef OctreePointCloud<PointT, LeafT, OctreeBase<int, LeafT> > pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::SingleBuffer [inherited]

Definition at line 124 of file octree_pointcloud.h.

typedef OctreeBase<int , OctreeContainerDataT<int >, OctreeContainerEmpty<int > > pcl::octree::OctreeBase< int , LeafT, BranchT >::SingleObjLeafContainer [inherited]

Definition at line 69 of file octree_base.h.


Constructor & Destructor Documentation

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::OctreePointCloudSearch ( const double  resolution) [inline]

Constructor.

Parameters:
[in]resolutionoctree resolution at lowest octree level

Definition at line 87 of file octree_search.h.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
virtual pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::~OctreePointCloudSearch ( ) [inline, virtual]

Empty class constructor.

Definition at line 94 of file octree_search.h.


Member Function Documentation

void pcl::octree::OctreeBase< int , LeafT, BranchT >::addData ( unsigned int  idxX_arg,
unsigned int  idxY_arg,
unsigned int  idxZ_arg,
const int &  data_arg 
) [inherited]

Add a const DataT element to leaf node at (idxX, idxY, idxZ).

If leaf node does not exist, it is created and added to the octree.

Parameters:
idxX_arg,:index of leaf node in the X axis.
idxY_arg,:index of leaf node in the Y axis.
idxZ_arg,:index of leaf node in the Z axis.
data_arg,:const reference to DataT object to be added.
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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)
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::addPointsFromInputCloud ( ) [inherited]

Add points from input point cloud to octree.

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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)
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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)
template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
void pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::approxNearestSearch ( const PointCloud cloud,
int  query_index,
int &  result_index,
float &  sqr_distance 
) [inline]

Search for approx.

nearest neighbor at the query point.

Parameters:
[in]cloudthe point cloud data
[in]query_indexthe index in cloud representing the query point
[out]result_indexthe resultant index of the neighbor point
[out]sqr_distancethe resultant squared distance to the neighboring point
Returns:
number of neighbors found

Definition at line 162 of file octree_search.h.

template<typename PointT , typename LeafT , typename BranchT >
void pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::approxNearestSearch ( const PointT p_q,
int &  result_index,
float &  sqr_distance 
)

Search for approx.

nearest neighbor at the query point.

Parameters:
[in]p_qthe given query point
[out]result_indexthe resultant index of the neighbor point
[out]sqr_distancethe resultant squared distance to the neighboring point

Definition at line 135 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
void pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::approxNearestSearch ( int  query_index,
int &  result_index,
float &  sqr_distance 
)

Search for approx.

nearest neighbor at the query point.

Parameters:
[in]query_indexindex representing the query point in the dataset given by setInputCloud. If indices were given in setInputCloud, index will be the position in the indices vector.
[out]result_indexthe resultant index of the neighbor point
[out]sqr_distancethe resultant squared distance to the neighboring point
Returns:
number of neighbors found

Definition at line 152 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::boxSearch ( const Eigen::Vector3f &  min_pt,
const Eigen::Vector3f &  max_pt,
std::vector< int > &  k_indices 
) const

Search for points within rectangular search area.

Parameters:
[in]min_ptlower corner of search area
[in]max_ptupper corner of search area
[out]k_indicesthe resultant point indices
Returns:
number of points found within search area

Definition at line 194 of file octree_search.hpp.

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::defineBoundingBox ( ) [inherited]

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

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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.
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::deleteTree ( bool  freeMemory_arg = false) [inline, inherited]

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

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 243 of file octree_pointcloud.h.

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::deleteVoxelAtPoint ( const PointT point_arg) [inherited]

Delete leaf node / voxel at given point.

Parameters:
[in]point_argpoint addressing the voxel to be deleted.
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::deserializeTree ( std::vector< char > &  binaryTreeIn_arg) [inherited]

Deserialize a binary octree description vector and create a corresponding octree structure.

Leaf nodes are initialized with getDataTByKey(..).

Parameters:
binaryTreeIn_arg,:reference to input vector for reading binary tree structure.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::deserializeTree ( std::vector< char > &  binaryTreeIn_arg,
std::vector< int > &  dataVector_arg 
) [inherited]

Deserialize a binary octree description and create a corresponding octree structure.

Leaf nodes are initialized with DataT elements from the dataVector.

Parameters:
binaryTreeIn_arg,:reference to input vector for reading binary tree structure.
dataVector_arg,:reference to DataT vector that provides DataT objects for initializing leaf nodes.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::enableDynamicDepth ( size_t  maxObjsPerLeaf) [inline, inherited]

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.
Returns:
maxObjsPerLeaf: maximum number of DataT objects per leaf

Definition at line 157 of file octree_base.h.

bool pcl::octree::OctreeBase< int , LeafT, BranchT >::existLeaf ( unsigned int  idxX_arg,
unsigned int  idxY_arg,
unsigned int  idxZ_arg 
) const [inherited]

Check for the existence of leaf node at (idxX, idxY, idxZ).

Parameters:
idxX_arg,:index of leaf node in the X axis.
idxY_arg,:index of leaf node in the Y axis.
idxZ_arg,:index of leaf node in the Z axis.
Returns:
"true" if leaf node search is successful, otherwise it returns "false".
int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
std::size_t pcl::octree::OctreeBase< int , LeafT, BranchT >::getBranchCount ( ) const [inline, inherited]

Return the amount of existing branches in the octree.

Returns:
amount of branch nodes.

Definition at line 213 of file octree_base.h.

bool pcl::octree::OctreeBase< int , LeafT, BranchT >::getData ( unsigned int  idxX_arg,
unsigned int  idxY_arg,
unsigned int  idxZ_arg,
int &  data_arg 
) const [inherited]

Retrieve a DataT element from leaf node at (idxX, idxY, idxZ).

It returns false if leaf node does not exist.

Parameters:
idxX_arg,:index of leaf node in the X axis.
idxY_arg,:index of leaf node in the Y axis.
idxZ_arg,:index of leaf node in the Z axis.
data_arg,:reference to DataT object that contains content of leaf node if search was successful.
Returns:
"true" if leaf node search is successful, otherwise it returns "false".
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getEpsilon ( ) const [inline, inherited]

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

Definition at line 172 of file octree_pointcloud.h.

IndicesConstPtr const pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getIndices ( ) const [inline, inherited]

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.

PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getInputCloud ( ) const [inline, inherited]

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 >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::getIntersectedVoxelCenters ( Eigen::Vector3f  origin,
Eigen::Vector3f  direction,
AlignedPointTVector voxelCenterList,
int  maxVoxelCount = 0 
) const

Get a PointT vector of centers of all voxels that intersected by a ray (origin, direction).

Parameters:
[in]originray origin
[in]directionray direction vector
[out]voxelCenterListresults are written to this vector of PointT elements
[in]maxVoxelCountstop raycasting when this many voxels intersected (0: disable)
Returns:
number of intersected voxels

Definition at line 589 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::getIntersectedVoxelIndices ( Eigen::Vector3f  origin,
Eigen::Vector3f  direction,
std::vector< int > &  k_indices,
int  maxVoxelCount = 0 
) const

Get indices of all voxels that are intersected by a ray (origin, direction).

Parameters:
[in]originray origin
[in]directionray direction vector
[out]k_indicesresulting point indices from intersected voxels
[in]maxVoxelCountstop raycasting when this many voxels intersected (0: disable)
Returns:
number of intersected voxels

Definition at line 614 of file octree_search.hpp.

std::size_t pcl::octree::OctreeBase< int , LeafT, BranchT >::getLeafCount ( ) const [inline, inherited]

Return the amount of existing leafs in the octree.

Returns:
amount of registered leaf nodes.

Definition at line 204 of file octree_base.h.

int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getResolution ( ) const [inline, inherited]

Get octree voxel resolution.

Returns:
voxel resolution at lowest tree level

Definition at line 193 of file octree_pointcloud.h.

unsigned int pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getTreeDepth ( ) const [inline, inherited]

Get the maximum depth of the octree.

Returns:
depth_arg: maximum depth of octree

Reimplemented from pcl::octree::OctreeBase< int, LeafT, BranchT >.

Definition at line 201 of file octree_pointcloud.h.

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getVoxelBounds ( OctreeIteratorBase< int, OctreeBase<int, LeafT, BranchT> > &  iterator,
Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
) [inline, inherited]

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.

double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getVoxelSquaredDiameter ( ) const [inline, inherited]

Calculates the squared diameter of a voxel at leaf depth.

Returns:
squared diameter

Definition at line 368 of file octree_pointcloud.h.

double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
double pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::getVoxelSquaredSideLen ( ) const [inline, inherited]

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.

bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
bool pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::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
template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::nearestKSearch ( const PointCloud cloud,
int  index,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances 
) [inline]

Search for k-nearest neighbors at the query point.

Parameters:
[in]cloudthe point cloud data
[in]indexthe index in cloud representing the query point
[in]kthe number of neighbors to search for
[out]k_indicesthe resultant indices of the neighboring points (must be resized to k a priori!)
[out]k_sqr_distancesthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 124 of file octree_search.h.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::nearestKSearch ( const PointT p_q,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances 
)

Search for k-nearest neighbors at given query point.

Parameters:
[in]p_qthe given query point
[in]kthe number of neighbors to search for
[out]k_indicesthe resultant indices of the neighboring points (must be resized to k a priori!)
[out]k_sqr_distancesthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 82 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::nearestKSearch ( int  index,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances 
)

Search for k-nearest neighbors at query point.

Parameters:
[in]indexindex representing the query point in the dataset given by setInputCloud. If indices were given in setInputCloud, index will be the position in the indices vector.
[in]kthe number of neighbors to search for
[out]k_indicesthe resultant indices of the neighboring points (must be resized to k a priori!)
[out]k_sqr_distancesthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 125 of file octree_search.hpp.

template<typename PointT, typename LeafT = OctreeContainerDataTVector<int>, typename BranchT = OctreeContainerEmpty<int>>
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::radiusSearch ( const PointCloud cloud,
int  index,
double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances,
unsigned int  max_nn = 0 
) [inline]

Search for all neighbors of query point that are within a given radius.

Parameters:
[in]cloudthe point cloud data
[in]indexthe index in cloud representing the query point
[in]radiusthe radius of the sphere bounding all of p_q's neighbors
[out]k_indicesthe resultant indices of the neighboring points
[out]k_sqr_distancesthe resultant squared distances to the neighboring points
[in]max_nnif given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 196 of file octree_search.h.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::radiusSearch ( const PointT p_q,
const double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances,
unsigned int  max_nn = 0 
) const

Search for all neighbors of query point that are within a given radius.

Parameters:
[in]p_qthe given query point
[in]radiusthe radius of the sphere bounding all of p_q's neighbors
[out]k_indicesthe resultant indices of the neighboring points
[out]k_sqr_distancesthe resultant squared distances to the neighboring points
[in]max_nnif given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 162 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
int pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::radiusSearch ( int  index,
const double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_sqr_distances,
unsigned int  max_nn = 0 
) const

Search for all neighbors of query point that are within a given radius.

Parameters:
[in]indexindex representing the query point in the dataset given by setInputCloud. If indices were given in setInputCloud, index will be the position in the indices vector
[in]radiusradius of the sphere bounding all of p_q's neighbors
[out]k_indicesthe resultant indices of the neighboring points
[out]k_sqr_distancesthe resultant squared distances to the neighboring points
[in]max_nnif given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 182 of file octree_search.hpp.

void pcl::octree::OctreeBase< int , LeafT, BranchT >::removeLeaf ( unsigned int  idxX_arg,
unsigned int  idxY_arg,
unsigned int  idxZ_arg 
) [inherited]

Remove leaf node at (idxX_arg, idxY_arg, idxZ_arg).

Parameters:
idxX_arg,:index of leaf node in the X axis.
idxY_arg,:index of leaf node in the Y axis.
idxZ_arg,:index of leaf node in the Z axis.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::serializeLeafs ( std::vector< int > &  dataVector_arg) [inherited]

Outputs a vector of all DataT elements that are stored within the octree leaf nodes.

Parameters:
dataVector_arg,:reference to DataT vector that receives a copy of all DataT objects in the octree.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::serializeTree ( std::vector< char > &  binaryTreeOut_arg) [inherited]

Serialize octree into a binary output vector describing its branch node structure.

Parameters:
binaryTreeOut_arg,:reference to output vector for writing binary tree structure.
void pcl::octree::OctreeBase< int , LeafT, BranchT >::serializeTree ( std::vector< char > &  binaryTreeOut_arg,
std::vector< int > &  dataVector_arg 
) [inherited]

Serialize octree into a binary output vector describing its branch node structure and push all DataT elements stored in the octree to a vector.

Parameters:
binaryTreeOut_arg,:reference to output vector for writing binary tree structure.
dataVector_arg,:reference of DataT vector that receives a copy of all DataT objects in the octree
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::setEpsilon ( double  eps) [inline, inherited]

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.

void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::setInputCloud ( const PointCloudConstPtr cloud_arg,
const IndicesConstPtr indices_arg = IndicesConstPtr () 
) [inline, inherited]

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.

void pcl::octree::OctreeBase< int , LeafT, BranchT >::setMaxVoxelIndex ( unsigned int  maxVoxelIndex_arg) [inherited]

Set the maximum amount of voxels per dimension.

Parameters:
[in]maxVoxelIndex_argmaximum amount of voxels per dimension
void pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> >::setResolution ( double  resolution_arg) [inline, inherited]

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.

void pcl::octree::OctreeBase< int , LeafT, BranchT >::setTreeDepth ( unsigned int  depth_arg) [inherited]

Set the maximum depth of the octree.

Parameters:
depth_arg,:maximum depth of octree
template<typename PointT , typename LeafT , typename BranchT >
bool pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::voxelSearch ( const PointT point,
std::vector< int > &  pointIdx_data 
)

Search for neighbors within a voxel at given point.

Parameters:
[in]pointpoint addressing a leaf node voxel
[out]pointIdx_datathe resultant indices of the neighboring voxel points
Returns:
"true" if leaf node exist; "false" otherwise

Definition at line 50 of file octree_search.hpp.

template<typename PointT , typename LeafT , typename BranchT >
bool pcl::octree::OctreePointCloudSearch< PointT, LeafT, BranchT >::voxelSearch ( const int  index,
std::vector< int > &  pointIdx_data 
)

Search for neighbors within a voxel at given point referenced by a point index.

Parameters:
[in]indexthe index in input cloud defining the query point
[out]pointIdx_datathe resultant indices of the neighboring voxel points
Returns:
"true" if leaf node exist; "false" otherwise

Definition at line 73 of file octree_search.hpp.


Friends And Related Function Documentation

friend class OctreeBreadthFirstIterator< int , OctreeT > [friend, inherited]

Definition at line 77 of file octree_base.h.

friend class OctreeDepthFirstIterator< int , OctreeT > [friend, inherited]

Definition at line 76 of file octree_base.h.

friend class OctreeIteratorBase< int , OctreeT > [friend, inherited]

Definition at line 75 of file octree_base.h.

friend class OctreeLeafNodeIterator< int , OctreeT > [friend, inherited]

Definition at line 78 of file octree_base.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines