Point Cloud Library (PCL)
1.14.1-dev
|
The ear clipping triangulation algorithm. More...
#include <pcl/surface/ear_clipping.h>
Public Types | |
using | Ptr = shared_ptr< EarClipping > |
using | ConstPtr = shared_ptr< const EarClipping > |
Public Types inherited from pcl::MeshProcessing | |
using | Ptr = shared_ptr< MeshProcessing > |
using | ConstPtr = shared_ptr< const MeshProcessing > |
using | PolygonMeshConstPtr = PolygonMesh::ConstPtr |
Public Member Functions | |
EarClipping ()=default | |
Empty constructor. More... | |
virtual bool | initCompute () |
Initialize computation. More... | |
Public Member Functions inherited from pcl::MeshProcessing | |
MeshProcessing ()=default | |
Constructor. More... | |
virtual | ~MeshProcessing ()=default |
Destructor. More... | |
void | setInputMesh (const pcl::PolygonMeshConstPtr &input) |
Set the input mesh that we want to process. More... | |
pcl::PolygonMeshConstPtr | getInputMesh () const |
Get the input mesh to be processed. More... | |
void | process (pcl::PolygonMesh &output) |
Process the input surface mesh and store the results. More... | |
Public Attributes | |
pcl::PolygonMeshConstPtr | input_mesh_ |
Input polygonal mesh. More... | |
Protected Member Functions | |
bool | initCompute () override |
This method should get called before starting the actual computation. More... | |
void | performProcessing (pcl::PolygonMesh &output) override |
The actual surface reconstruction method. More... | |
void | triangulate (const Vertices &vertices, PolygonMesh &output) |
Triangulate one polygon. More... | |
float | area (const Indices &vertices) |
Compute the signed area of a polygon. More... | |
bool | isEar (int u, int v, int w, const Indices &vertices) |
Check if the triangle (u,v,w) is an ear. More... | |
bool | isInsideTriangle (const Eigen::Vector3f &u, const Eigen::Vector3f &v, const Eigen::Vector3f &w, const Eigen::Vector3f &p) |
Check if p is inside the triangle (u,v,w). More... | |
float | crossProduct (const Eigen::Vector2f &p1, const Eigen::Vector2f &p2) const |
Compute the cross product between 2D vectors. More... | |
Protected Member Functions inherited from pcl::MeshProcessing | |
virtual void | deinitCompute () |
UnInitialize computation. More... | |
virtual std::string | getClassName () const |
Abstract class get name method. More... | |
Protected Attributes | |
pcl::PointCloud< pcl::PointXYZ >::Ptr | points_ |
a Pointer to the point cloud data. More... | |
Protected Attributes inherited from pcl::MeshProcessing | |
pcl::PolygonMeshConstPtr | input_mesh_ |
Input polygonal mesh. More... | |
The ear clipping triangulation algorithm.
The code is inspired by Flavien Brebion implementation, which is in n^3 and does not handle holes.
Definition at line 52 of file ear_clipping.h.
using pcl::EarClipping::ConstPtr = shared_ptr<const EarClipping> |
Definition at line 56 of file ear_clipping.h.
using pcl::EarClipping::Ptr = shared_ptr<EarClipping> |
Definition at line 55 of file ear_clipping.h.
|
default |
Empty constructor.
|
protected |
Compute the signed area of a polygon.
[in] | vertices | the vertices representing the polygon |
|
inlineprotected |
Compute the cross product between 2D vectors.
[in] | p1 | the first 2D vector |
[in] | p2 | the first 2D vector |
Definition at line 116 of file ear_clipping.h.
|
virtual |
Initialize computation.
Must be called before processing starts.
Reimplemented from pcl::MeshProcessing.
|
overrideprotectedvirtual |
This method should get called before starting the actual computation.
Reimplemented from pcl::MeshProcessing.
|
protected |
Check if the triangle (u,v,w) is an ear.
[in] | u | the first triangle vertex |
[in] | v | the second triangle vertex |
[in] | w | the third triangle vertex |
[in] | vertices | a set of input vertices |
|
protected |
Check if p is inside the triangle (u,v,w).
[in] | u | the first triangle vertex |
[in] | v | the second triangle vertex |
[in] | w | the third triangle vertex |
[in] | p | the point to check |
|
overrideprotectedvirtual |
The actual surface reconstruction method.
[out] | output | the output polygonal mesh |
Implements pcl::MeshProcessing.
|
protected |
Triangulate one polygon.
[in] | vertices | the set of vertices |
[out] | output | the resultant polygonal mesh |
pcl::PolygonMeshConstPtr pcl::MeshProcessing::input_mesh_ |
Input polygonal mesh.
Definition at line 147 of file processing.h.
|
protected |
a Pointer to the point cloud data.
Definition at line 65 of file ear_clipping.h.