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

Generation of per-vertex and per-face topological information. More...

#include <vcg/complex/algorithms/update/topology.h>

Classes

class  PEdge
 Auxiliary data structure for computing face face adjacency information. More...
 
class  PEdgeTex
 Auxiliairy data structure for computing face face adjacency information. More...
 
class  PFace
 Auxiliary data structure for computing tetra tetra adjacency information. More...
 
class  PVertexEdge
 

Public Types

typedef UpdateMeshType MeshType
 
typedef MeshType::ScalarType ScalarType
 
typedef MeshType::VertexType VertexType
 
typedef MeshType::VertexPointer VertexPointer
 
typedef MeshType::VertexIterator VertexIterator
 
typedef MeshType::EdgeType EdgeType
 
typedef MeshType::EdgePointer EdgePointer
 
typedef MeshType::EdgeIterator EdgeIterator
 
typedef MeshType::FaceType FaceType
 
typedef MeshType::FacePointer FacePointer
 
typedef MeshType::FaceIterator FaceIterator
 
typedef MeshType::TetraType TetraType
 
typedef MeshType::TetraPointer TetraPointer
 
typedef MeshType::TetraIterator TetraIterator
 

Static Public Member Functions

static void FillFaceVector (MeshType &m, std::vector< PFace > &fvec)
 
static void FillUniqueFaceVector (MeshType &m, std::vector< PFace > &fvec)
 
static void FillEdgeVector (MeshType &m, std::vector< PEdge > &edgeVec, bool includeFauxEdge=true)
 
static void FillUniqueEdgeVector (MeshType &m, std::vector< PEdge > &edgeVec, bool includeFauxEdge=true, bool computeBorderFlag=false)
 
static void FillSelectedFaceEdgeVector (MeshType &m, std::vector< PEdge > &edgeVec)
 
static void AllocateEdge (MeshType &m)
 Initialize the edge vector all the edges that can be inferred from current face vector, setting up all the current adjacency relations.
 
static void ClearTetraTetra (MeshType &m)
 Clear the tetra-tetra topological relation, setting each involved pointer to null. useful when you passed a mesh with tt adjacency to an algorithm that does not use it and chould have messed it.
 
static void TetraTetra (MeshType &m)
 Updates the Tetra-Tetra topological relation by allowing to retrieve for each tetra what other tetras share their faces.
 
static void ClearFaceFace (MeshType &m)
 Clear the Face-Face topological relation setting each involved pointer to null. useful when you passed a mesh with ff adjacency to an algorithm that does not use it and could have messed it.
 
static void FaceFace (MeshType &m)
 Update the Face-Face topological relation by allowing to retrieve for each face what other faces shares their edges.
 
static void VertexTetra (MeshType &m)
 Update the vertex-tetra topological relation.
 
static void VertexFace (MeshType &m)
 Update the Vertex-Face topological relation. More...
 
static void FaceFaceFromTexCoord (MeshType &m)
 Update the Face-Face topological relation so that it reflects the per-wedge texture connectivity. More...
 
static void TestVertexEdge (MeshType &m)
 Test correctness of VEtopology.
 
static void TestVertexFace (MeshType &m)
 Test correctness of VFtopology.
 
static void TestFaceFace (MeshType &m)
 Test correctness of FFtopology (only for 2Manifold Meshes!)
 
static void EdgeEdge (MeshType &m)
 
static void VertexEdge (MeshType &m)
 

Detailed Description

template<class UpdateMeshType>
class vcg::tri::UpdateTopology< UpdateMeshType >

Generation of per-vertex and per-face topological information.

Member Function Documentation

◆ FaceFaceFromTexCoord()

template<class UpdateMeshType >
static void vcg::tri::UpdateTopology< UpdateMeshType >::FaceFaceFromTexCoord ( MeshType &  m)
inlinestatic

Update the Face-Face topological relation so that it reflects the per-wedge texture connectivity.

Using this function two faces are adjacent along the FF relation IFF the two faces have matching texture coords along the involved edge. In other words F1->FFp(i) == F2 iff F1 and F2 have the same tex coords along edge i

◆ FillEdgeVector()

template<class UpdateMeshType >
static void vcg::tri::UpdateTopology< UpdateMeshType >::FillEdgeVector ( MeshType &  m,
std::vector< PEdge > &  edgeVec,
bool  includeFauxEdge = true 
)
inlinestatic

Fill a vector with all the edges of the mesh. each edge is stored in the vector the number of times that it appears in the mesh, with the referring face. optionally it can skip the faux edges (to retrieve only the real edges of a triangulated polygonal mesh)

◆ VertexFace()

template<class UpdateMeshType >
static void vcg::tri::UpdateTopology< UpdateMeshType >::VertexFace ( MeshType &  m)
inlinestatic

Update the Vertex-Face topological relation.

The function allows to retrieve for each vertex the list of faces sharing this vertex. After this call all the VF component are initialized. Isolated vertices have a null list of faces.

See also
vcg::vertex::VFAdj
vcg::face::VFAdj

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