KdTree представляет базовый класс пространственной локализации для реализаций kd-дерева. Подробнее...
#include <pcl/kdtree/kdtree.h>
Общедоступные типы | |
| using | IndicesPtr = shared_ptr< Indices > |
| using | IndicesConstPtr = shared_ptr< const Indices > |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointRepresentation = pcl::PointRepresentation< PointT > |
| using | PointRepresentationConstPtr = typename PointRepresentation::ConstPtr |
| using | Ptr = shared_ptr< KdTree< PointT > > |
| using | ConstPtr = shared_ptr< const KdTree< PointT > > |
Общедоступные функции-члены | |
| KdTree (bool sorted=true) | |
| Конструктор класса KdTree без параметров. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr()) | tr>
| Задать указатель на входной набор данных. Подробнее... |
|
| IndicesConstPtr | getIndices () const |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| PointCloudConstPtr | getInputCloud () const |
| Получить указатель на входной набор данных облака точек. Подробнее... |
|
| void | setPointRepresentation (const PointRepresentationConstPtr &point_representation) |
| Задать указатель на представление точек, используемое для преобразования точек в k-D-векторы. Подробнее... |
|
| PointRepresentationConstPtr | getPointRepresentation () const |
| Получить указатель на представление точек, используемое при преобразовании точек в k-D-векторы. Подробнее... |
|
| virtual | ~KdTree ()=default |
| Деструктор класса KdTree. Подробнее... |
|
| virtual int | nearestKSearch (const PointT &p_q, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const =0 |
| Найти k ближайших соседей для заданной точки запроса. Подробнее... |
|
| virtual int | nearestKSearch (const PointCloud &cloud, int index, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const | tr>
| Найти k ближайших соседей для заданной точки запроса. Подробнее... |
|
| template<typename PointTDiff > | |
| int | nearestKSearchT (const PointTDiff &point, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const |
| Найти k ближайших соседей для заданной точки запроса. Подробнее... |
|
| virtual int | nearestKSearch (int index, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const |
| Найти k ближайших соседей для заданной точки запроса (без копирования). Подробнее... |
|
| virtual int | radiusSearch (const PointT &p_q, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const =0 |
| Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
| virtual int | radiusSearch (const PointCloud &cloud, int index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
| Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
| template<typename PointTDiff > | |
| int | radiusSearchT (const PointTDiff &point, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
| Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
| virtual int | radiusSearch (int index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
| Найти всех ближайших соседей точки запроса в заданном радиусе (без копирования). Подробнее... |
|
| virtual void | setEpsilon (float eps) |
| Задать точность эпсилон поиска (границу погрешности) для поиска ближайших соседей. Подробнее... |
|
| float | getEpsilon () const |
| Получить точность эпсилон поиска (границу погрешности) для поиска ближайших соседей. Подробнее... |
|
| void | setMinPts (int min_pts) |
| Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать приемлемый результат. Подробнее... |
|
| int | getMinPts () const |
| Получить минимально допустимое количество точек среди k ближайших соседей, которое должен содержать приемлемый результат. Подробнее... |
|
| bool | getSortedResults () const |
| Проверяет, должны ли результаты быть отсортированы по возрастанию расстояния. В противном случае результаты могут возвращаться в произвольном порядке. Подробнее... |
|
Защищённые функции-члены | |
| virtual std::string | getName () const =0 |
| Метод класса getName. Подробнее... |
|
Защищённые атрибуты | |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек, содержащий необходимые точки. Подробнее... |
|
| IndicesConstPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| float | epsilon_ {0.0f} |
| Точность эпсилон (граница погрешности) при поиске ближайших соседей. Подробнее... |
|
| int | min_pts_ {1} |
| Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать приемлемый результат. Подробнее... |
|
| bool | sorted_ |
| Возвращать соседей, найденных поиском в радиусе, отсортированными. Подробнее... |
|
| PointRepresentationConstPtr | point_representation_ |
| Для преобразования структур разных типов точек в k-мерные векторы при поиске ближайших соседей. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::KdTree< PointT >
KdTree представляет базовый класс пространственной локализации для реализаций kd-дерева.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::KdTree< PointT >::ConstPtr = shared_ptr<const KdTree<PointT> > |
IndicesConstPtr
| using pcl::KdTree< PointT >::IndicesConstPtr = shared_ptr<const Indices > |
IndicesPtr
| using pcl::KdTree< PointT >::IndicesPtr = shared_ptr<Indices > |
PointCloud
| using pcl::KdTree< PointT >::PointCloud = pcl::PointCloud<PointT> |
PointCloudConstPtr
| using pcl::KdTree< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
PointCloudPtr
| using pcl::KdTree< PointT >::PointCloudPtr = typename PointCloud::Ptr |
PointRepresentation
| using pcl::KdTree< PointT >::PointRepresentation = pcl::PointRepresentation<PointT> |
PointRepresentationConstPtr
| using pcl::KdTree< PointT >::PointRepresentationConstPtr = typename PointRepresentation::ConstPtr |
Ptr
| using pcl::KdTree< PointT >::Ptr = shared_ptr<KdTree<PointT> > |
Документация конструкторов и деструкторов
KdTree()
| inline |
Конструктор KdTree без параметров.
Устанавливает некоторые внутренние значения по умолчанию.
- Параметры
-
[in] sorted установите значение true, если приложению, в котором будет использоваться дерево, требуются отсортированные индексы ближайших соседей (по умолчанию). В противном случае — false.
~KdTree()
| virtualdefault |
Деструктор KdTree.
Удаляет все выделенные массивы данных и уничтожает структуры k-d дерева.
Документация функций-членов
getEpsilon()
| inline |
Получить точность поиска epsilon (границу погрешности) при поиске ближайших соседей.
Определение в строке 314 файла kdtree.h.
См. также pcl::KdTree< PointT >::epsilon_.
getIndices()
| inline |
Получить указатель на используемый вектор индексов.
Определение в строке 94 файла kdtree.h.
См. также pcl::KdTree< PointT >::indices_.
Используется в pcl::extractEuclideanClusters().
getInputCloud()
| inline |
Получить указатель на входной набор облака точек.
Определение в строке 101 файла kdtree.h.
См. также pcl::KdTree< PointT >::input_.
Используется в pcl::extractEuclideanClusters().
getMinPts()
| inline |
Получить минимально допустимое количество точек среди k ближайших соседей, которое должен содержать допустимый результат.
Определение в строке 330 файла kdtree.h.
См. также pcl::KdTree< PointT >::min_pts_.
getName()
| protectedpure virtual |
Метод класса getName.
getPointRepresentation()
| inline |
Получить указатель на представление точек, используемое при преобразовании точек в k-D векторы.
Определение в строке 119 файла kdtree.h.
См. также pcl::KdTree< PointT >::point_representation_.
getSortedResults()
| inline |
Определяет, следует ли сортировать результаты (по возрастанию расстояния). В противном случае результаты могут возвращаться в произвольном порядке.
Определение в строке 339 файла kdtree.h.
См. также pcl::KdTree< PointT >::sorted_.
Используется в pcl::extractEuclideanClusters().
nearestKSearch() [1/3]
| inlinevirtual |
Поиск k ближайших соседей для заданной точки запроса.
- Внимание
- Этот метод не проверяет границы входного индекса (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
- Параметры
-
[in] cloud данные облака точек [in] index допустимый индекс в cloud, обозначающий допустимую (т. е. конечную) точку запроса [in] k количество искомых соседей [out] k_indices полученные индексы соседних точек (предварительно размер должен быть изменён на k!) [out] k_sqr_distances полученные квадраты расстояний до соседних точек (предварительно размер должен быть изменён на k!)
- Возвращает
- количество найденных соседей
- Исключения
-
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек
Определение в строке 156 файла kdtree.h.
См. также pcl::KdTree< PointT >::nearestKSearch() и pcl::PointCloud< PointT >::size().
nearestKSearch() [2/3]
| pure virtual |
Поиск k ближайших соседей для заданной точки запроса.
- Параметры
-
[in] p_q заданная точка запроса [in] k количество искомых соседей [out] k_indices полученные индексы соседних точек (предварительно размер должен быть изменён на k!) [out] k_sqr_distances полученные квадраты расстояний до соседних точек (предварительно размер должен быть изменён на k!)
- Возвращает
- количество найденных соседей
Реализовано в pcl::KdTreeFLANN< PointTarget >, pcl::KdTreeFLANN< PointT, Dist >, pcl::KdTreeFLANN< pcl::VFHSignature308 >, pcl::KdTreeFLANN< pcl::PointXYZRGB >, pcl::KdTreeFLANN< pcl::PointXYZLAB >, pcl::KdTreeFLANN< pcl::InterestPoint > и pcl::KdTreeFLANN< FeatureT >.
Используется в pcl::KdTree< PointT >::nearestKSearch() и pcl::KdTree< PointT >::nearestKSearchT().
nearestKSearch() [3/3]
| inlinevirtual |
Поиск k ближайших соседей для заданной точки запроса (без копирования данных).
- Внимание
- Этот метод не проверяет границы входного индекса (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
- Параметры
-
[in] index допустимый индекс, обозначающий допустимую точку запроса в наборе данных, заданном с помощью setInputCloud. Если в setInputCloud были заданы индексы, index будет позицией в векторе индексов. [in] k количество искомых соседей [out] k_indices полученные индексы соседних точек (предварительно размер должен быть изменён на k!) [out] k_sqr_distances полученные квадраты расстояний до соседних точек (предварительно размер должен быть изменён на k!)
- Возвращает
- количество найденных соседей
- Исключения
-
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек
Определение в строке 199 файла kdtree.h.
См. также pcl::KdTree< PointT >::indices_, pcl::KdTree< PointT >::input_ и pcl::KdTree< PointT >::nearestKSearch().
nearestKSearchT()
| inline |
Поиск k ближайших соседей для заданной точки запроса.
Этот метод принимает другой параметр шаблона для типа точки.
- Параметры
-
[in] point заданная точка запроса [in] k количество соседей для поиска [out] k_indices результирующие индексы соседних точек (заранее измените размер до k!) [out] k_sqr_distances результирующие квадраты расстояний до соседних точек (заранее измените размер до k!)
- Возвращает
- количество найденных соседей
Определение в строке 173 файла kdtree.h.
Ссылки: pcl::copyPoint() и pcl::KdTree< PointT >::nearestKSearch().
Используется в pcl::getApproximateIndices().
radiusSearch() [1/3]
| inlinevirtual |
Поиск всех ближайших соседей точки запроса в заданном радиусе.
- Внимание
- Этот метод не проверяет границы входного индекса (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
- Параметры
-
[in] cloud данные облака точек [in] index допустимый индекс в cloud, соответствующий допустимой (т. е. конечной) точке запроса [in] radius радиус сферы, ограничивающей всех соседей p_q [out] k_indices результирующие индексы соседних точек [out] k_sqr_distances результирующие квадраты расстояний до соседних точек [in] max_nn если задан, ограничивает максимальное количество возвращаемых соседей этим значением. Если max_nn равно 0 или превышает количество точек во входном облаке, будут возвращены все соседи в пределах radius.
- Возвращает
- количество найденных в радиусе соседей
- Исключения
-
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек
Определение в строке 244 файла kdtree.h.
Ссылки: pcl::KdTree< PointT >::radiusSearch() и pcl::PointCloud< PointT >::size().
radiusSearch() [2/3]
| pure virtual |
Поиск всех ближайших соседей точки запроса в заданном радиусе.
- Параметры
-
[in] p_q заданная точка запроса [in] radius радиус сферы, ограничивающей всех соседей p_q [out] k_indices результирующие индексы соседних точек [out] k_sqr_distances результирующие квадраты расстояний до соседних точек [in] max_nn если задан, ограничивает максимальное количество возвращаемых соседей этим значением. Если max_nn равно 0 или превышает количество точек во входном облаке, будут возвращены все соседи в пределах radius.
- Возвращает
- количество найденных в радиусе соседей
Реализовано в pcl::KdTreeFLANN< PointTarget >, pcl::KdTreeFLANN< PointT, Dist >, pcl::KdTreeFLANN< pcl::VFHSignature308 >, pcl::KdTreeFLANN< pcl::PointXYZRGB >, pcl::KdTreeFLANN< pcl::PointXYZLAB >, pcl::KdTreeFLANN< pcl::InterestPoint > и pcl::KdTreeFLANN< FeatureT >.
Используется в pcl::extractEuclideanClusters(), pcl::KdTree< PointT >::radiusSearch() и pcl::KdTree< PointT >::radiusSearchT().
radiusSearch() [3/3]
| inlinevirtual |
Поиск всех ближайших соседей точки запроса в заданном радиусе (без копирования).
- Внимание
- Этот метод не проверяет границы входного индекса (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
- Параметры
-
[in] index допустимый индекс, соответствующий допустимой точке запроса в наборе данных, заданном через setInputCloud. Если при вызове setInputCloud были заданы индексы, index будет позицией в векторе индексов. [in] radius радиус сферы, ограничивающей всех соседей p_q [out] k_indices результирующие индексы соседних точек [out] k_sqr_distances результирующие квадраты расстояний до соседних точек [in] max_nn если задан, ограничивает максимальное количество возвращаемых соседей этим значением. Если max_nn равно 0 или превышает количество точек во входном облаке, будут возвращены все соседи в пределах radius.
- Возвращает
- количество найденных в радиусе соседей
- Исключения
-
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек
Определение в строке 291 файла kdtree.h.
Ссылки: pcl::KdTree< PointT >::indices_, pcl::KdTree< PointT >::input_ и pcl::KdTree< PointT >::radiusSearch().
radiusSearchT()
| inline |
Поиск всех ближайших соседей точки запроса в заданном радиусе.
- Параметры
-
[in] point заданная точка запроса [in] radius радиус сферы, ограничивающей всех соседей p_q [out] k_indices результирующие индексы соседних точек [out] k_sqr_distances результирующие квадраты расстояний до соседних точек [in] max_nn если задан, ограничивает максимальное количество возвращаемых соседей этим значением. Если max_nn равно 0 или превышает количество точек во входном облаке, будут возвращены все соседи в пределах radius.
- Возвращает
- количество найденных в радиусе соседей
Определение в строке 263 файла kdtree.h.
Ссылки: pcl::copyPoint() и pcl::KdTree< PointT >::radiusSearch().
setEpsilon()
| inlinevirtual |
Задать точность поиска epsilon (границу погрешности) при поиске ближайших соседей.
- Параметры
-
[in] eps точность (граница погрешности) при поиске ближайших соседей
Переопределено в pcl::KdTreeFLANN< PointT, Dist >, pcl::KdTreeFLANN< pcl::PointXYZRGB >, pcl::KdTreeFLANN< pcl::VFHSignature308 >, pcl::KdTreeFLANN< PointTarget >, pcl::KdTreeFLANN< pcl::PointXYZLAB >, pcl::KdTreeFLANN< pcl::InterestPoint > и pcl::KdTreeFLANN< FeatureT >.
Определение в строке 307 файла kdtree.h.
Ссылка: pcl::KdTree< PointT >::epsilon_.
setInputCloud()
| inlinevirtual |
Задать указатель на входной набор данных.
- Параметры
-
[in] cloud константный разделяемый указатель boost на сообщение PointCloud [in] indices подмножество индексов точек из cloud, которое будет использоваться; если значение NULL, используется всё облако
Переопределено в pcl::KdTreeFLANN< PointT, Dist >, pcl::KdTreeFLANN< pcl::PointXYZRGB >, pcl::KdTreeFLANN< pcl::VFHSignature308 >, pcl::KdTreeFLANN< PointTarget >, pcl::KdTreeFLANN< pcl::PointXYZLAB >, pcl::KdTreeFLANN< pcl::InterestPoint > и pcl::KdTreeFLANN< FeatureT >.
Определение в строке 86 файла kdtree.h.
Ссылки: pcl::KdTree< PointT >::indices_ и pcl::KdTree< PointT >::input_.
Используется в pcl::KdTree< PointT >::setPointRepresentation().
setMinPts()
| inline |
Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать приемлемый результат.
- Параметры
-
[in] min_pts минимальное количество соседей в приемлемой окрестности
Определение в строке 323 файла kdtree.h.
Ссылка: pcl::KdTree< PointT >::min_pts_.
setPointRepresentation()
| inline |
Задать указатель на представление точек, используемое для преобразования точек в k-D-векторы.
- Параметры
-
[in] point_representation константный разделяемый указатель boost на PointRepresentation
Определение в строке 110 файла kdtree.h.
Ссылки: pcl::KdTree< PointT >::indices_, pcl::KdTree< PointT >::input_, pcl::KdTree< PointT >::point_representation_ и pcl::KdTree< PointT >::setInputCloud().
Описание данных-членов
epsilon_
| protected |
Точность epsilon (граница погрешности) при поиске ближайших соседей.
Определение в строке 352 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getEpsilon() и pcl::KdTree< PointT >::setEpsilon().
indices_
| protected |
Указатель на вектор индексов точек, которые следует использовать.
Определение в строке 349 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getIndices(), pcl::KdTree< PointT >::nearestKSearch(), pcl::KdTree< PointT >::radiusSearch(), pcl::KdTree< PointT >::setInputCloud() и pcl::KdTree< PointT >::setPointRepresentation().
input_
| protected |
Входной набор данных облака точек, содержащий точки, которые необходимо использовать.
Определение в строке 346 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getInputCloud(), pcl::KdTree< PointT >::nearestKSearch(), pcl::KdTree< PointT >::radiusSearch(), pcl::KdTree< PointT >::setInputCloud() и pcl::KdTree< PointT >::setPointRepresentation().
min_pts_
| protected |
Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать приемлемый результат.
Определение в строке 355 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getMinPts() и pcl::KdTree< PointT >::setMinPts().
point_representation_
| protected |
Для преобразования различных структур точек в k-мерные векторы при поиске ближайших соседей.
Определение в строке 361 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getPointRepresentation() и pcl::KdTree< PointT >::setPointRepresentation().
sorted_
| protected |
Возвращать соседей, найденных при поиске в радиусе, в отсортированном порядке.
Определение в строке 358 файла kdtree.h.
Используется в pcl::KdTree< PointT >::getSortedResults().
Документация этого класса создана на основе следующего файла:
- pcl/kdtree/kdtree.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_kd_tree.html