Spec-Zone.ru › PointCloudLibrary

Алгоритм триангуляции с обрезанием уха. Подробнее...

#include <pcl/surface/ear_clipping.h>

Граф наследования
[легенда]
Граф коллабораций
[легенда]

Публичные типы

using Ptr = shared_ptr< EarClipping >
using ConstPtr = shared_ptr< const EarClipping >
- Публичные типы, унаследованные от pcl::MeshProcessing
using Ptr = shared_ptr< MeshProcessing >
using ConstPtr = shared_ptr< const MeshProcessing >
using PolygonMeshConstPtr = PolygonMesh::ConstPtr

Публичные члены-функции

EarClipping ()=default
Пустой конструктор. Подробнее...
virtual bool initCompute ()
Инициализировать вычисления. Подробнее...
- Публичные члены-функции, унаследованные от pcl::MeshProcessing
MeshProcessing ()=default
Конструктор. Подробнее...
virtual ~MeshProcessing ()=default
Деструктор. Подробнее...
void setInputMesh (const pcl::PolygonMeshConstPtr &input)
Установить входную сетку, которую мы хотим обработать. Подробнее...
pcl::PolygonMeshConstPtr getInputMesh () const
Получить входную сетку для обработки. Подробнее...
void process (pcl::PolygonMesh &output)
Обработать входную поверхностную сетку и сохранить результаты. Подробнее...

Публичные атрибуты

pcl::PolygonMeshConstPtr input_mesh_
Входная полигональная сетка. Подробнее...

Защищённые члены-функции

bool initCompute () override
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
void performProcessing (pcl::PolygonMesh &output) override
Фактический метод реконструкции поверхности. Подробнее...
void triangulate (const Vertices &vertices, PolygonMesh &output)
Треугольная разбивка одного многоугольника. Подробнее...
float area (const Indices &vertices)
Вычисление плaщади многоугольника. Подробнее...
шаблон<typename T = pcl::index_t, std::enable_if_t<!std::is_same< T, std::uint32_t >::value, pcl::index_t > = 0>
float area (const std::vector< std::uint32_t > &vertices)
Вычисление плaщади многоугольника. Подробнее...
bool isEar (int u, int v, int w, const Indices &vertices)
Проверка, является ли треугольник (u, v, w) ухом. Подробнее...
шаблон<typename T = pcl::index_t, std::enable_if_t<!std::is_same< T, std::uint32_t >::value, pcl::index_t > = 0>
bool isEar (int u, int v, int w, const std::vector< std::uint32_t > &vertices)
Проверка, является ли треугольник (u, v, w) ухом. Подробнее...
bool isInsideTriangle (const Eigen::Vector3f &u, const Eigen::Vector3f &v, const Eigen::Vector3f &w, const Eigen::Vector3f &p)
Проверка, находится ли p внутри треугольника (u, v, w). Подробнее...
float crossProduct (const Eigen::Vector2f &p1, const Eigen::Vector2f &p2) const
Вычисление векторного произведения 2D векторов. Подробнее...
- Защищённые члены-функции унаследованные от pcl::MeshProcessing
virtual void deinitCompute ()
Деинициализация вычисления. Подробнее...
virtual std::string getClassName () const
Метод получения имени абстрактного класса. Подробнее...

Защищённые атрибуты

pcl::PointCloud< pcl::PointXYZ >::Ptr points_
Указатель на данные облака точек. Подробнее...
- Защищённые атрибуты унаследованные от pcl::MeshProcessing
pcl::PolygonMeshConstPtr input_mesh_
Ввод многоугольной сетки. Подробнее...

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

Алгоритм триангуляции по методу отсечения уха.

Код вдохновлен реализацией Flavien Brebion, которая имеет сложность O(n^3) и не обрабатывает отверстия.

Автор
Nicolas Burrus

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

Документация по определению типов

ConstPtr

using pcl::EarClipping::ConstPtr = shared_ptr<const EarClipping>

Definition at line 56 of file ear_clipping.h.

Ptr

using pcl::EarClipping::Ptr = shared_ptr<EarClipping>

Definition at line 55 of file ear_clipping.h.

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

EarClipping()

pcl::EarClipping::EarClipping ( )
по умолчанию

