Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
pcl::geometry::PolygonMesh< MeshTraitsT > Class Template Reference

General half-edge mesh that can store any polygon with a minimum number of vertices of 3. More...

#include <polygon_mesh.h>

Inheritance diagram for pcl::geometry::PolygonMesh< MeshTraitsT >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef
pcl::geometry::MeshBase
< PolygonMesh< MeshTraitsT >
, MeshTraitsT, PolygonMeshTag
Base
typedef boost::shared_ptr
< const Self
ConstPtr
typedef Base::EdgeData EdgeData
typedef Base::EdgeDataCloud EdgeDataCloud
typedef Base::EdgeIndex EdgeIndex
typedef Base::EdgeIndices EdgeIndices
typedef
Base::FaceAroundFaceCirculator 
FaceAroundFaceCirculator
typedef
Base::FaceAroundVertexCirculator 
FaceAroundVertexCirculator
typedef Base::FaceData FaceData
typedef Base::FaceDataCloud FaceDataCloud
typedef Base::FaceIndex FaceIndex
typedef Base::FaceIndices FaceIndices
typedef Base::HalfEdgeData HalfEdgeData
typedef Base::HalfEdgeDataCloud HalfEdgeDataCloud
typedef Base::HalfEdgeIndex HalfEdgeIndex
typedef Base::HalfEdgeIndices HalfEdgeIndices
typedef Base::HasEdgeData HasEdgeData
typedef Base::HasFaceData HasFaceData
typedef Base::HasHalfEdgeData HasHalfEdgeData
typedef Base::HasVertexData HasVertexData
typedef
Base::IncomingHalfEdgeAroundVertexCirculator 
IncomingHalfEdgeAroundVertexCirculator
typedef
Base::InnerHalfEdgeAroundFaceCirculator 
InnerHalfEdgeAroundFaceCirculator
typedef Base::IsManifold IsManifold
typedef Base::MeshTag MeshTag
typedef
Base::OuterHalfEdgeAroundFaceCirculator 
OuterHalfEdgeAroundFaceCirculator
typedef
Base::OutgoingHalfEdgeAroundVertexCirculator 
OutgoingHalfEdgeAroundVertexCirculator
typedef boost::shared_ptr< SelfPtr
typedef PolygonMesh< MeshTraitsT > Self
typedef
Base::VertexAroundFaceCirculator 
VertexAroundFaceCirculator
typedef
Base::VertexAroundVertexCirculator 
VertexAroundVertexCirculator
typedef Base::VertexData VertexData
typedef Base::VertexDataCloud VertexDataCloud
typedef Base::VertexIndex VertexIndex
typedef Base::VertexIndices VertexIndices

Public Member Functions

FaceIndex addFace (const VertexIndex &idx_v_0, const VertexIndex &idx_v_1, const VertexIndex &idx_v_2, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData())
 Add a triangle to the mesh. Data is only added if it is associated with the elements. The last vertex is connected with the first one.
FaceIndex addFace (const VertexIndex &idx_v_0, const VertexIndex &idx_v_1, const VertexIndex &idx_v_2, const VertexIndex &idx_v_3, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData())
 Add a quad to the mesh. Data is only added if it is associated with the elements. The last vertex is connected with the first one.
 PolygonMesh ()
 Constructor.

Private Member Functions

FaceIndex addFaceImpl (const VertexIndices &vertices, const FaceData &face_data, const EdgeData &edge_data, const HalfEdgeData &half_edge_data)
 addFace for the polygon mesh.

Private Attributes

VertexIndices add_quad_
 Storage for adding a quad.
VertexIndices add_triangle_
 Storage for adding a triangle.

Friends

class pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, pcl::geometry::PolygonMeshTag >

Detailed Description

template<class MeshTraitsT>
class pcl::geometry::PolygonMesh< MeshTraitsT >

General half-edge mesh that can store any polygon with a minimum number of vertices of 3.

Template Parameters:
MeshTraitsTPlease have a look at pcl::geometry::DefaultMeshTraits.
Author:
Martin Saelzle

Definition at line 59 of file polygon_mesh.h.


Member Typedef Documentation

template<class MeshTraitsT >
typedef pcl::geometry::MeshBase<PolygonMesh <MeshTraitsT>, MeshTraitsT, PolygonMeshTag> pcl::geometry::PolygonMesh< MeshTraitsT >::Base

Definition at line 63 of file polygon_mesh.h.

template<class MeshTraitsT >
typedef boost::shared_ptr<const Self> pcl::geometry::PolygonMesh< MeshTraitsT >::ConstPtr
template<class MeshTraitsT >
typedef Base::EdgeData pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeData
template<class MeshTraitsT >
typedef Base::EdgeDataCloud pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeDataCloud
template<class MeshTraitsT >
typedef Base::EdgeIndex pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeIndex
template<class MeshTraitsT >
typedef Base::EdgeIndices pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeIndices
template<class MeshTraitsT >
typedef Base::FaceAroundFaceCirculator pcl::geometry::PolygonMesh< MeshTraitsT >::FaceAroundFaceCirculator
template<class MeshTraitsT >
typedef Base::FaceAroundVertexCirculator pcl::geometry::PolygonMesh< MeshTraitsT >::FaceAroundVertexCirculator
template<class MeshTraitsT >
typedef Base::FaceData pcl::geometry::PolygonMesh< MeshTraitsT >::FaceData
template<class MeshTraitsT >
typedef Base::FaceDataCloud pcl::geometry::PolygonMesh< MeshTraitsT >::FaceDataCloud
template<class MeshTraitsT >
typedef Base::FaceIndex pcl::geometry::PolygonMesh< MeshTraitsT >::FaceIndex
template<class MeshTraitsT >
typedef Base::FaceIndices pcl::geometry::PolygonMesh< MeshTraitsT >::FaceIndices
template<class MeshTraitsT >
typedef Base::HalfEdgeData pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeData
template<class MeshTraitsT >
typedef Base::HalfEdgeDataCloud pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeDataCloud
template<class MeshTraitsT >
typedef Base::HalfEdgeIndex pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeIndex
template<class MeshTraitsT >
typedef Base::HalfEdgeIndices pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeIndices
template<class MeshTraitsT >
typedef Base::HasEdgeData pcl::geometry::PolygonMesh< MeshTraitsT >::HasEdgeData
template<class MeshTraitsT >
typedef Base::HasFaceData pcl::geometry::PolygonMesh< MeshTraitsT >::HasFaceData
template<class MeshTraitsT >
typedef Base::HasHalfEdgeData pcl::geometry::PolygonMesh< MeshTraitsT >::HasHalfEdgeData
template<class MeshTraitsT >
typedef Base::HasVertexData pcl::geometry::PolygonMesh< MeshTraitsT >::HasVertexData
template<class MeshTraitsT >
typedef Base::IsManifold pcl::geometry::PolygonMesh< MeshTraitsT >::IsManifold
template<class MeshTraitsT >
typedef Base::MeshTag pcl::geometry::PolygonMesh< MeshTraitsT >::MeshTag
template<class MeshTraitsT >
typedef boost::shared_ptr<Self> pcl::geometry::PolygonMesh< MeshTraitsT >::Ptr
template<class MeshTraitsT >
typedef PolygonMesh<MeshTraitsT> pcl::geometry::PolygonMesh< MeshTraitsT >::Self
template<class MeshTraitsT >
typedef Base::VertexAroundFaceCirculator pcl::geometry::PolygonMesh< MeshTraitsT >::VertexAroundFaceCirculator
template<class MeshTraitsT >
typedef Base::VertexData pcl::geometry::PolygonMesh< MeshTraitsT >::VertexData
template<class MeshTraitsT >
typedef Base::VertexDataCloud pcl::geometry::PolygonMesh< MeshTraitsT >::VertexDataCloud
template<class MeshTraitsT >
typedef Base::VertexIndex pcl::geometry::PolygonMesh< MeshTraitsT >::VertexIndex
template<class MeshTraitsT >
typedef Base::VertexIndices pcl::geometry::PolygonMesh< MeshTraitsT >::VertexIndices

