Алгоритм триангуляции отсечением ушей. Подробнее...
#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) |
| |
Вычислить ориентированную площадь многоугольника. Подробнее...
|
| bool |
isEar (int u, int v, int w, const Indices &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 |
| |
Вычислить векторное произведение двумерных векторов. Подробнее...
|
| virtual void |
deinitCompute () |
| |
Завершить инициализацию вычислений. Подробнее...
|
| virtual std::string |
getClassName () const |
| |
Метод получения имени абстрактного класса. Подробнее...
|
Алгоритм триангуляции отсечением ушей.
Код основан на реализации Флавьена Бребьона, сложность которой составляет n^3 и которая не обрабатывает отверстия.
- Автор
- Nicolas Burrus
Определение в строке 52 файла ear_clipping.h.
ConstPtr
Ptr
EarClipping()
| pcl::EarClipping::EarClipping | ( | |
) | | | default |
Конструктор без параметров.
area()
| float pcl::EarClipping::area | ( | const Indices & | vertices |
) | | | protected |
Вычислить ориентированную площадь многоугольника.
- Параметры
-
| [in] |
vertices |
вершины, задающие многоугольник |
crossProduct()
| float pcl::EarClipping::crossProduct | ( | const Eigen::Vector2f & |
p1, | | | const Eigen::Vector2f & |
p2 | | ) | |
const | | inlineprotected |
Вычислить векторное произведение двумерных векторов.
- Параметры
-
| [in] |
p1 |
первый двумерный вектор |
| [in] |
p2 |
первый двумерный вектор |
Определение в строке 116 файла ear_clipping.h.
initCompute() [1/2]
| virtual bool pcl::MeshProcessing::initCompute | | virtual |
Инициализация вычислений.
Необходимо вызвать до начала обработки.
Переопределяет метод из pcl::MeshProcessing.
initCompute() [2/2]
| bool pcl::EarClipping::initCompute | ( | |
) | | | overrideprotectedvirtual |
Этот метод следует вызывать перед началом фактических вычислений.
Переопределяет метод из pcl::MeshProcessing.
isEar()
| bool pcl::EarClipping::isEar | ( | int |
u, | | | int |
v, | | | int |
w, | | | const Indices & |
vertices | | ) | |
| | protected |
Проверить, является ли треугольник (u,v,w) ухом.
- Параметры
-
| [in] |
u |
первая вершина треугольника |
| [in] |
v |
вторая вершина треугольника |
| [in] |
w |
третья вершина треугольника |
| [in] |
vertices |
набор входных вершин |
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).
- Параметры
-
| [in] |
u |
первая вершина треугольника |
| [in] |
v |
вторая вершина треугольника |
| [in] |
w |
третья вершина треугольника |
| [in] |
p |
проверяемая точка |
performProcessing()
Метод фактического восстановления поверхности.
- Параметры
-
| [out] |
output |
выходная полигональная сетка |
Реализует метод из pcl::MeshProcessing.
triangulate()
Триангулировать один полигон.
- Параметры
-
| [in] |
vertices |
набор вершин |
| [out] |
output |
результирующая полигональная сетка |
input_mesh_
points_
Документация для этого класса сгенерирована из следующего файла: