vcg::tri::UpdateHalfEdges< MeshType > Class Template Reference
[Trimesh]

This class is used to build edge based data structure from indexed data structure and viceversa. More...

List of all members.

Classes

struct  FacePtrInt
struct  VertexPairEdgePtr

Public Types

typedef std::vector< bool > BitVector
typedef MeshType::EdgeIterator EdgeIterator
typedef MeshType::EdgePointer EdgePointer
typedef MeshType::EdgeType EdgeType
typedef MeshType::FaceIterator FaceIterator
typedef MeshType::FaceType FaceType
typedef MeshType::HEdgeIterator HEdgeIterator
typedef MeshType::HEdgePointer HEdgePointer
typedef MeshType::HEdgeType HEdgeType
typedef MeshType::VertexIterator VertexIterator
typedef MeshType::VertexPointer VertexPointer
typedef MeshType::VertexType VertexType

Static Public Member Functions

static void AddHEdge (MeshType &m, HEdgeType *e0, HEdgeType *e1)
static bool CheckConsistency (MeshType &m)
static bool CheckConsistency_FHp (MeshType &m)
static void FromIndexed (MeshType &m)
static void RemoveHEdge (MeshType &m, HEdgeType *e)

Static Private Member Functions

static void MergeFaces (FaceType *, FaceType *)
static HEdgeTypePreviousEdge (HEdgeType *e0)
static void SetRelationsLoopFace (HEdgeType *e0, FaceType *f)

Detailed Description

template<class MeshType>
class vcg::tri::UpdateHalfEdges< MeshType >

This class is used to build edge based data structure from indexed data structure and viceversa.

Definition at line 46 of file halfedge_indexed.h.


Member Typedef Documentation

template<class MeshType >
typedef std::vector<bool> vcg::tri::UpdateHalfEdges< MeshType >::BitVector

Definition at line 74 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::EdgeIterator vcg::tri::UpdateHalfEdges< MeshType >::EdgeIterator

Definition at line 55 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::EdgePointer vcg::tri::UpdateHalfEdges< MeshType >::EdgePointer

Definition at line 53 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::EdgeType vcg::tri::UpdateHalfEdges< MeshType >::EdgeType

Definition at line 54 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::FaceIterator vcg::tri::UpdateHalfEdges< MeshType >::FaceIterator

Definition at line 57 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::FaceType vcg::tri::UpdateHalfEdges< MeshType >::FaceType

Definition at line 58 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::HEdgeIterator vcg::tri::UpdateHalfEdges< MeshType >::HEdgeIterator

Definition at line 56 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::HEdgePointer vcg::tri::UpdateHalfEdges< MeshType >::HEdgePointer

Definition at line 51 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::HEdgeType vcg::tri::UpdateHalfEdges< MeshType >::HEdgeType

Definition at line 52 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::VertexIterator vcg::tri::UpdateHalfEdges< MeshType >::VertexIterator

Definition at line 50 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::VertexPointer vcg::tri::UpdateHalfEdges< MeshType >::VertexPointer

Definition at line 49 of file halfedge_indexed.h.

template<class MeshType >
typedef MeshType::VertexType vcg::tri::UpdateHalfEdges< MeshType >::VertexType

Definition at line 48 of file halfedge_indexed.h.


Member Function Documentation

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::AddHEdge ( MeshType &  m,
HEdgeType e0,
HEdgeType e1 
) [inline, static]

Adds an edge between the sources of e0 and e1 and set all the topology relations. If the edges store the pointers to the faces then a new face is created. <--- e1 ---- X <------e1_HEPp--- ^ || ei0 || ei1 || v ----e0_HEPp-> X ----- e0 ------>

Definition at line 472 of file halfedge_indexed.h.

template<class MeshType >
static bool vcg::tri::UpdateHalfEdges< MeshType >::CheckConsistency ( MeshType &  m  )  [inline, static]

Checks that half edges and face relation are consistent

Definition at line 259 of file halfedge_indexed.h.

template<class MeshType >
static bool vcg::tri::UpdateHalfEdges< MeshType >::CheckConsistency_FHp ( MeshType &  m  )  [inline, static]

Checks pointers FHEp() are valid

Definition at line 245 of file halfedge_indexed.h.

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::FromIndexed ( MeshType &  m  )  [inline, static]

build a half-edge data structure from an indexed data structure. Note that the half-edges are allocated here for the first time. If you have a mesh where there are already edges, they will be removed and the data lost, so do not use this function to just "update" the topology of half edges.

Definition at line 81 of file halfedge_indexed.h.

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::MergeFaces ( FaceType ,
FaceType  
) [inline, static, private]

Merge the two faces. This will probably become a class template or a functor

Definition at line 446 of file halfedge_indexed.h.

template<class MeshType >
static HEdgeType* vcg::tri::UpdateHalfEdges< MeshType >::PreviousEdge ( HEdgeType e0  )  [inline, static, private]

Find previous hedge in the loop

Definition at line 451 of file halfedge_indexed.h.

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::RemoveHEdge ( MeshType &  m,
HEdgeType e 
) [inline, static]

Detach the topology relations of a given edge <--- e->HENPp -X --- <---------eO_HEPp--- ^ || e || e->HEOp() || v ----e_HEPp--> X ----- e->HEOp->HENPp() ------>

Definition at line 534 of file halfedge_indexed.h.

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::SetRelationsLoopFace ( HEdgeType e0,
FaceType f 
) [inline, static, private]

Set the relations HFp(), FHp() from a loop of edges to a face

Definition at line 433 of file halfedge_indexed.h.


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


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:36 2013