|
CARLA
|
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. | |
| 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 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 |
Returns segments that intersec the specified geometry Warning: intersection between 3D segments is not implemented by boost.
Definition at line 135 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
Referenced by carla::road::Map::ComputeJunctionConflicts().
|
inline |
Definition at line 124 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
Referenced by carla::road::element::GeometryPoly3::PosFromDist(), and carla::road::element::GeometryParamPoly3::PosFromDist().
|
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;}
Definition at line 111 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
Referenced by carla::road::Map::GetClosestWaypointOnRoad().
|
inline |
Definition at line 143 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
|
inline |
Definition at line 93 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
Referenced by carla::road::element::GeometryPoly3::PreComputeSpline(), and carla::road::element::GeometryParamPoly3::PreComputeSpline().
|
inline |
Definition at line 97 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
|
inline |
Definition at line 101 of file Rtree.h.
References carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.
Referenced by carla::road::Map::CreateRtree().
|
private |
Definition at line 149 of file Rtree.h.
Referenced by 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(), and carla::geom::SegmentCloudRtree< T, Dimension >::InsertElements().