Octree — реализация октодерева на GPU. Подробнее...
#include </__w/1/s/gpu/octree/include/pcl/gpu/octree/octree.hpp>
Открытые типы | |
| using | Ptr = shared_ptr< Octree > |
| Типы. Подробнее... |
|
| using | ConstPtr = shared_ptr< const Octree > |
| using | PointType = pcl::PointXYZ |
| Поддерживаемый тип точки. Подробнее... |
|
| using | PointCloud = DeviceArray< PointType > |
| Поддерживаемое облако точек. Подробнее... |
|
| using | Queries = DeviceArray< PointType > |
| Тип облака точек для пакетного запроса. Подробнее... |
|
| using | Radiuses = DeviceArray< float > |
| Радиусы точек для пакетного запроса Подробнее... |
|
| using | Indices = DeviceArray< int > |
| Индексы точек для пакетного запроса Подробнее... |
|
| using | ResultSqrDists = DeviceArray< float > |
| Тип массива квадратов расстояний до точек. Подробнее... |
|
Общедоступные функции-члены | |
| Octree () | |
| Конструктор по умолчанию. Подробнее... |
|
| virtual | ~Octree () |
| Деструктор. Подробнее... |
|
| void | setCloud (const PointCloud &cloud_arg) |
| Задаёт облако точек, для которого строится октодерево. Подробнее... |
|
| void | build () |
| Выполняет параллельное построение октодерева. Подробнее... |
|
| bool | isBuilt () const |
| Возвращает true, если дерево построено. Подробнее... |
|
| void | internalDownload () |
| Загружает октодерево с GPU для поиска с помощью функции CPU. Подробнее... |
|
| void | radiusSearchHost (const PointType ¢er, float radius, std::vector< int > &out, int max_nn=std::numeric_limits< int >::max()) |
| Выполняет поиск на CPU всех точек в заданном радиусе. Подробнее... |
|
| void | approxNearestSearchHost (const PointType &query, int &out_index, float &sqr_dist) |
| Выполняет приближённый поиск ближайшего соседа на CPU. Подробнее... |
|
| void | radiusSearch (const Queries ¢ers, float radius, int max_results, NeighborIndices &result) const |
| Выполняет пакетный поиск в радиусе на GPU. Подробнее... |
|
| void | radiusSearch (const Queries ¢ers, const Radiuses &radiuses, int max_results, NeighborIndices &result) const |
| Выполняет пакетный поиск в радиусе на GPU. Подробнее... |
|
| void | radiusSearch (const Queries ¢ers, const Indices &indices, float radius, int max_results, NeighborIndices &result) const |
| Выполняет пакетный поиск в радиусе на GPU. Подробнее... |
|
| void | approxNearestSearch (const Queries &queries, NeighborIndices &result, ResultSqrDists &sqr_distance) const |
| Пакетный приближённый поиск ближайших соседей на GPU. Подробнее... |
|
| void | nearestKSearchBatch (const Queries &queries, int k, NeighborIndices &results) const |
| Пакетный точный поиск k ближайших соседей на GPU; поддерживается только k == 1! Подробнее... |
|
| void | nearestKSearchBatch (const Queries &queries, int k, NeighborIndices &results, ResultSqrDists &sqr_distances) const |
| Пакетный точный поиск k ближайших соседей на GPU; поддерживается только k == 1! Подробнее... |
|
| void | clear () |
| Уничтожает октодерево и освобождает все ресурсы. Подробнее... |
|
Общедоступные атрибуты | |
| const PointCloud * | cloud_ |
Подробное описание
Реализация октодерева на GPU.
Поддерживаются параллельное построение и параллельный пакетный поиск.
Определение в строке 58 файла octree.hpp.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::gpu::Octree::ConstPtr = shared_ptr<const Octree> |
Определение в строке 70 файла octree.hpp.
Indices
| using pcl::gpu::Octree::Indices = DeviceArray<int> |
Индексы точек для пакетного запроса
Определение в строке 85 файла octree.hpp.
PointCloud
Поддерживаемое облако точек.
Определение в строке 76 файла octree.hpp.
PointType
Поддерживаемый тип точки.
Определение в строке 73 файла octree.hpp.
Ptr
| using pcl::gpu::Octree::Ptr = shared_ptr<Octree> |
Типы.
Определение в строке 69 файла octree.hpp.
Queries
Тип облака точек для пакетных запросов.
Определение в строке 79 файла octree.hpp.
Radiuses
| using pcl::gpu::Octree::Radiuses = DeviceArray<float> |
Радиусы точек для пакетного запроса
Определение в строке 82 файла octree.hpp.
ResultSqrDists
| using pcl::gpu::Octree::ResultSqrDists = DeviceArray<float> |
Тип массива квадратов расстояний до точек.
Определение в строке 88 файла octree.hpp.
Документация конструктора и деструктора
Octree()
| pcl::gpu::Octree::Octree | ( | ) |
Конструктор по умолчанию.
~Octree()
| virtual |
Деструктор.
Документация функций-членов
approxNearestSearch()
| void pcl::gpu::Octree::approxNearestSearch | ( | const Queries & | queries, |
| NeighborIndices & | result, | ||
| ResultSqrDists & | sqr_distance | ||
| ) | const |
Пакетный поиск ближайших соседей с приближением на GPU.
- Параметры
-
[in] queries массив центров [out] result массив результатов (один индекс для каждого запроса) [out] sqr_distance соответствующие квадраты расстояний от точек запроса до результатов
approxNearestSearchHost()
| void pcl::gpu::Octree::approxNearestSearchHost | ( | const PointType & | query, |
| int & | out_index, | ||
| float & | sqr_dist | ||
| ) |
Выполняет приближённый поиск ближайшего соседа на CPU.
При необходимости вызывает internalDownload.
- Параметры
-
[in] query 3D-точка, для которой нужно найти ближайшего соседа
[out] out_index индекс соседа [out] sqr_dist квадрат расстояния до возвращённого соседа
build()
| void pcl::gpu::Octree::build | ( | ) |
Выполняет параллельное построение октодерева.
clear()
| void pcl::gpu::Octree::clear | ( | ) |
Уничтожает октодерево и освобождает все ресурсы.
internalDownload()
| void pcl::gpu::Octree::internalDownload | ( | ) |
Загружает октодерево с GPU для поиска с помощью функции CPU.
Полезно для одиночного (не пакетного) поиска.
isBuilt()
| bool pcl::gpu::Octree::isBuilt | ( | ) | const |
Возвращает true, если дерево построено.
nearestKSearchBatch() [перегрузка 1/2]
| void pcl::gpu::Octree::nearestKSearchBatch | ( | const Queries & | queries, |
| int | k, | ||
| NeighborIndices & | results | ||
| ) | const |
Пакетный точный поиск k ближайших соседей на GPU; поддерживается только k == 1!
- Параметры
-
[in] queries массив центров [in] k количество соседей (поддерживается только k == 1) [out] results массив результатов
nearestKSearchBatch() [перегрузка 2/2]
| void pcl::gpu::Octree::nearestKSearchBatch | ( | const Queries & | queries, |
| int | k, | ||
| NeighborIndices & | results, | ||
| ResultSqrDists & | sqr_distances | ||
| ) | const |
Пакетный точный поиск k ближайших соседей на GPU; поддерживается только k == 1!
- Параметры
-
[in] queries массив центров [in] k количество соседей (поддерживается только k == 1) [out] results массив результатов [out] sqr_distances квадраты расстояний до результатов
radiusSearch() [перегрузка 1/3]
| void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
| const Indices & | indices, | ||
| float | radius, | ||
| int | max_results, | ||
| NeighborIndices & | result | ||
| ) | const |
Выполняет пакетный поиск в радиусе на GPU.
- Параметры
-
[in] centers массив центров
[in] indices индексы массива центров (поиск выполняется только для этих точек) [in] radius радиус для всех запросов [in] max_results максимальное число возвращаемых точек для каждого запроса [out] result результаты, объединённые в один массив
radiusSearch() [перегрузка 2/3]
| void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
| const Radiuses & | radiuses, | ||
| int | max_results, | ||
| NeighborIndices & | result | ||
| ) | const |
Выполняет пакетный поиск в радиусе на GPU.
- Параметры
-
[in] centers массив центров [in] radiuses массив радиусов [in] max_results максимальное число возвращаемых точек для каждого запроса [out] result результаты, объединённые в один массив
radiusSearch() [перегрузка 3/3]
| void pcl::gpu::Octree::radiusSearch | ( | const Queries & | centers, |
| float | radius, | ||
| int | max_results, | ||
| NeighborIndices & | result | ||
| ) | const |
Выполняет пакетный поиск в заданном радиусе на GPU.
- Параметры
-
[in] centers массив центров [in] radius радиус для всех запросов [in] max_results максимальное количество возвращаемых точек для каждого запроса [out] result результаты, объединённые в один массив
radiusSearchHost()
| void pcl::gpu::Octree::radiusSearchHost | ( | const PointType & | center, |
| float | radius, | ||
| std::vector< int > & | out, | ||
| int |
max_nn = std::numeric_limits< int >::max() | ||
| ) |
Выполняет на CPU поиск всех точек в заданном радиусе.
При необходимости вызывает internalDownload
- Параметры
-
[in] center центр сферы [in] radius радиус сферы [out] out индексы точек внутри заданной сферы [in] max_nn максимальное количество возвращаемых результатов
setCloud()
| void pcl::gpu::Octree::setCloud | ( | const PointCloud & | cloud_arg | ) |
Задаёт облако точек, для которого строится октодерево.
Документация по данным-членам
cloud_
| const PointCloud* pcl::gpu::Octree::cloud_ |
Определение в строке 90 файла octree.hpp.
Документация этого класса создана на основе следующего файла:
- /__w/1/s/gpu/octree/include/pcl/gpu/octree/octree.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1gpu_1_1_octree.html