Point Cloud Library (PCL)
1.11.1-dev
|
43 #include <pcl/point_cloud.h>
44 #include <pcl/point_representation.h>
45 #include <pcl/common/copy_point.h>
53 template <
typename Po
intT>
68 using Ptr = shared_ptr<KdTree<PointT> >;
69 using ConstPtr = shared_ptr<const KdTree<PointT> >;
99 inline PointCloudConstPtr
136 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const = 0;
156 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const
158 assert (index >= 0 && index <
static_cast<int> (cloud.
size ()) &&
"Out-of-bounds error in nearestKSearch!");
159 return (
nearestKSearch (cloud[index], k, k_indices, k_sqr_distances));
171 template <
typename Po
intTDiff>
inline int
173 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const
199 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const
203 assert (index >= 0 && index <
static_cast<int> (
input_->size ()) &&
"Out-of-bounds error in nearestKSearch!");
206 assert (index >= 0 && index <
static_cast<int> (
indices_->size ()) &&
"Out-of-bounds error in nearestKSearch!");
223 std::vector<float> &k_sqr_distances,
unsigned int max_nn = 0)
const = 0;
244 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances,
245 unsigned int max_nn = 0)
const
247 assert (index >= 0 && index <
static_cast<int> (cloud.
size ()) &&
"Out-of-bounds error in radiusSearch!");
248 return (
radiusSearch(cloud[index], radius, k_indices, k_sqr_distances, max_nn));
261 template <
typename Po
intTDiff>
inline int
262 radiusSearchT (
const PointTDiff &point,
double radius, std::vector<int> &k_indices,
263 std::vector<float> &k_sqr_distances,
unsigned int max_nn = 0)
const
267 return (
radiusSearch (p, radius, k_indices, k_sqr_distances, max_nn));
291 std::vector<float> &k_sqr_distances,
unsigned int max_nn = 0)
const
295 assert (index >= 0 && index <
static_cast<int> (
input_->size ()) &&
"Out-of-bounds error in radiusSearch!");
298 assert (index >= 0 && index <
static_cast<int> (
indices_->size ()) &&
"Out-of-bounds error in radiusSearch!");
virtual int nearestKSearch(int index, unsigned int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances) const
Search for k-nearest neighbors for the given query point (zero-copy).
int min_pts_
Minimum allowed number of k nearest neighbors points that a viable result must contain.
Defines all the PCL and non-PCL macros used.
shared_ptr< const std::vector< int > > IndicesConstPtr
virtual void setEpsilon(float eps)
Set the search epsilon precision (error bound) for nearest neighbors searches.
KdTree represents the base spatial locator class for kd-tree implementations.
shared_ptr< const KdTree< FeatureT > > ConstPtr
int radiusSearchT(const PointTDiff &point, double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Search for all the nearest neighbors of the query point in a given radius.
shared_ptr< const Indices > IndicesConstPtr
DefaultPointRepresentation extends PointRepresentation to define default behavior for common point ty...
IndicesConstPtr indices_
A pointer to the vector of point indices to use.
shared_ptr< const PointRepresentation< PointT > > ConstPtr
virtual void setInputCloud(const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr())
Provide a pointer to the input dataset.
void setMinPts(int min_pts)
Minimum allowed number of k nearest neighbors points that a viable result must contain.
A point structure representing Euclidean xyz coordinates, and the RGB color.
shared_ptr< std::vector< int > > IndicesPtr
virtual 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) const
Search for all the nearest neighbors of the query point in a given radius.
float getEpsilon() const
Get the search epsilon precision (error bound) for nearest neighbors searches.
PointRepresentationConstPtr getPointRepresentation() const
Get a pointer to the point representation used when converting points into k-D vectors.
void copyPoint(const PointInT &point_in, PointOutT &point_out)
Copy the fields of a source point into a target point.
virtual int radiusSearch(const PointT &p_q, double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const =0
Search for all the nearest neighbors of the query point in a given radius.
virtual std::string getName() const =0
Class getName method.
typename PointCloud::Ptr PointCloudPtr
IndicesConstPtr getIndices() const
Get a pointer to the vector of indices used.
virtual int nearestKSearch(const PointCloud &cloud, int index, unsigned int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances) const
Search for k-nearest neighbors for the given query point.
PointCloudConstPtr getInputCloud() const
Get a pointer to the input point cloud dataset.
PointRepresentationConstPtr point_representation_
For converting different point structures into k-dimensional vectors for nearest-neighbor search.
bool sorted_
Return the radius search neighbours sorted.
shared_ptr< PointCloud< PointT > > Ptr
virtual ~KdTree()
Destructor for KdTree.
shared_ptr< KdTree< FeatureT > > Ptr
virtual int radiusSearch(int index, double radius, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Search for all the nearest neighbors of the query point in a given radius (zero-copy).
shared_ptr< const PointCloud< PointT > > ConstPtr
float epsilon_
Epsilon precision (error bound) for nearest neighbors searches.
virtual int nearestKSearch(const PointT &p_q, unsigned int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances) const =0
Search for k-nearest neighbors for the given query point.
typename PointRepresentation::ConstPtr PointRepresentationConstPtr
PointCloudConstPtr input_
The input point cloud dataset containing the points we need to use.
int getMinPts() const
Get the minimum allowed number of k nearest neighbors points that a viable result must contain.
Defines functions, macros and traits for allocating and using memory.
typename PointCloud::ConstPtr PointCloudConstPtr
void setPointRepresentation(const PointRepresentationConstPtr &point_representation)
Provide a pointer to the point representation to use to convert points into k-D vectors.
KdTree(bool sorted=true)
Empty constructor for KdTree.
int nearestKSearchT(const PointTDiff &point, unsigned int k, std::vector< int > &k_indices, std::vector< float > &k_sqr_distances) const
Search for k-nearest neighbors for the given query point.