Public Member Functions | Private Member Functions | Private Attributes
cloud_kdtree::KdTreeFLANN Class Reference

#include <kdtree_flann.h>

Inheritance diagram for cloud_kdtree::KdTreeFLANN:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 KdTreeFLANN (const sensor_msgs::PointCloud &points)
 Constructor for KdTree.
 KdTreeFLANN (const sensor_msgs::PointCloud &points, const std::vector< int > &indices)
 Constructor for KdTree.
virtual void nearestKSearch (const geometry_msgs::Point32 &p_q, int k, std::vector< int > &k_indices, std::vector< float > &k_distances)
 Search for k-nearest neighbors for the given query point.
virtual void nearestKSearch (const sensor_msgs::PointCloud &points, int index, int k, std::vector< int > &k_indices, std::vector< float > &k_distances)
 Search for k-nearest neighbors for the given query point.
virtual void nearestKSearch (int index, int k, std::vector< int > &k_indices, std::vector< float > &k_distances)
 Search for k-nearest neighbors for the given query point.
virtual bool radiusSearch (const geometry_msgs::Point32 &p_q, double radius, std::vector< int > &k_indices, std::vector< float > &k_distances, int max_nn=INT_MAX)
 Search for all the nearest neighbors of the query point in a given radius.
virtual bool radiusSearch (const sensor_msgs::PointCloud &points, int index, double radius, std::vector< int > &k_indices, std::vector< float > &k_distances, int max_nn=INT_MAX)
 Search for all the nearest neighbors of the query point in a given radius.
virtual bool radiusSearch (int index, double radius, std::vector< int > &k_indices, std::vector< float > &k_distances, int max_nn=INT_MAX)
 Search for all the nearest neighbors of the query point in a given radius.
virtual ~KdTreeFLANN ()
 Destructor for KdTree. Deletes all allocated data arrays and destroys the kd-tree structures.

Private Member Functions

int convertCloudToArray (const sensor_msgs::PointCloud &ros_cloud)
 Converts a ROS PointCloud message to the internal ANN point array representation. Returns the number of points.
int convertCloudToArray (const sensor_msgs::PointCloud &ros_cloud, const std::vector< int > &indices)
 Converts a ROS PointCloud message with a given set of indices to the internal ANN point array representation. Returns the number of points.

Private Attributes

int dim_
 Tree dimensionality (i.e. the number of dimensions per point)
FLANNParameters flann_param_
 A pointer to a FL-ANN parameter structure.
FLANN_INDEX index_id_
 A FL-ANN type index reference.
boost::mutex m_lock_
int nr_points_
 Number of points in the tree.
float * points_
 Internal pointer to data.

Detailed Description

Definition at line 46 of file kdtree_flann.h.


Constructor & Destructor Documentation

Constructor for KdTree.

Parameters:
pointsthe ROS point cloud data array

Definition at line 54 of file kdtree_flann.h.

cloud_kdtree::KdTreeFLANN::KdTreeFLANN ( const sensor_msgs::PointCloud points,
const std::vector< int > &  indices 
) [inline]

Constructor for KdTree.

Note:
ATTENTION: This method breaks the 1-1 mapping between the indices returned using getNeighborsIndices and the ones from the points message ! When using this method, make sure to get the underlying point data using the getPoint method
Parameters:
pointsthe ROS point cloud data array
indicesthe point cloud indices

Definition at line 92 of file kdtree_flann.h.

virtual cloud_kdtree::KdTreeFLANN::~KdTreeFLANN ( ) [inline, virtual]

Destructor for KdTree. Deletes all allocated data arrays and destroys the kd-tree structures.

Definition at line 122 of file kdtree_flann.h.


Member Function Documentation

Converts a ROS PointCloud message to the internal ANN point array representation. Returns the number of points.

Parameters:
ros_cloudthe ROS PointCloud message

Definition at line 206 of file kdtree_flann.cpp.

int cloud_kdtree::KdTreeFLANN::convertCloudToArray ( const sensor_msgs::PointCloud ros_cloud,
const std::vector< int > &  indices 
) [private]

Converts a ROS PointCloud message with a given set of indices to the internal ANN point array representation. Returns the number of points.

Note:
ATTENTION: This method breaks the 1-1 mapping between the indices returned using getNeighborsIndices and the ones from the ros_cloud message ! When using this method, make sure to get the underlying point data using the getPoint method
Parameters:
ros_cloudthe ROS PointCloud message
indicesthe point cloud indices

