Rtree class working with 3D segment clouds. 更多...
#include <Rtree.h>
Public 类型 | |
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 成员函数 | |
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 | |
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. | |
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 属性 | |
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 |
Returns segments that intersec the specified geometry Warning: intersection between 3D segments is not implemented by boost
引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
被这些函数引用 carla::road::Map::ComputeJunctionConflicts().
|
inline |
|
inline |
Return nearest neighbors with a user defined filter.
The filter reveices as an argument a TreeElement value and needs to return a bool to accept or reject the value [&](Rtree::TreeElement const &element){if (IsOk(element)) return true; else return false;}
引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
被这些函数引用 carla::road::Map::GetClosestWaypointOnRoad().
|
inline |
|
inline |
|
inline |
|
inline |
引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
被这些函数引用 carla::road::Map::CreateRtree().
|
private |
被这些函数引用 carla::geom::SegmentCloudRtree< T, Dimension >::GetIntersections(), carla::geom::SegmentCloudRtree< T, Dimension >::GetNearestNeighbours(), carla::geom::SegmentCloudRtree< T, Dimension >::GetNearestNeighboursWithFilter(), carla::geom::SegmentCloudRtree< T, Dimension >::GetTreeSize(), carla::geom::SegmentCloudRtree< T, Dimension >::InsertElement(), carla::geom::SegmentCloudRtree< T, Dimension >::InsertElement() , 以及 carla::geom::SegmentCloudRtree< T, Dimension >::InsertElements().