Public Member Functions | Protected Attributes

MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge > Class Template Reference

CLoop Boundary loop class. More...

#include <boundary.h>

Collaboration diagram for MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CLoop (CBaseMesh< CVertex, CEdge, CFace, CHalfEdge > *pMesh, CHalfEdge *pH)
 ~CLoop ()
std::list< CHalfEdge * > & halfedges ()
double length ()

Protected Attributes

CBaseMesh< CVertex, CEdge,
CFace, CHalfEdge > * 
m_pMesh
double m_length
CHalfEdgem_pHalfedge
std::list< CHalfEdge * > m_halfedges

Detailed Description

template<typename CVertex, typename CEdge, typename CFace, typename CHalfEdge>
class MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >

CLoop Boundary loop class.

Template Parameters:
CVertex Vertex type
CEdge Edge type
CFace Face type
CHalfEdge HalfEdge type

Definition at line 30 of file boundary.h.


Constructor & Destructor Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::CLoop ( CBaseMesh< CVertex, CEdge, CFace, CHalfEdge > *  pMesh,
CHalfEdge pH 
)

Constructor of the CLoop

Parameters:
pMesh pointer to the current mesh
pH halfedge on the boundary loop

CLoop constructure, trace the boundary loop, starting from the halfedge pH.

Parameters:
pMesh pointer to the current mesh
pH halfedge on the current boundary loop

Definition at line 132 of file boundary.h.

{
        m_pMesh     = pMesh;
        m_pHalfedge = pH;

        m_length = 0;
        CHalfEdge * he = pH;
        //trace the boundary loop
        do{
                CVertex * v = (CVertex*)he->target();
                he = m_pMesh->vertexMostClwOutHalfEdge( v );
                m_halfedges.push_back( he );
    m_length += m_pMesh->edgeLength( (CEdge*)he->edge() );

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::~CLoop (  ) 

Destructor of CLoop.

CLoop destructor, clean up the list of halfedges in the loop

Definition at line 152 of file boundary.h.

{


Member Function Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
std::list<CHalfEdge*>& MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::halfedges (  )  [inline]

The list of haledges on the current boundary loop.

Definition at line 36 of file boundary.h.

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
double MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::length (  )  [inline]

The length of the current boundary loop.

Definition at line 44 of file boundary.h.


Member Data Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
std::list<CHalfEdge*> MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::m_halfedges [protected]

List of consecutive halfedges along the boundary loop.

Definition at line 64 of file boundary.h.

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
double MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::m_length [protected]

The length of the current boundary loop.

Definition at line 56 of file boundary.h.

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CHalfEdge* MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::m_pHalfedge [protected]

Starting halfedge of the current boundary loop.

Definition at line 60 of file boundary.h.

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CBaseMesh<CVertex,CEdge,CFace,CHalfEdge>* MeshLib::CLoop< CVertex, CEdge, CFace, CHalfEdge >::m_pMesh [protected]

Pointer to the current mesh.

Definition at line 53 of file boundary.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Defines