Public Member Functions | Private Attributes

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

VertexInHalfedgeIterator, transverse all the incoming halfedges of a vertex ccwly. More...

#include <iterators.h>

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

List of all members.

Public Member Functions

 VertexInHalfedgeIterator (CBaseMesh< CVertex, CEdge, CFace, CHalfEdge > *pMesh, CVertex *v)
 ~VertexInHalfedgeIterator ()
void operator++ ()
void operator++ (int)
CHalfEdgevalue ()
bool end ()
CHalfEdgeoperator* ()

Private Attributes

CBaseMesh< CVertex, CEdge,
CFace, CHalfEdge > * 
m_pMesh
CVertexm_vertex
CHalfEdgem_halfedge

Detailed Description

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

VertexInHalfedgeIterator, transverse all the incoming halfedges of a vertex ccwly.

Definition at line 91 of file iterators.h.


Constructor & Destructor Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::VertexInHalfedgeIterator ( CBaseMesh< CVertex, CEdge, CFace, CHalfEdge > *  pMesh,
CVertex v 
) [inline]

VertexInHalfedgeIteartor constructor

Parameters:
pMesh pointer to the current mesh
v pointer to the current vertex

Definition at line 99 of file iterators.h.

        { m_pMesh = pMesh; m_vertex = v; m_halfedge = m_pMesh->vertexMostClwInHalfEdge(v); };

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::~VertexInHalfedgeIterator (  )  [inline]

VertexInHalfedgeIterator destructor

Definition at line 104 of file iterators.h.

{};


Member Function Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
bool MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::end (  )  [inline]

Indicate whether all the in halfedges of the vertex have been transversed.

Definition at line 137 of file iterators.h.

{ return m_halfedge == NULL; };

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CHalfEdge* MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::operator* (  )  [inline]

The current halfedge the iterator pointing to.

Definition at line 141 of file iterators.h.

{ return value(); };

Here is the call graph for this function:

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
void MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::operator++ ( int   )  [inline]

postfix ++ operator, goes to the next ccw vertex in halfedge

Definition at line 121 of file iterators.h.

        {
         assert( m_halfedge != NULL ); 
         if( m_halfedge == m_pMesh->vertexMostCcwInHalfEdge(m_vertex) ) 
                 m_halfedge = NULL; 
         else
                m_halfedge = m_pMesh->vertexNextCcwInHalfEdge(m_halfedge); 
        };

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
void MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::operator++ (  )  [inline]

prefix ++ operator, goes to the next ccw vertex in halfedge

Definition at line 109 of file iterators.h.

        {
         assert( m_halfedge != NULL ); 
         if( m_halfedge == m_pMesh->vertexMostCcwInHalfEdge(m_vertex) ) 
                 m_halfedge = NULL; 
         else
                m_halfedge = m_pMesh->vertexNextCcwInHalfEdge(m_halfedge); 
        };

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CHalfEdge* MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::value (  )  [inline]

The current halfedge the iterator pointing to.

Definition at line 133 of file iterators.h.

{ return m_halfedge; };

Here is the caller graph for this function:


Member Data Documentation

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CHalfEdge* MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::m_halfedge [private]

Current halfedge.

Definition at line 155 of file iterators.h.

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

Current mesh.

Definition at line 141 of file iterators.h.

template<typename CVertex , typename CEdge , typename CFace , typename CHalfEdge >
CVertex* MeshLib::VertexInHalfedgeIterator< CVertex, CEdge, CFace, CHalfEdge >::m_vertex [private]

Current vertex.

Definition at line 151 of file iterators.h.


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