$darkmode
VCG Library
Classes | Public Types | Static Public Member Functions | List of all members
vcg::tri::UpdateHalfEdges< MeshType > Class Template Reference

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

#include <halfedge_indexed.h>

Classes

struct  FacePtrInt
 
struct  VertexPairEdgePtr
 

Public Types

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

Static Public Member Functions

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

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.

Member Function Documentation

◆ AddHEdge()

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

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 ---—>

◆ CheckConsistency()

template<class MeshType >
static bool vcg::tri::UpdateHalfEdges< MeshType >::CheckConsistency ( MeshType &  m)
inlinestatic

Checks that half edges and face relation are consistent

◆ CheckConsistency_FHp()

template<class MeshType >
static bool vcg::tri::UpdateHalfEdges< MeshType >::CheckConsistency_FHp ( MeshType &  m)
inlinestatic

Checks pointers FHEp() are valid

◆ FromIndexed()

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::FromIndexed ( MeshType &  m)
inlinestatic

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.

◆ RemoveHEdge()

template<class MeshType >
static void vcg::tri::UpdateHalfEdges< MeshType >::RemoveHEdge ( MeshType &  m,
HEdgeType *  e 
)
inlinestatic

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


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