Spec-Zone.ru › PointCloudLibrary

GreedyProjectionTriangulation — это реализация алгоритма жадной триангуляции 3D-точек на основе локальных 2D-проекций. Подробнее...

#include <pcl/surface/gp3.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Общедоступные типы

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
- Общедоступные типы, унаследованные от pcl::MeshConstruction< PointInT >
using Ptr = shared_ptr< MeshConstruction< PointInT > >
using ConstPtr = shared_ptr< const MeshConstruction< PointInT > >
- Общедоступные типы, унаследованные от pcl::PCLSurfaceBase< 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
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
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. Подробнее...
- Публичные функции-члены, унаследованные от pcl::MeshConstruction< PointInT >
MeshConstruction ()=default
Конструктор. Подробнее...
~MeshConstruction () override=default
Деструктор. Подробнее...
void reconstruct (pcl::PolygonMesh &output) override
Базовый метод реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее...
virtual void reconstruct (std::vector< pcl::Vertices > &polygons)
Базовый метод построения сетки для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее...
- Публичные функции-члены, унаследованные от pcl::PCLSurfaceBase< PointInT >
PCLSurfaceBase ()
Пустой конструктор. Подробнее...
~PCLSurfaceBase () override=default
Пустой деструктор. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Предоставить необязательный указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod ()
Получить указатель на используемый метод поиска. Подробнее...
- Публичные функции-члены, унаследованные от pcl::PCLBase< PointInT >
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, если вершины выходных треугольников должны быть ориентированы согласованно. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::MeshConstruction< PointInT >
bool check_tree_ {true}
Флаг, указывающий, требуется ли производному алгоритму реконструкции объект поиска tree. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLSurfaceBase< PointInT >
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на используемый вектор индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее...

Дополнительные унаследованные члены

- Защищённые методы-члены, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

Подробное описание

template<typename PointInT>
class pcl::GreedyProjectionTriangulation< PointInT >

GreedyProjectionTriangulation — это реализация алгоритма жадной триангуляции трёхмерных точек на основе локальных двумерных проекций.

Предполагается, что поверхности локально гладкие, а переходы между областями с разной плотностью точек относительно плавные.

Параметры шаблона
PointInT Тип точки должен содержать координаты XYZ и информацию о нормали, например pcl::PointNormal или pcl::PointXYZRGBNormal или pcl::PointXYZINormal
Автор
Zoltan Csaba Marton

Определение в строке 131 файла gp3.h.

Документация псевдонимов типов-членов

ConstPtr

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::ConstPtr = shared_ptr<const GreedyProjectionTriangulation<PointInT> >

Определение в строке 135 файла gp3.h.

KdTree

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::KdTree = pcl::KdTree<PointInT>

Определение в строке 141 файла gp3.h.

KdTreePtr

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::KdTreePtr = typename KdTree::Ptr

Определение в строке 142 файла gp3.h.

PointCloudIn

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudIn = pcl::PointCloud<PointInT>

Определение в строке 144 файла gp3.h.

PointCloudInConstPtr

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr

Определение в строке 146 файла gp3.h.

PointCloudInPtr

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInPtr = typename PointCloudIn::Ptr

Определение в строке 145 файла gp3.h.

Ptr

template<typename PointInT >
using pcl::GreedyProjectionTriangulation< PointInT >::Ptr = shared_ptr<GreedyProjectionTriangulation<PointInT> >

Определение в строке 134 файла gp3.h.

Документация перечисления-члена

GP3Type

template<typename PointInT >
enum pcl::GreedyProjectionTriangulation::GP3Type
Элементы перечисления
NONE
FREE
FRINGE
BOUNDARY
COMPLETED

Определение в строке 148 файла gp3.h.

Документация конструктора и деструктора

GreedyProjectionTriangulation()

template<typename PointInT >
pcl::GreedyProjectionTriangulation< PointInT >::GreedyProjectionTriangulation ( )
default

Конструктор без параметров.

Документация методов-членов

getConsistentVertexOrdering()

template<typename PointInT >
bool pcl::GreedyProjectionTriangulation< PointInT >::getConsistentVertexOrdering ( ) const
inline

Получить флаг, указывающий на согласованный порядок вершин треугольников.

Определение в строке 245 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.

getFFN()

template<typename PointInT >
pcl::Indices pcl::GreedyProjectionTriangulation< PointInT >::getFFN ( ) const
inline

Получить список ffn.

Определение в строке 266 файла gp3.h.

getMaximumAngle()

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::getMaximumAngle ( ) const
inline

Получить параметр взвешивания соседей на основе расстояния.

Определение в строке 212 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.

getMaximumNearestNeighbors()

template<typename PointInT >
int pcl::GreedyProjectionTriangulation< PointInT >::getMaximumNearestNeighbors ( ) const
inline

Получить максимальное число ближайших соседей, которых следует искать.

Определение в строке 179 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::nnn_.

getMaximumSurfaceAngle()

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::getMaximumSurfaceAngle ( ) const
inline

Получить максимальный угол поверхности.

Определение в строке 224 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.

getMinimumAngle()

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::getMinimumAngle ( ) const
inline

Получить параметр взвешивания соседей на основе расстояния.

Определение в строке 201 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.

getMu()

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::getMu ( ) const
inline

Получить множитель расстояния до ближайшего соседа.

Определение в строке 169 файла gp3.h.

Ссылки: pcl::GreedyProjectionTriangulation< PointInT >::mu_.

getNormalConsistency()

template<typename PointInT >
bool pcl::GreedyProjectionTriangulation< PointInT >::getNormalConsistency ( ) const
inline

Получить флаг согласованной ориентации нормалей.

Определение в строке 234 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_.

getPartIDs()

template<typename PointInT >
std::vector<int> pcl::GreedyProjectionTriangulation< PointInT >::getPartIDs ( ) const
inline

Получить идентификатор каждой точки после реконструкции.

Примечание
части нумеруются начиная с 0; значение -1 обозначает несвязанные точки

Определение в строке 257 файла gp3.h.

getPointStates()

template<typename PointInT >
std::vector<int> pcl::GreedyProjectionTriangulation< PointInT >::getPointStates ( ) const
inline

Получить состояние каждой точки после реконструкции.

Примечание
Варианты определены как константы: FREE, FRINGE, COMPLETED, BOUNDARY и NONE

Определение в строке 251 файла gp3.h.

getSearchRadius()

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::getSearchRadius ( ) const
inline

Получить радиус сферы, используемый для определения k ближайших соседей.

Определение в строке 190 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.

getSFN()

template<typename PointInT >
pcl::Indices pcl::GreedyProjectionTriangulation< PointInT >::getSFN ( ) const
inline

Получить список sfn.

Определение в строке 262 файла gp3.h.

setConsistentVertexOrdering()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setConsistentVertexOrdering ( bool consistent_ordering )
inline

Установить флаг согласованного упорядочивания вершин результирующих треугольников (в положительном направлении вокруг нормали).

Примечание
Предполагается, что нормали ориентированы согласованно (в сторону точки наблюдения) — см. setNormalConsistency ()
Параметры
[in] consistent_ordering установите значение true, если вершины треугольников должны быть упорядочены согласованно

Определение в строке 241 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.

setMaximumAngle()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setMaximumAngle ( double maximum_angle )
inline

Задать максимальный угол треугольника.

Параметры
[in] maximum_angle максимальный угол треугольника
Примечание
Для достижения наилучших результатов значение должно составлять около 120 градусов

Определение в строке 208 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.

setMaximumNearestNeighbors()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setMaximumNearestNeighbors ( int nnn )
inline

Задать максимальное количество ближайших соседей, которые будут искаться.

Параметры
[in] nnn максимальное количество ближайших соседей

Определение в строке 175 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::nnn_.

setMaximumSurfaceAngle()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setMaximumSurfaceAngle ( double eps_angle )
inline

Не учитывать точки при триангуляции, если их нормаль отклоняется от нормали точки запроса больше, чем на это значение.

Параметры
[in] eps_angle максимальный угол между поверхностями
Примечание
Поскольку методы оценки нормалей обычно обеспечивают плавные переходы на резких границах, это позволяет получить корректную триангуляцию: точки с одной стороны не соединяются с точками с другой стороны, поскольку используются точки, лежащие на границе.

Определение в строке 220 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.

setMinimumAngle()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setMinimumAngle ( double minimum_angle )
inline

Задать минимальный угол, который должен быть у каждого треугольника.

Параметры
[in] minimum_angle минимальный угол, который должен быть у каждого треугольника
Примечание
Поскольку используется жадный алгоритм, время от времени это ограничение будет нарушаться

Определение в строке 197 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.

setMu()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setMu ( double mu )
inline

Задать множитель расстояния до ближайшего соседа, используемый для вычисления итогового радиуса поиска для каждой точки (это позволяет алгоритму адаптироваться к различной плотности точек в облаке).

Параметры
[in] mu множитель

Определение в строке 165 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::mu_.

setNormalConsistency()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setNormalConsistency ( bool consistent )
inline

Установить флаг, указывающий, что входные нормали ориентированы согласованно.

Параметры
[in] consistent установите значение true, если нормали ориентированы согласованно

Определение в строке 230 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::consistent_.

setSearchRadius()

template<typename PointInT >
void pcl::GreedyProjectionTriangulation< PointInT >::setSearchRadius ( double radius )
inline

Задать радиус сферы, используемый для определения k ближайших соседей при триангуляции.

Параметры
[in] radius радиус сферы, в которой должны находиться все k ближайших соседей
Примечание
Это расстояние ограничивает максимальную длину ребра!

Определение в строке 186 файла gp3.h.

Используется в pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.

Документация данных-членов

consistent_

template<typename PointInT >
bool pcl::GreedyProjectionTriangulation< PointInT >::consistent_ {false}
protected

Установите значение true, если нормали входных данных ориентированы согласованно.

Определение в строке 288 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getNormalConsistency() и pcl::GreedyProjectionTriangulation< PointInT >::setNormalConsistency().

consistent_ordering_

template<typename PointInT >
bool pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_ {false}
protected

Установите значение true, если вершины результирующих треугольников должны быть ориентированы согласованно.

Определение в строке 291 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getConsistentVertexOrdering() и pcl::GreedyProjectionTriangulation< PointInT >::setConsistentVertexOrdering().

eps_angle_

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_ {M_PI/4}
protected

Максимальный угол между поверхностями.

Определение в строке 285 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumSurfaceAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumSurfaceAngle().

maximum_angle_

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_ {2*M_PI/3}
protected

Максимальный угол треугольников.

Определение в строке 282 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumAngle().

minimum_angle_

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_ {M_PI/18}
protected

Предпочтительный минимальный угол треугольников.

Определение в строке 279 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMinimumAngle() и pcl::GreedyProjectionTriangulation< PointInT >::setMinimumAngle().

mu_

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::mu_ {0.0}
protected

Множитель расстояния до ближайшего соседа для вычисления итогового радиуса поиска.

Определение в строке 270 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMu() и pcl::GreedyProjectionTriangulation< PointInT >::setMu().

nnn_

template<typename PointInT >
int pcl::GreedyProjectionTriangulation< PointInT >::nnn_ {100}
protected

Максимальное количество ближайших соседей, принимаемых при поиске.

Определение в строке 276 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getMaximumNearestNeighbors() и pcl::GreedyProjectionTriangulation< PointInT >::setMaximumNearestNeighbors().

search_radius_

template<typename PointInT >
double pcl::GreedyProjectionTriangulation< PointInT >::search_radius_ {0.0}
protected

Радиус поиска ближайших соседей для каждой точки и максимальная длина ребра.

Определение в строке 273 файла gp3.h.

Используется в методах pcl::GreedyProjectionTriangulation< PointInT >::getSearchRadius() и pcl::GreedyProjectionTriangulation< PointInT >::setSearchRadius().


Документация для этого класса создана на основе следующих файлов:
  • pcl/surface/gp3.h
  • pcl/surface/impl/gp3.hpp

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API