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

SegmentCloudRtree 类用于处理 3D 线段云 将类型 T 的元素与线段的两个端点关联,用于快速 k-NN 搜索。 更多...

#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
 返回与指定几何形状相交的线段。 警告:Boost 库没有实现3D线段间的交集计算。
 
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
 返回带有用户定义过滤器的最近邻元素。 过滤器接收一个 TreeElement 值作为参数,并且需要 返回一个布尔值以接受或拒绝该值 示例过滤器:[&](Rtree::TreeElement const &element){如果 IsOk(element) 返回 true; 否则返回 false;}
 
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 >

SegmentCloudRtree 类用于处理 3D 线段云 将类型 T 的元素与线段的两个端点关联,用于快速 k-NN 搜索。

在文件 Rtree.h90 行定义.

成员类型定义说明

◆ 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.h93 行定义.

◆ BSegment

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

在文件 Rtree.h94 行定义.

◆ TreeElement

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

在文件 Rtree.h95 行定义.

成员函数说明

◆ 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

返回与指定几何形状相交的线段。 警告:Boost 库没有实现3D线段间的交集计算。

在文件 Rtree.h139 行定义.

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

◆ 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.h128 行定义.

引用了 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

返回带有用户定义过滤器的最近邻元素。 过滤器接收一个 TreeElement 值作为参数,并且需要 返回一个布尔值以接受或拒绝该值 示例过滤器:[&](Rtree::TreeElement const &element){如果 IsOk(element) 返回 true; 否则返回 false;}

在文件 Rtree.h115 行定义.

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

◆ 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.h97 行定义.

引用了 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

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

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