Пустой конструктор.

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

area() [1/2]

float pcl::EarClipping::area ( const Indices & vertices )
защищено

Вычисление знаковой площади многоугольника.

Parameters
[in] vertices вершины, представляющие многоугольник

area() [2/2]

template<typename T = pcl::index_t, std::enable_if_t<!std::is_same< T, std::uint32_t >::value, pcl::index_t > = 0>
float pcl::EarClipping::area ( const std::vector< std::uint32_t > & vertices )
встроеннаязащищено

Вычисление знаковой площади многоугольника.

Parameters
[in] vertices вершины, представляющие многоугольник
Устаревшее:
Планируется удалить в версии 1.14: "Этот метод создаёт бесполезную копию вектора vertices. Используйте метод area, принимающий Indices вместо него"

Definition at line 96 of file ear_clipping.h.

crossProduct()

float pcl::EarClipping::crossProduct ( const Eigen::Vector2f & p1,
const Eigen::Vector2f & p2
) const
встроеннаязащищено

Вычисление векторного произведения 2D векторов.

Parameters
[in] p1 первый 2D вектор
[in] p2 второй 2D вектор

Definition at line 141 of file ear_clipping.h.

initCompute() [1/2]

virtual bool pcl::MeshProcessing::initCompute
виртуальный

Инициализация вычислений.

Должен вызываться перед началом обработки.

Переопределён из pcl::MeshProcessing.

initCompute() [2/2]

bool pcl::EarClipping::initCompute ( )
переопределёнзащищеновиртуальный

Этот метод должен вызываться перед началом фактических вычислений.

Переопределён из pcl::MeshProcessing.

isEar() [1/2]

bool pcl::EarClipping::isEar ( int u,
int v,
int w,
const Indices & vertices
)
защищено

Проверка, является ли треугольник (u,v,w) ухом.

Parameters
[in] u первая вершина треугольника
[in] v вторая вершина треугольника
[in] w третья вершина треугольника
[in] vertices набор входных вершин

isEar() [2/2]

template<typename T = pcl::index_t, std::enable_if_t<!std::is_same< T, std::uint32_t >::value, pcl::index_t > = 0>
bool pcl::EarClipping::isEar ( int u,
int v,
int w,
const std::vector< std::uint32_t > & vertices
)
встроеннаязащищено

Проверка, является ли треугольник (u,v,w) ухом.

Parameters
[in] u первая вершина треугольника
[in] v вторая вершина треугольника
[in] w третья вершина треугольника
[in] vertices набор входных вершин
Устаревшее:
Планируется удалить в версии 1.14: "Этот метод создаёт бесполезную копию вектора vertices. Используйте метод isEar, принимающий Indices вместо него"

Definition at line 119 of file ear_clipping.h.

isInsideTriangle()

bool pcl::EarClipping::isInsideTriangle ( const Eigen::Vector3f & u,
const Eigen::Vector3f & v,
const Eigen::Vector3f & w,
const Eigen::Vector3f & p
)
protected

Проверка, находится ли точка p внутри треугольника (u,v,w).

Parameters
[in] u первая вершина треугольника
[in] v вторая вершина треугольника
[in] w третья вершина треугольника
[in] p точка для проверки

performProcessing()

void pcl::EarClipping::performProcessing ( pcl::PolygonMesh & output )
overrideprotectedvirtual

Фактический метод реконструкции поверхности.

Parameters
[out] output результирующая полигональная сетка

Реализует pcl::MeshProcessing.

triangulate()

void pcl::EarClipping::triangulate ( const Vertices & vertices,
PolygonMesh & output
)
protected

Триангуляция одного многоугольника.

Parameters
[in] vertices множество вершин
[out] output результирующая полигональная сетка

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

input_mesh_

pcl::PolygonMeshConstPtr pcl::MeshProcessing::input_mesh_

Входящая полигональная сетка.

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

points_

pcl::PointCloud<pcl::PointXYZ>::Ptr pcl::EarClipping::points_
protected

Указатель на данные облака точек.

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


Документация для данного класса была сгенерирована из следующего файла:
  • pcl/surface/ear_clipping.h

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_ear_clipping.html

Spec-Zone.ru

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