Constructor & Destructor Documentation

template<class MeshTraitsT >
pcl::geometry::PolygonMesh< MeshTraitsT >::PolygonMesh ( ) [inline]

Constructor.

Definition at line 108 of file polygon_mesh.h.


Member Function Documentation

template<class MeshTraitsT >
FaceIndex pcl::geometry::PolygonMesh< MeshTraitsT >::addFace ( const VertexIndex idx_v_0,
const VertexIndex idx_v_1,
const VertexIndex idx_v_2,
const FaceData face_data = FaceData (),
const EdgeData edge_data = EdgeData (),
const HalfEdgeData half_edge_data = HalfEdgeData () 
) [inline]

Add a triangle to the mesh. Data is only added if it is associated with the elements. The last vertex is connected with the first one.

Parameters:
[in]idx_v_0Index to the first vertex.
[in]idx_v_1Index to the second vertex.
[in]idx_v_2Index to the third vertex.
[in]face_dataData that is set for the face.
[in]half_edge_dataData that is set for all added half-edges.
[in]edge_dataData that is set for all added edges.
Returns:
Index to the new face. Failure is signaled by returning an invalid face index.
Warning:
The vertices must be valid and unique (each vertex may be contained only once). Not complying with this requirement results in undefined behavior!

Definition at line 129 of file polygon_mesh.h.

template<class MeshTraitsT >
FaceIndex pcl::geometry::PolygonMesh< MeshTraitsT >::addFace ( const VertexIndex idx_v_0,
const VertexIndex idx_v_1,
const VertexIndex idx_v_2,
const VertexIndex idx_v_3,
const FaceData face_data = FaceData (),
const EdgeData edge_data = EdgeData (),
const HalfEdgeData half_edge_data = HalfEdgeData () 
) [inline]

Add a quad to the mesh. Data is only added if it is associated with the elements. The last vertex is connected with the first one.

Parameters:
[in]idx_v_0Index to the first vertex.
[in]idx_v_1Index to the second vertex.
[in]idx_v_2Index to the third vertex.
[in]idx_v_3Index to the fourth vertex.
[in]face_dataData that is set for the face.
[in]half_edge_dataData that is set for all added half-edges.
[in]edge_dataData that is set for all added edges.
Returns:
Index to the new face. Failure is signaled by returning an invalid face index.
Warning:
The vertices must be valid and unique (each vertex may be contained only once). Not complying with this requirement results in undefined behavior!

Definition at line 155 of file polygon_mesh.h.

template<class MeshTraitsT >
FaceIndex pcl::geometry::PolygonMesh< MeshTraitsT >::addFaceImpl ( const VertexIndices vertices,
const FaceData face_data,
const EdgeData edge_data,
const HalfEdgeData half_edge_data 
) [inline, private]

addFace for the polygon mesh.

Definition at line 178 of file polygon_mesh.h.


Friends And Related Function Documentation

template<class MeshTraitsT >
friend class pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, pcl::geometry::PolygonMeshTag > [friend]

Definition at line 174 of file polygon_mesh.h.


Member Data Documentation

template<class MeshTraitsT >
VertexIndices pcl::geometry::PolygonMesh< MeshTraitsT >::add_quad_ [private]

Storage for adding a quad.

Definition at line 194 of file polygon_mesh.h.

template<class MeshTraitsT >
VertexIndices pcl::geometry::PolygonMesh< MeshTraitsT >::add_triangle_ [private]

Storage for adding a triangle.

Definition at line 191 of file polygon_mesh.h.


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


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:43:56