Grid — метод реконструкции поверхности проекцией на сетку. Подробнее...
#include <pcl/surface/grid_projection.h>
Классы | |
| struct | Leaf |
| Лист данных. Подробнее... |
|
Открытые типы | |
| using | Ptr = shared_ptr< GridProjection< PointNT > > |
| using | ConstPtr = shared_ptr< const GridProjection< PointNT > > |
| using | PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr |
| using | KdTree = pcl::KdTree< PointNT > |
| using | KdTreePtr = typename KdTree::Ptr |
| using | HashMap = std::unordered_map< int, Leaf, std::hash< int >, std::equal_to<>, Eigen::aligned_allocator< std::pair< const int, Leaf > >> |
|
| |
| using | Ptr = shared_ptr< SurfaceReconstruction< PointNT > > |
| using | ConstPtr = shared_ptr< const SurfaceReconstruction< PointNT > > |
|
| |
| using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
| using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Открытые функции-члены | |
| GridProjection () | |
| Конструктор. Подробнее... |
|
| GridProjection (double in_resolution) | |
| Конструктор. Подробнее... |
|
| ~GridProjection () override | |
| Деструктор. Подробнее... |
|
| void | setResolution (double resolution) |
| Задать размер ячейки сетки. Подробнее... |
|
| double | getResolution () const |
| void | setPaddingSize (int padding_size) |
| При усреднении векторов мы находим объединение всех входных точек данных в области отступа и вычисляем взвешенное среднее. Подробнее... |
|
| int | getPaddingSize () const |
| void | setNearestNeighborNum (int k) |
| Задавайте это значение только при использовании поиска k ближайших соседей вместо поиска объединения точек. Подробнее... |
|
| int | getNearestNeighborNum () const |
| void | setMaxBinarySearchLevel (int max_binary_search_level) |
| При проецировании используется двоичный поиск. Подробнее... |
|
| int | getMaxBinarySearchLevel () const |
| const HashMap & | getCellHashMap () const |
| const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > & | getVectorAtDataPoint () const |
| const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > & | getSurface () const |
|
| |
| SurfaceReconstruction ()=default | |
| Конструктор. Подробнее... |
|
| ~SurfaceReconstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод построения поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) |
| Базовый метод построения поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
|
| |
| PCLSurfaceBase () | |
| Пустой конструктор. Подробнее... |
|
| ~PCLSurfaceBase () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Передать необязательный указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Получить указатель на используемый метод поиска. Подробнее... |
|
|
| |
| PCLBase () | |
| Пустой конструктор. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Передать указатель на входной набор данных. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Получить указатель на входной набор облака точек. Подробнее... |
|
| virtual void | setIndices (const IndicesPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Задать индексы точек, расположенных в области интереса облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| const PointInT & | operator[] (std::size_t pos) const |
| Переопределить оператор PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| void | getBoundingBox () |
| Получить ограничивающую рамку для входных точек данных, а также вычислить размер ячейки и коэффициент масштаба гауссианы. Подробнее... |
|
| bool | reconstructPolygons (std::vector< pcl::Vertices > &polygons) |
| Основной метод реконструкции поверхности. Подробнее... |
|
| void | performReconstruction (pcl::PolygonMesh &output) override |
| Создать поверхность. Подробнее... |
|
| void | performReconstruction (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) override |
| Создать поверхность. Подробнее... |
|
| void | scaleInputDataPoint (double scale_factor) |
| Если входные точки данных не помещаются в блок 1*1*1, масштабировать их так, чтобы они поместились в единичный блок. Подробнее... |
|
| void | getCellIndex (const Eigen::Vector4f &p, Eigen::Vector3i &index) const |
| Получить 3D-индекс ячейки (x,y,z) на основе её положения. Подробнее... |
|
| void | getCellCenterFromIndex (const Eigen::Vector3i &index, Eigen::Vector4f ¢er) const |
| По заданному 3D-индексу ячейки (x, y, z) получить координаты её центра. Подробнее... |
|
| void | getVertexFromCellCenter (const Eigen::Vector4f &cell_center, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &pts) const |
| По центру ячейки вычислить координаты восьми её вершин. Подробнее... |
|
| int | getIndexIn1D (const Eigen::Vector3i &index) const |
| Преобразовать заданный 3D-индекс (x, y, z) в одномерный индекс. Подробнее... |
|
| void | getIndexIn3D (int index_1d, Eigen::Vector3i &index_3d) const |
| Преобразовать заданный одномерный индекс в 3D-индекс (x, y, z). Подробнее... |
|
| void | fillPad (const Eigen::Vector3i &index) |
| Для заданного 3D-индекса ячейки проверить, есть ли ячейки в области дополнения в хеш-таблице; если нет, создать запись для этой ячейки. Подробнее... |
|
| void | getDataPtsUnion (const Eigen::Vector3i &index, pcl::Indices &pt_union_indices) |
| Получить индекс ячейки и размер области дополнения. Подробнее... |
|
| void | createSurfaceForCell (const Eigen::Vector3i &index, pcl::Indices &pt_union_indices) |
| По индексу ячейки проверить её верхнее, левое и переднее рёбра и добавить вершины в список m_surface. Верхнее, левое и переднее рёбра имеют только 4 общие точки; сначала получаем векторы в этих 4 точках и проверяем, пересекает ли поверхность каждое из этих трёх рёбер. Подробнее... |
|
| void | getProjection (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector4f &projection) |
| По координатам точки спроецировать её на поверхность и вернуть спроецированную точку. Подробнее... |
|
| void | getProjectionWithPlaneFit (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector4f &projection) |
| По координатам точки спроецировать её на поверхность и вернуть спроецированную точку. Подробнее... |
|
| void | getVectorAtPoint (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector3f &vo) |
| По положению точки получить её вектор. Подробнее... |
|
| void | getVectorAtPointKNN (const Eigen::Vector4f &p, pcl::Indices &k_indices, std::vector< float > &k_squared_distances, Eigen::Vector3f &vo) |
| По положению точки получить её вектор. Подробнее... |
|
| double | getMagAtPoint (const Eigen::Vector4f &p, const pcl::Indices &pt_union_indices) |
| Получить модуль вектора, суммируя расстояния. Подробнее... |
|
| double | getD1AtPoint (const Eigen::Vector4f &p, const Eigen::Vector3f &vec, const pcl::Indices &pt_union_indices) |
| Получить первую производную. Подробнее... |
|
| double | getD2AtPoint (const Eigen::Vector4f &p, const Eigen::Vector3f &vec, const pcl::Indices &pt_union_indices) |
| Получить вторую производную. Подробнее... |
|
| bool | isIntersected (const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &end_pts, std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > &vect_at_end_pts, pcl::Indices &pt_union_indices) |
| Проверить, пересекает ли поверхность ребро, вычислив скалярное произведение векторов в двух конечных точках. Подробнее... |
|
| void | findIntersection (int level, const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &end_pts, const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > &vect_at_end_pts, const Eigen::Vector4f &start_pt, pcl::Indices &pt_union_indices, Eigen::Vector4f &intersection) |
| Найти точку пересечения ребра с поверхностью. Подробнее... |
|
| void | storeVectAndSurfacePoint (int index_1d, const Eigen::Vector3i &index_3d, pcl::Indices &pt_union_indices, const Leaf &cell_data) |
| Обойти все записи хеш-таблицы и обновить cellData. Подробнее... |
|
| void | storeVectAndSurfacePointKNN (int index_1d, const Eigen::Vector3i &index_3d, const Leaf &cell_data) |
| Обойти все записи хеш-таблицы и обновить cellData. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | check_tree_ |
| Флаг, указывающий, требуется ли производному алгоритму реконструкции объект поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установлено в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, имитирующий входное облако точек. Подробнее... |
|
Подробное описание
template<typename PointNT>
class pcl::GridProjection< PointNT >
Метод реконструкции поверхности с проекцией на сетку.
- Примечание
- Если вы используете этот код в научной работе, пожалуйста, укажите следующую публикацию:
- Ruosi Li, Lu Liu, Ly Phan, Sasakthi Abeysinghe, Cindy Grimm, Tao Ju. Polygonizing extremal surfaces with manifold guarantees. In Proceedings of the 14th ACM Symposium on Solid and Physical Modeling, 2010.
Определение в строке 75 файла grid_projection.h.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::GridProjection< PointNT >::ConstPtr = shared_ptr<const GridProjection<PointNT> > |
Определение в строке 79 файла grid_projection.h.
HashMap
| using pcl::GridProjection< PointNT >::HashMap = std::unordered_map<int, Leaf, std::hash<int>, std::equal_to<>, Eigen::aligned_allocator<std::pair<const int, Leaf> >> |
Определение в строке 99 файла grid_projection.h.
KdTree
| using pcl::GridProjection< PointNT >::KdTree = pcl::KdTree<PointNT> |
Определение в строке 86 файла grid_projection.h.
KdTreePtr
| using pcl::GridProjection< PointNT >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 87 файла grid_projection.h.
PointCloudPtr
| using pcl::GridProjection< PointNT >::PointCloudPtr = typename pcl::PointCloud<PointNT>::Ptr |
Определение в строке 84 файла grid_projection.h.
Ptr
| using pcl::GridProjection< PointNT >::Ptr = shared_ptr<GridProjection<PointNT> > |
Определение в строке 78 файла grid_projection.h.
Документация конструкторов и деструктора
GridProjection() [1/2]
| pcl::GridProjection< PointNT >::GridProjection |
Конструктор.
Определение в строке 49 файла grid_projection.hpp.
GridProjection() [2/2]
| pcl::GridProjection< PointNT >::GridProjection | ( | double | in_resolution | ) |
Конструктор.
- Параметры
-
in_resolution задает разрешение сетки
Определение в строке 56 файла grid_projection.hpp.
~GridProjection()
| override |
Деструктор.
Определение в строке 63 файла grid_projection.hpp.
Документация функций-членов
createSurfaceForCell()
| protected |
По индексу ячейки проверяет ее верхнее, левое и переднее ребра и добавляет вершины в список m_surface. Верхнее, левое и переднее ребра имеют всего 4 общие точки. Сначала получаем векторы в этих 4 точках и проверяем, пересекает ли поверхность эти три ребра.
- Параметры
-
index входной индекс pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 174 файла grid_projection.hpp.
Ссылки: pcl::I_SHIFT_EDGE и pcl::I_SHIFT_PT.
fillPad()
| protected |
Для заданного 3D-индекса ячейки проверяет, существуют ли ячейки в ее области дополнения в хеш-таблице; если нет, создает запись для такой ячейки.
- Параметры
-
index индекс ячейки в формате (x,y,z)
Определение в строке 555 файла grid_projection.hpp.
findIntersection()
| protected |
Находит точку пересечения ребра с поверхностью.
- Параметры
-
level уровень бинарного поиска end_pts две конечные точки на ребре vect_at_end_pts векторы в двух конечных точках start_pt начальная точка, используемая для бинарного поиска pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения intersection результирующая точка пересечения
Определение в строке 507 файла grid_projection.hpp.
getBoundingBox()
| protected |
Получает ограничивающий параллелепипед для входных точек данных, а также вычисляет размер ячейки и коэффициент масштаба гауссианы.
Определение в строке 87 файла grid_projection.hpp.
Ссылки: pcl::getMinMax3D().
getCellCenterFromIndex()
| inlineprotected |
По 3D-индексу ячейки (x, y, z) получает координаты центра ячейки.
- Параметры
-
index выходной 3D-индекс center результирующий центр ячейки
Определение в строке 261 файла grid_projection.h.
getCellHashMap()
| inline |
Определение в строке 179 файла grid_projection.h.
getCellIndex()
| inlineprotected |
Получает 3D-индекс ячейки (x,y,z) на основе положения ячейки.
- Параметры
-
p координаты входной точки index выходной 3D-индекс
Определение в строке 249 файла grid_projection.h.
getD1AtPoint()
| protected |
Получает первую производную.
- Параметры
-
p координаты входной точки vec вектор в точке p pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 446 файла grid_projection.hpp.
getD2AtPoint()
| protected |
Получает вторую производную.
- Параметры
-
p координаты входной точки vec вектор в точке p pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 459 файла grid_projection.hpp.
getDataPtsUnion()
| protected |
Получает индекс ячейки и размер области дополнения.
- Параметры
-
index входной индекс pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 148 файла grid_projection.hpp.
getIndexIn1D()
| inlineprotected |
Преобразует заданный 3D-индекс (x, y, z) в одномерный индекс.
- Параметры
-
index индекс ячейки в 3D-формате (x,y,z)
Определение в строке 283 файла grid_projection.h.
getIndexIn3D()
| inlineprotected |
Преобразует заданный одномерный индекс в 3D-индекс (x, y, z).
- Параметры
-
index_1d входной одномерный индекс index_3d выходной 3D-индекс
Определение в строке 296 файла grid_projection.h.
getMagAtPoint()
| protected |
Получает модуль вектора путем суммирования расстояний.
- Параметры
-
p координаты входной точки pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 430 файла grid_projection.hpp.
Ссылки: M_E.
getMaxBinarySearchLevel()
| inline |
Определение в строке 172 файла grid_projection.h.
getNearestNeighborNum()
| inline |
Определение в строке 157 файла grid_projection.h.
getPaddingSize()
| inline |
Определение в строке 142 файла grid_projection.h.
getProjection()
| protected |
По координатам точки проецирует ее на поверхность и возвращает спроецированную точку.
Выполняет бинарный поиск между p и p+projection_distance, чтобы найти спроецированную точку
- Параметры
-
p координаты входной точки pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения projection результирующая спроецированная точка
Определение в строке 273 файла grid_projection.hpp.
getProjectionWithPlaneFit()
| protected |
По заданным координатам точки спроецировать её на поверхность и вернуть спроецированную точку.
Найти плоскость, аппроксимирующую все точки из pt_union_indices, и спроецировать p на эту плоскость, чтобы получить спроецированную точку.
- Параметры
-
p координаты входной точки pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения projection результирующая спроецированная точка
- Примечание
- итеративный взвешенный метод наименьших квадратов или SAC могут дать лучшие результаты
Определение в строке 312 файла grid_projection.hpp.
Ссылки: pcl::computeMeanAndCovarianceMatrix(), pcl::geometry::distance() и pcl::eigen33().
getResolution()
| inline |
Определение в строке 122 файла grid_projection.h.
getSurface()
| inline |
Определение в строке 191 файла grid_projection.h.
getVectorAtDataPoint()
| inline |
Определение в строке 185 файла grid_projection.h.
getVectorAtPoint()
| protected |
По заданному положению точки получить её вектор.
- Параметры
-
p координаты входной точки pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения vo результирующий вектор
Определение в строке 351 файла grid_projection.hpp.
Ссылки: pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::getMean() и M_E.
getVectorAtPointKNN()
| protected |
По заданному положению точки получить её вектор.
- Параметры
-
p координаты входной точки k_indices k ближайших соседей точки запроса k_squared_distances квадраты расстояний от k ближайших соседей до точки запроса vo результирующий вектор
Определение в строке 396 файла grid_projection.hpp.
Ссылки: pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::getEigenVector1() и M_E.
getVertexFromCellCenter()
| protected |
По центру ячейки вычислить координаты восьми её вершин.
- Параметры
-
cell_center координаты центра ячейки pts координаты 8 вершин
Определение в строке 128 файла grid_projection.hpp.
isIntersected()
| protected |
Проверить, пересекает ли поверхность ребро, вычислив скалярное произведение векторов в двух его конечных точках.
Также проверить, пересекает ли ребро поверхность максимума, исследовав вторую производную в точке пересечения.
- Параметры
-
end_pts две точки ребра vect_at_end_pts pt_union_indices объединение входных точек данных в ячейке и ячейках дополнения
Определение в строке 472 файла grid_projection.hpp.
performReconstruction() [1/2]
| overrideprotectedvirtual |
Создать поверхность.
На первом шаге заполняется область дополнения, чтобы все её ячейки были добавлены в хеш-таблицу. На втором шаге сохраняются вектор и спроецированная точка. На третьем шаге находятся все рёбра, пересекающие поверхность, и создаётся поверхность.
- Параметры
-
[out] points результирующие точки, лежащие на поверхности [out] polygons результирующие полигоны, представленные набором вершин. Структура Vertices содержит массив индексов точек.
Реализует pcl::SurfaceReconstruction< PointNT >.
Определение в строке 745 файла grid_projection.hpp.
Ссылки: pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
performReconstruction() [2/2]
| overrideprotectedvirtual |
Создать поверхность.
На первом шаге заполняется область дополнения, чтобы все её ячейки были добавлены в хеш-таблицу. На втором шаге сохраняются вектор и спроецированная точка. На третьем шаге находятся все рёбра, пересекающие поверхность, и создаётся поверхность.
- Параметры
-
[out] output результирующая полигональная сетка
Реализует pcl::SurfaceReconstruction< PointNT >.
Определение в строке 719 файла grid_projection.hpp.
Ссылки: pcl::PolygonMesh::cloud, pcl::PolygonMesh::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PolygonMesh::polygons, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), pcl::toPCLPointCloud2() и pcl::PointCloud< PointT >::width.
reconstructPolygons()
| protected |
Метод непосредственного восстановления поверхности.
- Параметры
-
[out] polygons результирующие полигоны, представленные набором вершин. Структура Vertices содержит массив индексов точек.
Определение в строке 619 файла grid_projection.hpp.
Ссылки: pcl::GridProjection< PointNT >::Leaf::data_indices, pcl::isXYZFinite(), pcl::GridProjection< PointNT >::Leaf::pt_on_surface и pcl::Vertices::vertices.
scaleInputDataPoint()
| protected |
Если входные точки данных не помещаются в куб 1*1*1, масштабировать их так, чтобы они поместились в единичный куб.
Иначе при визуализации могут возникнуть проблемы с отображением.
- Параметры
-
scale_factor масштабировать все входные точки данных с коэффициентом scale_factor
Определение в строке 74 файла grid_projection.hpp.
setMaxBinarySearchLevel()
| inline |
При проецировании используется двоичный поиск.
Для заданной точки x находим другую точку на расстоянии 3*cell_size_ от x. Затем выполняем двоичный поиск между этими двумя точками, чтобы определить положение спроецированной точки.
Определение в строке 167 файла grid_projection.h.
setNearestNeighborNum()
| inline |
Устанавливайте это значение только при использовании поиска k ближайших соседей вместо поиска объединения точек.
- Параметры
-
k число ближайших соседей, которые требуется найти
Определение в строке 152 файла grid_projection.h.
setPaddingSize()
| inline |
При усреднении векторов находим объединение всех входных точек данных в области дополнения и вычисляем взвешенное среднее.
Например, если размер дополнения равен 1, при обработке ячейки (x,y,z) будут найдены объединённые входные точки данных из диапазонов от (x-1) до (x+1), от (y-1) до (y+1) и от (z-1) до (z+1) (всего 27 ячеек). Таким образом, даже если сама ячейка не содержит точек данных, она всё равно будет обработана, поскольку в области дополнения есть точки данных. Это позволяет устранять отверстия размером меньше области дополнения.
- Параметры
-
padding_size число ячеек дополнения, которые требуется создать
Определение в строке 137 файла grid_projection.h.
setResolution()
| inline |
Задать размер ячейки сетки.
- Параметры
-
resolution размер ячейки сетки
Определение в строке 116 файла grid_projection.h.
storeVectAndSurfacePoint()
| protected |
Просмотреть все записи в хеш-таблице и обновить cellData.
При создании хеш-таблицы в поле pt_on_surface сохраняется центральная точка ячейки. После вызова этой функции оператор проекции спроецирует центральную точку на поверхность, а поле pt_on_surface будет обновлено с использованием спроецированной точки. Кроме того, поле vect_at_grid_pt будет обновлено с использованием вектора в верхней левой передней вершине ячейки.
- Параметры
-
index_1d индекс ячейки после преобразования её 3D-индекса в одномерный массив index_3d индекс ячейки в 3D-формате (x,y,z) pt_union_indices объединение индексов входных точек данных внутри ячейки и дополнительных областей cell_data информация, хранящаяся в ячейке
Определение в строке 578 файла grid_projection.hpp.
Ссылки: pcl::GridProjection< PointNT >::Leaf::pt_on_surface.
storeVectAndSurfacePointKNN()
| protected |
Просмотреть все записи в хеш-таблице и обновить cellData.
При создании хеш-таблицы в поле pt_on_surface сохраняется центральная точка ячейки. После вызова этой функции оператор проекции спроецирует центральную точку на поверхность, а поле pt_on_surface будет обновлено с использованием спроецированной точки. Кроме того, поле vect_at_grid_pt будет обновлено с использованием вектора в верхней левой передней вершине ячейки. При проецировании точки и вычислении вектора вместо объединения входных точек данных внутри ячейки и дополнительных областей используются K ближайших соседей.
- Параметры
-
index_1d индекс ячейки после преобразования её 3D-индекса в одномерный массив index_3d индекс ячейки в 3D-формате (x,y,z) cell_data информация, хранящаяся в ячейке
Определение в строке 596 файла grid_projection.hpp.
Ссылки: pcl::GridProjection< PointNT >::Leaf::pt_on_surface.
Документация этого класса создана на основе следующих файлов:
- pcl/surface/grid_projection.h
- pcl/surface/impl/grid_projection.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_grid_projection.html