Point Cloud Library (PCL)
1.8.1
|
Octree implementation on GPU. More...
#include </build/pcl-2VaGkC/pcl-1.8.1+dfsg1/gpu/octree/include/pcl/gpu/octree/octree.hpp>
Public Types | |
typedef boost::shared_ptr< Octree > | Ptr |
Types. More... | |
typedef pcl::PointXYZ | PointType |
Point typwe supported. More... | |
typedef DeviceArray< PointType > | PointCloud |
Point cloud supported. More... | |
typedef DeviceArray< PointType > | Queries |
Point Batch query cloud type. More... | |
typedef DeviceArray< float > | Radiuses |
Point Radiuses for batch query. More... | |
typedef DeviceArray< int > | Indices |
Point Indices for batch query. More... | |
typedef DeviceArray< float > | ResultSqrDists |
Point Sqrt distances array type. More... | |
Public Member Functions | |
Octree () | |
Default constructor. More... | |
virtual | ~Octree () |
Denstructor. More... | |
void | setCloud (const PointCloud &cloud_arg) |
Sets cloud for which octree is built. More... | |
void | build () |
Performs parallel octree building. More... | |
bool | isBuilt () |
Returns true if tree has been built. More... | |
void | internalDownload () |
Downloads Octree from GPU to search using CPU fucntion. More... | |
void | radiusSearchHost (const PointType ¢er, float radius, std::vector< int > &out, int max_nn=INT_MAX) |
Performs search of all points wihtin given radius on CPU. More... | |
void | approxNearestSearchHost (const PointType &query, int &out_index, float &sqr_dist) |
Performs approximate neares neighbor search on CPU. More... | |
void | radiusSearch (const Queries ¢ers, float radius, int max_results, NeighborIndices &result) const |
Performs batch radius search on GPU. More... | |
void | radiusSearch (const Queries ¢ers, const Radiuses &radiuses, int max_results, NeighborIndices &result) const |
Performs batch radius search on GPU. More... | |
void | radiusSearch (const Queries ¢ers, const Indices &indices, float radius, int max_results, NeighborIndices &result) const |
Performs batch radius search on GPU. More... | |
void | approxNearestSearch (const Queries &queries, NeighborIndices &result) const |
Batch approximate nearest search on GPU. More... | |
void | nearestKSearchBatch (const Queries &queries, int k, NeighborIndices &results) const |
Batch exact k-nearest search on GPU for k == 1 only! More... | |
void | clear () |
Desroys octree and release all resources. More... | |
Public Attributes | |
const PointCloud * | cloud_ |
Octree implementation on GPU.
It suppors parallel building and paralel batch search as well .
Definition at line 56 of file octree.hpp.
typedef DeviceArray<int> pcl::gpu::Octree::Indices |
Point Indices for batch query.
Definition at line 82 of file octree.hpp.
Point cloud supported.
Definition at line 73 of file octree.hpp.
Point typwe supported.
Definition at line 70 of file octree.hpp.
typedef boost::shared_ptr<Octree> pcl::gpu::Octree::Ptr |
Types.
Definition at line 67 of file octree.hpp.
Point Batch query cloud type.
Definition at line 76 of file octree.hpp.
typedef DeviceArray<float> pcl::gpu::Octree::Radiuses |
Point Radiuses for batch query.
Definition at line 79 of file octree.hpp.
typedef DeviceArray<float> pcl::gpu::Octree::ResultSqrDists |
Point Sqrt distances array type.
Definition at line 85 of file octree.hpp.
pcl::gpu::Octree::Octree | ( | ) |
Default constructor.
|
virtual |
Denstructor.
void pcl::gpu::Octree::approxNearestSearch | ( | const Queries & | queries, |
NeighborIndices & | result | ||
) | const |
Batch approximate nearest search on GPU.
[in] | queries | array of centers |
[out] | result | array of results ( one index for each query ) |
void pcl::gpu::Octree::approxNearestSearchHost | ( | const PointType & | query, |
int & | out_index, | ||
float & | sqr_dist | ||
) |
Performs approximate neares neighbor search on CPU.
It call internalDownload if nessesary
[in] | query | 3D point for which neighbour is be fetched |
[out] | out_index | neighbour index |
[out] | sqr_dist | square distance to the neighbour returned |
void pcl::gpu::Octree::build | ( | ) |
Performs parallel octree building.
void pcl::gpu::Octree::clear | ( | ) |
Desroys octree and release all resources.
void pcl::gpu::Octree::internalDownload | ( | ) |
Downloads Octree from GPU to search using CPU fucntion.
It use usefull for signle (not-batch) search
bool pcl::gpu::Octree::isBuilt | ( | ) |
Returns true if tree has been built.
void pcl::gpu::Octree::nearestKSearchBatch | ( | const Queries & | queries, |
int | k, | ||
NeighborIndices & | results | ||
) | const |
Batch exact k-nearest search on GPU for k == 1 only!
[in] | queries | array of centers |
[in] | k | nubmer of neighbors (only k == 1 is supported) |
[out] | results | array of results |
void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
float | radius, | ||
int | max_results, | ||
NeighborIndices & | result | ||
) | const |
Performs batch radius search on GPU.
[in] | centers | array of centers |
[in] | radius | radius for all queries |
[in] | max_results | max number of returned points for each querey |
[out] | result | results packed to signle array |
void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
const Radiuses & | radiuses, | ||
int | max_results, | ||
NeighborIndices & | result | ||
) | const |
Performs batch radius search on GPU.
[in] | centers | array of centers |
[in] | radiuses | array of radiuses |
[in] | max_results | max number of returned points for each querey |
[out] | result | results packed to signle array |
void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
const Indices & | indices, | ||
float | radius, | ||
int | max_results, | ||
NeighborIndices & | result | ||
) | const |
Performs batch radius search on GPU.
[in] | centers | array of centers |
[in] | indices | indices for centers array (only for these points search is performed) |
[in] | radius | radius for all queries |
[in] | max_results | max number of returned points for each querey |
[out] | result | results packed to signle array |
void pcl::gpu::Octree::radiusSearchHost | ( | const PointType & | center, |
float | radius, | ||
std::vector< int > & | out, | ||
int | max_nn = INT_MAX |
||
) |
Performs search of all points wihtin given radius on CPU.
It call internalDownload if nessesary
[in] | center | center of sphere |
[in] | radius | radious of sphere |
[out] | out | indeces of points within give sphere |
[in] | max_nn | maximum numver of results returned |
void pcl::gpu::Octree::setCloud | ( | const PointCloud & | cloud_arg | ) |
Sets cloud for which octree is built.
const PointCloud* pcl::gpu::Octree::cloud_ |
Definition at line 87 of file octree.hpp.