PointCloudRtree 类用于处理 3D 点云。 将类型 T 的元素与 3D 点关联,用于快速 k-NN 搜索。 更多...
#include <Rtree.h>
Public 类型 | |
typedef boost::geometry::model::point< float, Dimension, boost::geometry::cs::cartesian > | BPoint |
typedef std::pair< BPoint, T > | TreeElement |
Public 成员函数 | |
std::vector< TreeElement > | GetNearestNeighbours (const BPoint &point, size_t number_neighbours=1) const |
template<typename Filter > | |
std::vector< TreeElement > | GetNearestNeighboursWithFilter (const BPoint &point, Filter filter, size_t number_neighbours=1) const |
返回最近邻元素,可以应用用户定义的过滤器。 过滤器接收一个 TreeElement 值作为参数,并且需要 返回一个布尔值以接受或拒绝该值 例如:[&](Rtree::TreeElement const &element){如果 IsOk(element) 返回 true; 否则返回 false;} | |
size_t | GetTreeSize () const |
void | InsertElement (const BPoint &point, const T &element) |
void | InsertElement (const TreeElement &element) |
void | InsertElements (const std::vector< TreeElement > &elements) |
Private 属性 | |
boost::geometry::index::rtree< TreeElement, boost::geometry::index::linear< 16 > > | _rtree |
PointCloudRtree 类用于处理 3D 点云。 将类型 T 的元素与 3D 点关联,用于快速 k-NN 搜索。
typedef boost::geometry::model::point<float, Dimension, boost::geometry::cs::cartesian> carla::geom::PointCloudRtree< T, Dimension >::BPoint |
typedef std::pair<BPoint, T> carla::geom::PointCloudRtree< T, Dimension >::TreeElement |
|
inline |
|
inline |
返回最近邻元素,可以应用用户定义的过滤器。 过滤器接收一个 TreeElement 值作为参数,并且需要 返回一个布尔值以接受或拒绝该值 例如:[&](Rtree::TreeElement const &element){如果 IsOk(element) 返回 true; 否则返回 false;}
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
被这些函数引用 carla::geom::PointCloudRtree< T, Dimension >::GetNearestNeighbours(), carla::geom::PointCloudRtree< T, Dimension >::GetNearestNeighboursWithFilter(), carla::geom::PointCloudRtree< T, Dimension >::GetTreeSize(), carla::geom::PointCloudRtree< T, Dimension >::InsertElement(), carla::geom::PointCloudRtree< T, Dimension >::InsertElement() , 以及 carla::geom::PointCloudRtree< T, Dimension >::InsertElements().