The ear clipping triangulation algorithm. The code is inspired by Flavien Brebion implementation, which is in n^3 and does not handle holes.  
 More...
#include <ear_clipping_patched.h>
|  | 
| float | crossProduct (const Eigen::Vector2f &p1, const Eigen::Vector2f &p2) const | 
|  | Compute the cross product between 2D vectors.  More... 
 | 
|  | 
| bool | initCompute () | 
|  | This method should get called before starting the actual computation.  More... 
 | 
|  | 
| bool | intersect (const Eigen::Vector3f &p0, const Eigen::Vector3f &p1, const Eigen::Vector3f &p2, const Eigen::Vector3f &p3) | 
|  | Check if two line segments intersect by themselves.  More... 
 | 
|  | 
| bool | isEar (int u, int v, int w, const Vertices &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... 
 | 
|  | 
| void | performProcessing (pcl::PolygonMesh &output) | 
|  | The actual surface reconstruction method.  More... 
 | 
|  | 
| void | triangulate (const Vertices &vertices, PolygonMesh &output) | 
|  | Triangulate one polygon.  More... 
 | 
|  | 
| size_t | triangulateClockwiseVertices (Vertices &vertices, PolygonMesh &output) | 
|  | Triangulate one polygon, assume the vertices are clockwise.  More... 
 | 
|  | 
The ear clipping triangulation algorithm. The code is inspired by Flavien Brebion implementation, which is in n^3 and does not handle holes. 
- Author
- Nicolas Burrus 
Definition at line 85 of file ear_clipping_patched.h.
◆ ConstPtr
◆ Ptr
◆ EarClippingPatched()
  
  | 
        
          | pcl::EarClippingPatched::EarClippingPatched | ( |  | ) |  |  | inline | 
 
 
◆ crossProduct()
  
  | 
        
          | float pcl::EarClippingPatched::crossProduct | ( | const Eigen::Vector2f & | p1, |  
          |  |  | const Eigen::Vector2f & | p2 |  
          |  | ) |  | const |  | inlineprotected | 
 
Compute the cross product between 2D vectors. 
- Parameters
- 
  
    | [in] | p1 | the first 2D vector |  | [in] | p2 | the first 2D vector |  
 
Definition at line 184 of file ear_clipping_patched.h.
 
 
◆ initCompute()
  
  | 
        
          | bool pcl::EarClippingPatched::initCompute | ( |  | ) |  |  | protected | 
 
 
◆ intersect()
  
  | 
        
          | bool pcl::EarClippingPatched::intersect | ( | const Eigen::Vector3f & | p0, |  
          |  |  | const Eigen::Vector3f & | p1, |  
          |  |  | const Eigen::Vector3f & | p2, |  
          |  |  | const Eigen::Vector3f & | p3 |  
          |  | ) |  |  |  | protected | 
 
Check if two line segments intersect by themselves. 
- Parameters
- 
  
    | [in] | p0 | an end of the first line segment |  | [in] | p1 | the other end of the first line segment |  | [in] | p2 | an end of the second line segment |  | [in] | p3 | the other end of the second line segment |  
 
Definition at line 211 of file ear_clipping_patched.cpp.
 
 
◆ isEar()
  
  | 
        
          | bool pcl::EarClippingPatched::isEar | ( | int | u, |  
          |  |  | int | v, |  
          |  |  | int | w, |  
          |  |  | const Vertices & | vertices |  
          |  | ) |  |  |  | protected | 
 
Check if the triangle (u,v,w) is an ear. 
- Parameters
- 
  
    | [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 |  
 
Definition at line 130 of file ear_clipping_patched.cpp.
 
 
◆ isInsideTriangle()
  
  | 
        
          | bool pcl::EarClippingPatched::isInsideTriangle | ( | const Eigen::Vector3f & | u, |  
          |  |  | const Eigen::Vector3f & | v, |  
          |  |  | const Eigen::Vector3f & | w, |  
          |  |  | const Eigen::Vector3f & | p |  
          |  | ) |  |  |  | protected | 
 
Check if p is inside the triangle (u,v,w). 
- Parameters
- 
  
    | [in] | u | the first triangle vertex |  | [in] | v | the second triangle vertex |  | [in] | w | the third triangle vertex |  | [in] | p | the point to check |  
 
Definition at line 182 of file ear_clipping_patched.cpp.
 
 
◆ performProcessing()
  
  | 
        
          | void pcl::EarClippingPatched::performProcessing | ( | pcl::PolygonMesh & | output | ) |  |  | protected | 
 
The actual surface reconstruction method. 
- Parameters
- 
  
    | [out] | output | the output polygonal mesh |  
 
Definition at line 56 of file ear_clipping_patched.cpp.
 
 
◆ triangulate()
  
  | 
        
          | void pcl::EarClippingPatched::triangulate | ( | const Vertices & | vertices, |  
          |  |  | PolygonMesh & | output |  
          |  | ) |  |  |  | protected | 
 
Triangulate one polygon. 
- Parameters
- 
  
    | [in] | vertices | the set of vertices |  | [out] | output | the resultant polygonal mesh |  
 
Definition at line 66 of file ear_clipping_patched.cpp.
 
 
◆ triangulateClockwiseVertices()
  
  | 
        
          | size_t pcl::EarClippingPatched::triangulateClockwiseVertices | ( | Vertices & | vertices, |  
          |  |  | PolygonMesh & | output |  
          |  | ) |  |  |  | protected | 
 
Triangulate one polygon, assume the vertices are clockwise. 
- Parameters
- 
  
    | [in] | vertices | the set of vertices |  | [out] | output | the resultant polygonal mesh |  
 
Definition at line 95 of file ear_clipping_patched.cpp.
 
 
◆ points_
The documentation for this class was generated from the following files: