37 #ifndef _PCL_GPU_OCTREE_
38 #define _PCL_GPU_OCTREE_
46 #include <pcl/gpu/containers/device_array.h>
47 #include <pcl/gpu/octree/device_format.hpp>
69 using Ptr = shared_ptr<Octree>;
111 int max_nn = std::numeric_limits<int>::max());
Octree implementation on GPU.
bool isBuilt() const
Returns true if tree has been built.
void radiusSearchHost(const PointType ¢er, float radius, std::vector< int > &out, int max_nn=std::numeric_limits< int >::max())
Performs search of all points within given radius on CPU.
void nearestKSearchBatch(const Queries &queries, int k, NeighborIndices &results, ResultSqrDists &sqr_distances) const
Batch exact k-nearest search on GPU for k == 1 only!
shared_ptr< Octree > Ptr
Types.
virtual ~Octree()
Denstructor.
void internalDownload()
Downloads Octree from GPU to search using CPU function.
void approxNearestSearch(const Queries &queries, NeighborIndices &result, ResultSqrDists &sqr_distance) const
Batch approximate nearest search on GPU.
void setCloud(const PointCloud &cloud_arg)
Sets cloud for which octree is built.
void clear()
Destroys octree and release all resources.
shared_ptr< const Octree > ConstPtr
void radiusSearch(const Queries ¢ers, const Indices &indices, float radius, int max_results, NeighborIndices &result) const
Performs batch radius search on GPU.
Octree()
Default constructor.
const PointCloud * cloud_
void approxNearestSearchHost(const PointType &query, int &out_index, float &sqr_dist)
Performs approximate nearest neighbor search on CPU.
void radiusSearch(const Queries ¢ers, const Radiuses &radiuses, int max_results, NeighborIndices &result) const
Performs batch radius search on GPU.
void build()
Performs parallel octree building.
void nearestKSearchBatch(const Queries &queries, int k, NeighborIndices &results) const
Batch exact k-nearest search on GPU for k == 1 only!
void radiusSearch(const Queries ¢ers, float radius, int max_results, NeighborIndices &result) const
Performs batch radius search on GPU.
Defines all the PCL implemented PointT point type structures.
Defines functions, macros and traits for allocating and using memory.
PCL_EXPORTS void bruteForceRadiusSearchGPU(const Octree::PointCloud &cloud, const Octree::PointType &query, float radius, DeviceArray< int > &result, DeviceArray< int > &buffer)
Performs brute force radius search on GPU.
Defines all the PCL and non-PCL macros used.
A point structure representing Euclidean xyz coordinates.