|
Point Cloud Library (PCL)
1.15.1-dev
|
The ear clipping triangulation algorithm. More...
#include <pcl/surface/ear_clipping.h>
Inheritance diagram for pcl::EarClipping:
Collaboration diagram for pcl::EarClipping: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.