Public Member Functions | Protected Attributes

MeshLib::CHalfEdge Class Reference

CHalfEdge Base class of all kinds of halfedges. More...

#include <HalfEdge.h>

Collaboration diagram for MeshLib::CHalfEdge:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CHalfEdge ()
 ~CHalfEdge ()
CEdge *& edge ()
CVertex *& vertex ()
CVertex *& target ()
CVertex *& source ()
CHalfEdge *& he_prev ()
CHalfEdge *& he_next ()
CHalfEdge *& he_sym ()
CFace *& face ()
CHalfEdgeccw_rotate_about_target ()
CHalfEdgeclw_rotate_about_target ()
CHalfEdgeccw_rotate_about_source ()
CHalfEdgeclw_rotate_about_source ()
std::string & string ()
void _to_string ()
void _from_string ()

Protected Attributes

CEdgem_edge
CFacem_face
CVertexm_vertex
CHalfEdgem_prev
CHalfEdgem_next
std::string m_string

Detailed Description

CHalfEdge Base class of all kinds of halfedges.

Definition at line 25 of file HalfEdge.h.


Constructor & Destructor Documentation

MeshLib::CHalfEdge::CHalfEdge (  )  [inline]

Constructor, initialize all pointers to be NULL.

Definition at line 31 of file HalfEdge.h.

{ m_edge = NULL; m_vertex = NULL; m_prev = NULL; m_next = NULL; m_face = NULL; };

MeshLib::CHalfEdge::~CHalfEdge (  )  [inline]

Destructure.

Definition at line 34 of file HalfEdge.h.

{};


Member Function Documentation

void MeshLib::CHalfEdge::_from_string (  )  [inline]

Read traits from string.

Definition at line 73 of file HalfEdge.h.

{};

Here is the caller graph for this function:

void MeshLib::CHalfEdge::_to_string (  )  [inline]

Convert the traits to string.

Definition at line 71 of file HalfEdge.h.

{};

CHalfEdge * MeshLib::CHalfEdge::ccw_rotate_about_source (  )  [inline]

Rotate the halfedge about the source vertex ccwly.

Returns:
if the current halfedge is the most ccw out halfedge of its source vertex, which is on boundary, return NULL.

Definition at line 111 of file HalfEdge.h.

{

        CHalfEdge * he = he_prev()->he_sym();
        return he;

Here is the call graph for this function:

Here is the caller graph for this function:

CHalfEdge * MeshLib::CHalfEdge::ccw_rotate_about_target (  )  [inline]

Rotate the halfedge about the target vertex ccwly.

Returns:
if the current halfedge is the most ccw in halfedge of its target vertex, which is on boundary, return NULL.

Definition at line 92 of file HalfEdge.h.

{
        CHalfEdge * he_dual = he_sym();
        if( he_dual == NULL ) return NULL;

        return he_dual->he_prev();

Here is the call graph for this function:

Here is the caller graph for this function:

CHalfEdge * MeshLib::CHalfEdge::clw_rotate_about_source (  )  [inline]

Rotate the halfedge about the source vertex ccwly.

Returns:
if the current halfedge is the most clw out halfedge of its source vertex, which is on boundary, return NULL.

Definition at line 120 of file HalfEdge.h.

{
        CHalfEdge * he = he_sym();
        if( he == NULL ) return NULL;
        return he->he_next();

Here is the call graph for this function:

Here is the caller graph for this function:

CHalfEdge * MeshLib::CHalfEdge::clw_rotate_about_target (  )  [inline]

Rotate the halfedge about the target vertex clwly.

Returns:
if the current halfedge is the most clw in halfedge of its target vertex, which is on boundary, return NULL.

Definition at line 102 of file HalfEdge.h.

{
        CHalfEdge * he = he_next()->he_sym();
        return he;

Here is the call graph for this function:

Here is the caller graph for this function:

CEdge* & MeshLib::CHalfEdge::edge (  )  [inline]

Pointer to the edge attaching to the current halfedge.

Definition at line 37 of file HalfEdge.h.

{ return m_edge;   };

Here is the caller graph for this function:

CFace* & MeshLib::CHalfEdge::face (  )  [inline]

The face, to which the current halfedge attach.

Definition at line 51 of file HalfEdge.h.

{ return m_face;};

Here is the caller graph for this function:

CHalfEdge* & MeshLib::CHalfEdge::he_next (  )  [inline]

Next halfedge of the current halfedge.

Definition at line 47 of file HalfEdge.h.

{ return m_next;};

Here is the caller graph for this function:

CHalfEdge* & MeshLib::CHalfEdge::he_prev (  )  [inline]

Previous halfedge of the current halfedge.

Definition at line 45 of file HalfEdge.h.

{ return m_prev;};

Here is the caller graph for this function:

CHalfEdge* & MeshLib::CHalfEdge::he_sym (  )  [inline]

The dual halfedge of the current halfedge.

Definition at line 49 of file HalfEdge.h.

{ return m_edge->other( this ); };

Here is the caller graph for this function:

CVertex* & MeshLib::CHalfEdge::source (  )  [inline]

Source vertex of the current halfedge.

Definition at line 43 of file HalfEdge.h.

{ return m_prev->vertex();};

Here is the caller graph for this function:

std::string& MeshLib::CHalfEdge::string (  )  [inline]

String of the current halfedge.

Definition at line 69 of file HalfEdge.h.

Here is the caller graph for this function:

CVertex* & MeshLib::CHalfEdge::target (  )  [inline]

Target vertex of the current halfedge.

Definition at line 41 of file HalfEdge.h.

{ return m_vertex; };

Here is the caller graph for this function:

CVertex* & MeshLib::CHalfEdge::vertex (  )  [inline]

Target vertex of the current halfedge.

Definition at line 39 of file HalfEdge.h.

{ return m_vertex; };

Here is the caller graph for this function:


Member Data Documentation

Edge, current halfedge attached to.

Definition at line 73 of file HalfEdge.h.

Face, current halfedge attached to.

Definition at line 79 of file HalfEdge.h.

Next halfedge of the current halfedge, in the same face.

Definition at line 85 of file HalfEdge.h.

Previous halfedge of the current halfedge, in the same face.

Definition at line 83 of file HalfEdge.h.

std::string MeshLib::CHalfEdge::m_string [protected]

The string of the current halfedge.

Definition at line 87 of file HalfEdge.h.

Target vertex of the current halfedge.

Definition at line 81 of file HalfEdge.h.


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