VCG Library
Classes | 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
 Auxiliairy data structure for computing face face adjacency information. More...
 
class  PEdgeTex
 Auxiliairy data structure for computing face face adjacency information. More...
 
class  PVertexEdge
 

Static Public Member Functions

static void FillEdgeVector (MeshType &m, std::vector< PEdge > &edgeVec, bool includeFauxEdge=true)
 
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 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 VertexFace (MeshType &m)
 Update the Vertex-Face topological relation.
 
static void FaceFaceFromTexCoord (MeshType &m)
 Update the Face-Face topological relation so that it reflects the per-wedge texture connectivity.
 
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!)
 

Detailed Description

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

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

Definition at line 36 of file complex/algorithms/update/topology.h.

Member Function Documentation

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

Initialize the edge vector all the edges that can be inferred from current face vector, setting up all the current adjacency relations.

Definition at line 147 of file complex/algorithms/update/topology.h.

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

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.

Definition at line 224 of file complex/algorithms/update/topology.h.

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

Update the Face-Face topological relation by allowing to retrieve for each face what other faces shares their edges.

Definition at line 241 of file complex/algorithms/update/topology.h.

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

Definition at line 372 of file complex/algorithms/update/topology.h.

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)

Definition at line 112 of file complex/algorithms/update/topology.h.

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

Test correctness of FFtopology (only for 2Manifold Meshes!)

Definition at line 483 of file complex/algorithms/update/topology.h.

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

Test correctness of VEtopology.

Definition at line 408 of file complex/algorithms/update/topology.h.

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

Test correctness of VFtopology.

Definition at line 443 of file complex/algorithms/update/topology.h.

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

Definition at line 291 of file complex/algorithms/update/topology.h.


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