38 #ifndef PCL_SURFACE_EAR_CLIPPING_H_
39 #define PCL_SURFACE_EAR_CLIPPING_H_
41 #include <pcl/point_types.h>
42 #include <pcl/surface/processing.h>
56 typedef boost::shared_ptr<EarClipping>
Ptr;
57 typedef boost::shared_ptr<const EarClipping>
ConstPtr;
91 area (
const std::vector<uint32_t>& vertices);
100 isEar (
int u,
int v,
int w,
const std::vector<uint32_t>& vertices);
109 isInsideTriangle (
const Eigen::Vector2f& u,
110 const Eigen::Vector2f& v,
111 const Eigen::Vector2f& w,
112 const Eigen::Vector2f& p);
120 crossProduct (
const Eigen::Vector2f& p1,
const Eigen::Vector2f& p2)
const
122 return p1[0]*p2[1] - p1[1]*p2[0];
129 #endif // #ifndef PCL_SURFACE_EAR_CLIPPING_H_
Describes a set of vertices in a polygon mesh, by basically storing an array of indices.
virtual bool initCompute()
Initialize computation.
pcl::PolygonMeshConstPtr input_mesh_
Input polygonal mesh.
boost::shared_ptr< const EarClipping > ConstPtr
The ear clipping triangulation algorithm.
boost::shared_ptr< EarClipping > Ptr
boost::shared_ptr< PointCloud< PointT > > Ptr
float crossProduct(const Eigen::Vector2f &p1, const Eigen::Vector2f &p2) const
Compute the cross product between 2D vectors.
MeshProcessing represents the base class for mesh processing algorithms.
EarClipping()
Empty constructor.