SegmentCloudRtree 类用于处理 3D 线段云 将类型 T 的元素与线段的两个端点关联,用于快速 k-NN 搜索。 更多...
#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 |
返回与指定几何形状相交的线段。 警告:Boost 库没有实现3D线段间的交集计算。 | |
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 |
返回带有用户定义过滤器的最近邻元素。 过滤器接收一个 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 |
SegmentCloudRtree 类用于处理 3D 线段云 将类型 T 的元素与线段的两个端点关联,用于快速 k-NN 搜索。
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 |
返回与指定几何形状相交的线段。 警告:Boost 库没有实现3D线段间的交集计算。
|
inline |
|
inline |
返回带有用户定义过滤器的最近邻元素。 过滤器接收一个 TreeElement 值作为参数,并且需要 返回一个布尔值以接受或拒绝该值 示例过滤器:[&](Rtree::TreeElement const &element){如果 IsOk(element) 返回 true; 否则返回 false;}
|
inline |
|
inline |
|
inline |
|
inline |
|
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().