CARLA
 
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 属性 | 所有成员列表
carla::geom::SegmentCloudRtree< T, Dimension > 模板类 参考

Rtree class working with 3D segment clouds. 更多...

#include <Rtree.h>

+ 类 carla::geom::SegmentCloudRtree< T, Dimension > 继承关系图:
+ carla::geom::SegmentCloudRtree< T, Dimension > 的协作图:

Public 类型

typedef boost::geometry::model::point< float, Dimension, boost::geometry::cs::cartesian > BPoint
 
typedef boost::geometry::model::segment< BPointBSegment
 
typedef std::pair< BSegment, std::pair< T, T > > TreeElement
 

Public 成员函数

template<typename Geometry >
std::vector< TreeElementGetIntersections (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< TreeElementGetNearestNeighbours (const Geometry &geometry, size_t number_neighbours=1) const
 
template<typename Geometry , typename Filter >
std::vector< TreeElementGetNearestNeighboursWithFilter (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
 

详细描述

template<typename T, size_t Dimension = 3>
class carla::geom::SegmentCloudRtree< T, Dimension >

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.

在文件 Rtree.h86 行定义.

成员类型定义说明

◆ BPoint

template<typename T , size_t Dimension = 3>
typedef boost::geometry::model::point<float, Dimension, boost::geometry::cs::cartesian> carla::geom::SegmentCloudRtree< T, Dimension >::BPoint

在文件 Rtree.h89 行定义.

◆ BSegment

template<typename T , size_t Dimension = 3>
typedef boost::geometry::model::segment<BPoint> carla::geom::SegmentCloudRtree< T, Dimension >::BSegment

在文件 Rtree.h90 行定义.

◆ TreeElement

template<typename T , size_t Dimension = 3>
typedef std::pair<BSegment, std::pair<T, T> > carla::geom::SegmentCloudRtree< T, Dimension >::TreeElement

在文件 Rtree.h91 行定义.

成员函数说明

◆ GetIntersections()

template<typename T , size_t Dimension = 3>
template<typename Geometry >
std::vector< TreeElement > carla::geom::SegmentCloudRtree< T, Dimension >::GetIntersections ( const Geometry & geometry) const
inline

Returns segments that intersec the specified geometry Warning: intersection between 3D segments is not implemented by boost

在文件 Rtree.h135 行定义.

引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.

被这些函数引用 carla::road::Map::ComputeJunctionConflicts().

+ 这是这个函数的调用关系图:

◆ GetNearestNeighbours()

template<typename T , size_t Dimension = 3>
template<typename Geometry >
std::vector< TreeElement > carla::geom::SegmentCloudRtree< T, Dimension >::GetNearestNeighbours ( const Geometry & geometry,
size_t number_neighbours = 1 ) const
inline

在文件 Rtree.h124 行定义.

引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.

被这些函数引用 carla::road::element::GeometryPoly3::PosFromDist() , 以及 carla::road::element::GeometryParamPoly3::PosFromDist().

+ 这是这个函数的调用关系图:

◆ GetNearestNeighboursWithFilter()

template<typename T , size_t Dimension = 3>
template<typename Geometry , typename Filter >
std::vector< TreeElement > carla::geom::SegmentCloudRtree< T, Dimension >::GetNearestNeighboursWithFilter ( const Geometry & geometry,
Filter filter,
size_t number_neighbours = 1 ) const
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;}

在文件 Rtree.h111 行定义.

引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.

被这些函数引用 carla::road::Map::GetClosestWaypointOnRoad().

+ 这是这个函数的调用关系图:

◆ GetTreeSize()

template<typename T , size_t Dimension = 3>
size_t carla::geom::SegmentCloudRtree< T, Dimension >::GetTreeSize ( ) const
inline

◆ InsertElement() [1/2]

template<typename T , size_t Dimension = 3>
void carla::geom::SegmentCloudRtree< T, Dimension >::InsertElement ( const BSegment & segment,
const T & element_start,
const T & element_end )
inline

在文件 Rtree.h93 行定义.

引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.

被这些函数引用 carla::road::element::GeometryPoly3::PreComputeSpline() , 以及 carla::road::element::GeometryParamPoly3::PreComputeSpline().

+ 这是这个函数的调用关系图:

◆ InsertElement() [2/2]

template<typename T , size_t Dimension = 3>
void carla::geom::SegmentCloudRtree< T, Dimension >::InsertElement ( const TreeElement & element)
inline

◆ InsertElements()

template<typename T , size_t Dimension = 3>
void carla::geom::SegmentCloudRtree< T, Dimension >::InsertElements ( const std::vector< TreeElement > & elements)
inline

在文件 Rtree.h101 行定义.

引用了 carla::geom::SegmentCloudRtree< T, Dimension >::_rtree.

被这些函数引用 carla::road::Map::CreateRtree().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _rtree

template<typename T , size_t Dimension = 3>
boost::geometry::index::rtree<TreeElement, boost::geometry::index::linear<16> > carla::geom::SegmentCloudRtree< T, Dimension >::_rtree
private

该类的文档由以下文件生成: