Public Member Functions | Protected Member Functions | Protected Attributes
pcl::EarClipping Class Reference

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.h>

Inheritance diagram for pcl::EarClipping:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 EarClipping ()
 Empty constructor.

Protected Member Functions

float area (const std::vector< uint32_t > &vertices)
 Compute the signed area of a polygon.
float crossProduct (const Eigen::Vector2f &p1, const Eigen::Vector2f &p2) const
 Compute the cross product between 2D vectors.
bool initCompute ()
 This method should get called before starting the actual computation.
bool isEar (int u, int v, int w, const std::vector< uint32_t > &vertices)
 Check if the triangle (u,v,w) is an ear.
bool isInsideTriangle (const Eigen::Vector2f &u, const Eigen::Vector2f &v, const Eigen::Vector2f &w, const Eigen::Vector2f &p)
 Check if p is inside the triangle (u,v,w).
void performProcessing (pcl::PolygonMesh &output)
 The actual surface reconstruction method.
void triangulate (const Vertices &vertices, PolygonMesh &output)
 Triangulate one polygon.

Protected Attributes

pcl::PointCloud< pcl::PointXYZ >
::Ptr 
points_
 a Pointer to the point cloud data.

Detailed Description

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 53 of file ear_clipping.h.


Constructor & Destructor Documentation

Empty constructor.

Definition at line 59 of file ear_clipping.h.


Member Function Documentation

float pcl::EarClipping::area ( const std::vector< uint32_t > &  vertices) [protected]

Compute the signed area of a polygon.

Parameters:
[in]verticesthe vertices representing the polygon

Definition at line 110 of file ear_clipping.cpp.

float pcl::EarClipping::crossProduct ( const Eigen::Vector2f &  p1,
const Eigen::Vector2f &  p2 
) const [inline, protected]

Compute the cross product between 2D vectors.

Parameters:
[in]p1the first 2D vector
[in]p2the first 2D vector

Definition at line 117 of file ear_clipping.h.

bool pcl::EarClipping::initCompute ( ) [protected, virtual]

This method should get called before starting the actual computation.

Reimplemented from pcl::MeshProcessing.

Definition at line 44 of file ear_clipping.cpp.

bool pcl::EarClipping::isEar ( int  u,
int  v,
int  w,
const std::vector< uint32_t > &  vertices 
) [protected]

Check if the triangle (u,v,w) is an ear.

Parameters:
[in]uthe first triangle vertex
[in]vthe second triangle vertex
[in]wthe third triangle vertex
[in]verticesa set of input vertices

Definition at line 130 of file ear_clipping.cpp.

bool pcl::EarClipping::isInsideTriangle ( const Eigen::Vector2f &  u,
const Eigen::Vector2f &  v,
const Eigen::Vector2f &  w,
const Eigen::Vector2f &  p 
) [protected]

Check if p is inside the triangle (u,v,w).

Parameters:
[in]uthe first triangle vertex
[in]vthe second triangle vertex
[in]wthe third triangle vertex
[in]pthe point to check

Definition at line 166 of file ear_clipping.cpp.

void pcl::EarClipping::performProcessing ( pcl::PolygonMesh &  output) [protected, virtual]

The actual surface reconstruction method.

Parameters:
[out]outputthe output polygonal mesh

Implements pcl::MeshProcessing.

Definition at line 57 of file ear_clipping.cpp.

void pcl::EarClipping::triangulate ( const Vertices &  vertices,
PolygonMesh &  output 
) [protected]

Triangulate one polygon.

Parameters:
[in]verticesthe set of vertices
[out]outputthe resultant polygonal mesh

Definition at line 67 of file ear_clipping.cpp.


Member Data Documentation

a Pointer to the point cloud data.

Definition at line 61 of file ear_clipping.h.


The documentation for this class was generated from the following files:


pcl
Author(s): Open Perception
autogenerated on Mon Oct 6 2014 03:19:17