Definition at line 241 of file kdtree_flann.cpp.

void cloud_kdtree::KdTreeFLANN::nearestKSearch ( const geometry_msgs::Point32 &  p_q,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances 
) [virtual]

Search for k-nearest neighbors for the given query point.

Parameters:
p_qthe given query point
kthe number of neighbors to search for
k_indicesthe resultant point indices
k_distancesthe resultant point distances

0 12 198 1 127 18 132 10 11 197

0 12 198 1 2 125 26 278 42 248 0 12 198 1 18 132 10 197 16 9 0 12 198 1 18 132 10 197 16 9 0 12 198 1 18 132 10 197 16 9

Implements cloud_kdtree::KdTree.

Definition at line 45 of file kdtree_flann.cpp.

void cloud_kdtree::KdTreeFLANN::nearestKSearch ( const sensor_msgs::PointCloud points,
int  index,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances 
) [virtual]

Search for k-nearest neighbors for the given query point.

Parameters:
pointsthe point cloud data
indexthe index in points representing the query point
kthe number of neighbors to search for
k_indicesthe resultant point indices
k_distancesthe resultant point distances

Implements cloud_kdtree::KdTree.

Definition at line 99 of file kdtree_flann.cpp.

virtual void cloud_kdtree::KdTreeFLANN::nearestKSearch ( int  index,
int  k,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances 
) [inline, virtual]

Search for k-nearest neighbors for the given query point.

Parameters:
indexthe index in points representing the query point
kthe number of neighbors to search for
k_indicesthe resultant point indices
k_distancesthe resultant point distances

Implements cloud_kdtree::KdTree.

Definition at line 147 of file kdtree_flann.h.

bool cloud_kdtree::KdTreeFLANN::radiusSearch ( const geometry_msgs::Point32 &  p_q,
double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances,
int  max_nn = INT_MAX 
) [virtual]

Search for all the nearest neighbors of the query point in a given radius.

Parameters:
p_qthe given query point
radiusthe radius of the sphere bounding all of p_q's neighbors
k_indicesthe resultant point indices
k_distancesthe resultant point distances
max_nnif given, bounds the maximum returned neighbors to this value

Implements cloud_kdtree::KdTree.

Definition at line 127 of file kdtree_flann.cpp.

bool cloud_kdtree::KdTreeFLANN::radiusSearch ( const sensor_msgs::PointCloud points,
int  index,
double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances,
int  max_nn = INT_MAX 
) [virtual]

Search for all the nearest neighbors of the query point in a given radius.

Parameters:
pointsthe point cloud data
indexthe index in points representing the query point
radiusthe radius of the sphere bounding all of p_q's neighbors
k_indicesthe resultant point indices
k_distancesthe resultant point distances
max_nnif given, bounds the maximum returned neighbors to this value

Implements cloud_kdtree::KdTree.

Definition at line 168 of file kdtree_flann.cpp.

virtual bool cloud_kdtree::KdTreeFLANN::radiusSearch ( int  index,
double  radius,
std::vector< int > &  k_indices,
std::vector< float > &  k_distances,
int  max_nn = INT_MAX 
) [inline, virtual]

Search for all the nearest neighbors of the query point in a given radius.

Parameters:
indexthe index in points representing the query point
radiusthe radius of the sphere bounding all of p_q's neighbors
k_indicesthe resultant point indices
k_distancesthe resultant point distances
max_nnif given, bounds the maximum returned neighbors to this value

Implements cloud_kdtree::KdTree.

Definition at line 170 of file kdtree_flann.h.


Member Data Documentation

Tree dimensionality (i.e. the number of dimensions per point)

Definition at line 220 of file kdtree_flann.h.

FLANNParameters cloud_kdtree::KdTreeFLANN::flann_param_ [private]

A pointer to a FL-ANN parameter structure.

Definition at line 212 of file kdtree_flann.h.

FLANN_INDEX cloud_kdtree::KdTreeFLANN::index_id_ [private]

A FL-ANN type index reference.

Definition at line 209 of file kdtree_flann.h.

boost::mutex cloud_kdtree::KdTreeFLANN::m_lock_ [private]

Definition at line 206 of file kdtree_flann.h.

Number of points in the tree.

Definition at line 218 of file kdtree_flann.h.

Internal pointer to data.

Definition at line 215 of file kdtree_flann.h.


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


door_handle_detector
Author(s): Radu Bogdan Rusu, Marius
autogenerated on Wed Dec 11 2013 14:17:01