Алгоритм триангуляции с обрезанием уха. Подробнее...
#include <pcl/surface/ear_clipping.h>
|
| 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 векторов. Подробнее...
|
| virtual void |
deinitCompute () |
| |
Деинициализация вычисления. Подробнее...
|
| virtual std::string |
getClassName () const |
| |
Метод получения имени абстрактного класса. Подробнее...
|
Алгоритм триангуляции по методу отсечения уха.
Код вдохновлен реализацией Flavien Brebion, которая имеет сложность O(n^3) и не обрабатывает отверстия.
- Автор
- Nicolas Burrus
Определение в строке 52 файла ear_clipping.h.
ConstPtr
Ptr
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()
Фактический метод реконструкции поверхности.
- Parameters
-
| [out] |
output |
результирующая полигональная сетка |
Реализует pcl::MeshProcessing.
triangulate()
Триангуляция одного многоугольника.
- Parameters
-
| [in] |
vertices |
множество вершин |
| [out] |
output |
результирующая полигональная сетка |
input_mesh_
points_
Документация для данного класса была сгенерирована из следующего файла: