Rtree class working with 3D segment clouds. More...
#include <Rtree.h>
Public Types | |
typedef boost::geometry::model::point< float, Dimension, boost::geometry::cs::cartesian > | BPoint |
typedef boost::geometry::model::segment< BPoint > | BSegment |
typedef std::pair< BSegment, std::pair< T, T > > | TreeElement |
Public Member Functions | |
template<typename Geometry > | |
std::vector< TreeElement > | GetIntersections (const Geometry &geometry) const |
Returns segments that intersec the specified geometry Warning: intersection between 3D segments is not implemented by boost. More... | |
template<typename Geometry > | |
std::vector< TreeElement > | GetNearestNeighbours (const Geometry &geometry, size_t number_neighbours=1) const |
template<typename Geometry , typename Filter > | |
std::vector< TreeElement > | GetNearestNeighboursWithFilter (const Geometry &geometry, Filter filter, size_t number_neighbours=1) const |
Return nearest neighbors with a user defined filter. More... | |
size_t | GetTreeSize () const |
void | InsertElement (const BSegment &segment, const T &element_start, const T &element_end) |
void | InsertElement (const TreeElement &element) |
void | InsertElements (const std::vector< TreeElement > &elements) |
Private Attributes | |
boost::geometry::index::rtree< TreeElement, boost::geometry::index::linear< 16 > > | _rtree |
Rtree class working with 3D segment clouds.
Stores a pair of T elements (one for each end of the segment) Useful to perform fast k-NN searches.
typedef boost::geometry::model::point<float, Dimension, boost::geometry::cs::cartesian> carla::geom::SegmentCloudRtree< T, Dimension >::BPoint |
typedef boost::geometry::model::segment<BPoint> carla::geom::SegmentCloudRtree< T, Dimension >::BSegment |
typedef std::pair<BSegment, std::pair<T, T> > carla::geom::SegmentCloudRtree< T, Dimension >::TreeElement |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |