GreedyProjectionTriangulation — это реализация алгоритма жадной триангуляции 3D-точек на основе локальных 2D-проекций. Подробнее...
#include <pcl/surface/gp3.h>
Общедоступные типы | |
| enum |
GP3Type { NONE = -1 , FREE = 0 , FRINGE = 1 , BOUNDARY = 2 , COMPLETED = 3 } |
| using | Ptr = shared_ptr< GreedyProjectionTriangulation< PointInT > > |
| using | ConstPtr = shared_ptr< const GreedyProjectionTriangulation< PointInT > > |
| using | KdTree = pcl::KdTree< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
| using | PointCloudIn = pcl::PointCloud< PointInT > |
| using | PointCloudInPtr = typename PointCloudIn::Ptr |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
|
| |
| using | Ptr = shared_ptr< MeshConstruction< PointInT > > |
| using | ConstPtr = shared_ptr< const MeshConstruction< PointInT > > |
|
| |
| 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 |
Публичные функции-члены | |
| GreedyProjectionTriangulation ()=default | |
| Пустой конструктор. Подробнее... |
|
| void | setMu (double mu) |
| Задать множитель расстояния до ближайшего соседа, используемый для получения итогового радиуса поиска для каждой точки (это позволит алгоритму адаптироваться к различной плотности точек в облаке). Подробнее... |
|
| double | getMu () const |
| Получить множитель расстояния до ближайшего соседа. Подробнее... |
|
| void | setMaximumNearestNeighbors (int nnn) |
| Задать максимальное число ближайших соседей для поиска. Подробнее... |
|
| int | getMaximumNearestNeighbors () const |
| Получить максимальное число ближайших соседей для поиска. Подробнее... |
|
| void | setSearchRadius (double radius) |
| Задать радиус сферы, используемый для определения k ближайших соседей при триангуляции. Подробнее... |
|
| double | getSearchRadius () const |
| Получить радиус сферы, используемый для определения k ближайших соседей. Подробнее... |
|
| void | setMinimumAngle (double minimum_angle) |
| Задать минимальный угол каждого треугольника. Подробнее... |
|
| double | getMinimumAngle () const |
| Получить параметр взвешивания соседей на основе расстояния. Подробнее... |
|
| void | setMaximumAngle (double maximum_angle) |
| Задать максимальный угол каждого треугольника. Подробнее... |
|
| double | getMaximumAngle () const |
| Получить параметр взвешивания соседей на основе расстояния. Подробнее... |
|
| void | setMaximumSurfaceAngle (double eps_angle) |
| Не учитывать точки при триангуляции, если их нормаль отклоняется от нормали точки запроса больше, чем на это значение. Подробнее... |
|
| double | getMaximumSurfaceAngle () const |
| Получить максимальный угол поверхности. Подробнее... |
|
| void | setNormalConsistency (bool consistent) |
| Задать флаг, указывающий, что входные нормали ориентированы согласованно. Подробнее... |
|
| bool | getNormalConsistency () const |
| Получить флаг согласованной ориентации нормалей. Подробнее... |
|
| void | setConsistentVertexOrdering (bool consistent_ordering) |
| Задать флаг согласованного упорядочивания вершин результирующих треугольников (положительное направление вокруг нормали). Подробнее... |
|
| bool | getConsistentVertexOrdering () const |
| Получить флаг согласованного упорядочивания вершин треугольников. Подробнее... |
|
| std::vector< int > | getPointStates () const |
| Получить состояние каждой точки после реконструкции. Подробнее... |
|
| std::vector< int > | getPartIDs () const |
| Получить идентификатор каждой точки после реконструкции. Подробнее... |
|
| pcl::Indices | getSFN () const |
| Получить список sfn. Подробнее... |
|
| pcl::Indices | getFFN () const |
| Получить список ffn. Подробнее... |
|
|
| |
| MeshConstruction ()=default | |
| Конструктор. Подробнее... |
|
| ~MeshConstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (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[] для сокращения кода. Подробнее... |
|
Защищённые атрибуты | |
| double | mu_ {0.0} |
| Множитель расстояния до ближайшего соседа для вычисления итогового радиуса поиска. Подробнее... |
|
| double | search_radius_ {0.0} |
| Радиус поиска ближайших соседей для каждой точки и максимальная длина ребра. Подробнее... |
|
| int | nnn_ {100} |
| Максимальное число ближайших соседей, учитываемых при поиске. Подробнее... |
|
| double | minimum_angle_ {M_PI/18} |
| Предпочтительный минимальный угол треугольников. Подробнее... |
|
| double | maximum_angle_ {2*M_PI/3} |
| Максимальный угол треугольников. Подробнее... |
|
| double | eps_angle_ {M_PI/4} |
| Максимальный угол поверхности. Подробнее... |
|
| bool | consistent_ {false} |
| Установите значение true, если нормали входных данных ориентированы согласованно. Подробнее... |
|
| bool | consistent_ordering_ {false} |
| Установите значение true, если вершины выходных треугольников должны быть ориентированы согласованно. Подробнее... |
|
|
| |
| bool | check_tree_ {true} |
| Флаг, указывающий, требуется ли производному алгоритму реконструкции объект поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на используемый вектор индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Подробное описание
template<typename PointInT>
class pcl::GreedyProjectionTriangulation< PointInT >
GreedyProjectionTriangulation — это реализация алгоритма жадной триангуляции трёхмерных точек на основе локальных двумерных проекций.
Предполагается, что поверхности локально гладкие, а переходы между областями с разной плотностью точек относительно плавные.
- Параметры шаблона
-
PointInT Тип точки должен содержать координаты XYZ и информацию о нормали, например pcl::PointNormalилиpcl::PointXYZRGBNormalилиpcl::PointXYZINormal
Документация псевдонимов типов-членов
ConstPtr
| using pcl::GreedyProjectionTriangulation< PointInT >::ConstPtr = shared_ptr<const GreedyProjectionTriangulation<PointInT> > |
KdTree
| using pcl::GreedyProjectionTriangulation< PointInT >::KdTree = pcl::KdTree<PointInT> |
KdTreePtr
| using pcl::GreedyProjectionTriangulation< PointInT >::KdTreePtr = typename KdTree::Ptr |
PointCloudIn
| using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudIn = pcl::PointCloud<PointInT> |
PointCloudInConstPtr
| using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
PointCloudInPtr
| using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInPtr = typename PointCloudIn::Ptr |
Ptr
| using pcl::GreedyProjectionTriangulation< PointInT >::Ptr = shared_ptr<GreedyProjectionTriangulation<PointInT> > |
Документация перечисления-члена
GP3Type
| enum pcl::GreedyProjectionTriangulation::GP3Type |
Документация конструктора и деструктора
GreedyProjectionTriangulation()
| default |
Конструктор без параметров.
Документация методов-членов
getConsistentVertexOrdering()
| inline |
Получить флаг, указывающий на согласованный порядок вершин треугольников.
Определение в строке 245 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.
getFFN()
| inline |
getMaximumAngle()
| inline |
Получить параметр взвешивания соседей на основе расстояния.
Определение в строке 212 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.
getMaximumNearestNeighbors()
| inline |
Получить максимальное число ближайших соседей, которых следует искать.
Определение в строке 179 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::nnn_.
getMaximumSurfaceAngle()
| inline |
Получить максимальный угол поверхности.
Определение в строке 224 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.
getMinimumAngle()
| inline |
Получить параметр взвешивания соседей на основе расстояния.
Определение в строке 201 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.
getMu()
| inline |
Получить множитель расстояния до ближайшего соседа.
Определение в строке 169 файла gp3.h.
Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::mu_.
getNormalConsistency()
| inline |
Получить флаг согласованной ориентации нормалей.
Определение в строке 234 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_.
getPartIDs()
| inline |
getPointStates()
| inline |
getSearchRadius()
| inline |
Получить радиус сферы, используемый для определения k ближайших соседей.
Определение в строке 190 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.
getSFN()
| inline |
setConsistentVertexOrdering()
| inline |
Установить флаг согласованного упорядочивания вершин результирующих треугольников (в положительном направлении вокруг нормали).
- Примечание
- Предполагается, что нормали ориентированы согласованно (в сторону точки наблюдения) — см. setNormalConsistency ()
- Параметры
-
[in] consistent_ordering установите значение true, если вершины треугольников должны быть упорядочены согласованно
Определение в строке 241 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.
setMaximumAngle()
| inline |
Задать максимальный угол треугольника.
- Параметры
-
[in] maximum_angle максимальный угол треугольника
- Примечание
- Для достижения наилучших результатов значение должно составлять около 120 градусов
Определение в строке 208 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.
setMaximumNearestNeighbors()
| inline |
Задать максимальное количество ближайших соседей, которые будут искаться.
- Параметры
-
[in] nnn максимальное количество ближайших соседей
Определение в строке 175 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::nnn_.
setMaximumSurfaceAngle()
| inline |
Не учитывать точки при триангуляции, если их нормаль отклоняется от нормали точки запроса больше, чем на это значение.
- Параметры
-
[in] eps_angle максимальный угол между поверхностями
- Примечание
- Поскольку методы оценки нормалей обычно обеспечивают плавные переходы на резких границах, это позволяет получить корректную триангуляцию: точки с одной стороны не соединяются с точками с другой стороны, поскольку используются точки, лежащие на границе.
Определение в строке 220 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.
setMinimumAngle()
| inline |
Задать минимальный угол, который должен быть у каждого треугольника.
- Параметры
-
[in] minimum_angle минимальный угол, который должен быть у каждого треугольника
- Примечание
- Поскольку используется жадный алгоритм, время от времени это ограничение будет нарушаться
Определение в строке 197 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.
setMu()
| inline |
Задать множитель расстояния до ближайшего соседа, используемый для вычисления итогового радиуса поиска для каждой точки (это позволяет алгоритму адаптироваться к различной плотности точек в облаке).
- Параметры
-
[in] mu множитель
Определение в строке 165 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::mu_.
setNormalConsistency()
| inline |
Установить флаг, указывающий, что входные нормали ориентированы согласованно.
- Параметры
-
[in] consistent установите значение true, если нормали ориентированы согласованно
Определение в строке 230 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_.
setSearchRadius()
| inline |
Задать радиус сферы, используемый для определения k ближайших соседей при триангуляции.
- Параметры
-
[in] radius радиус сферы, в которой должны находиться все k ближайших соседей
- Примечание
- Это расстояние ограничивает максимальную длину ребра!
Определение в строке 186 файла gp3.h.
Используется в pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.
Документация данных-членов
consistent_
| protected |
Установите значение true, если нормали входных данных ориентированы согласованно.
Определение в строке 288 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getNormalConsistency() и pcl::GreedyProjectionTriangulation< PointInT >::setNormalConsistency().
consistent_ordering_
| protected |
Установите значение true, если вершины результирующих треугольников должны быть ориентированы согласованно.
Определение в строке 291 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getConsistentVertexOrdering() и pcl::GreedyProjectionTriangulation< PointInT >::setConsistentVertexOrdering().
eps_angle_
| protected |
Максимальный угол между поверхностями.
Определение в строке 285 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumSurfaceAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumSurfaceAngle().
maximum_angle_
| protected |
Максимальный угол треугольников.
Определение в строке 282 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumAngle().
minimum_angle_
| protected |
Предпочтительный минимальный угол треугольников.
Определение в строке 279 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMinimumAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMinimumAngle().
mu_
| protected |
Множитель расстояния до ближайшего соседа для вычисления итогового радиуса поиска.
Определение в строке 270 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMu() и pcl::GreedyProjectionTriangulation< PointInT >::setMu().
nnn_
| protected |
Максимальное количество ближайших соседей, принимаемых при поиске.
Определение в строке 276 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumNearestNeighbors() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumNearestNeighbors().
search_radius_
| protected |
Радиус поиска ближайших соседей для каждой точки и максимальная длина ребра.
Определение в строке 273 файла gp3.h.
Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getSearchRadius() и pcl::GreedyProjectionTriangulation< PointInT >::setSearchRadius().
Документация для этого класса создана на основе следующих файлов:
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_greedy_projection_triangulation.html