$darkmode
VCG Library
Classes | Functions
Triangular Meshes

Classes

class  vcg::tri::Allocator< MeshType >
 Class to safely add and delete elements in a mesh. More...
 
class  vcg::tri::Append< MeshLeft, ConstMeshRight >
 Class to safely duplicate and append (portion of) meshes. More...
 
class  vcg::tri::UpdateBounding< ComputeMeshType >
 This class is used to compute or update the bounding box of a mesh.. More...
 
class  vcg::tri::UpdateColor< MeshType >
 Generation and processing of per-vertex and per-face colors according to various strategy. More...
 
class  vcg::tri::UpdateComponentEP< ComputeMeshType >
 This class is used to compute or update the precomputed data used to efficiently compute point-face distances. More...
 
class  vcg::tri::UpdateCurvature< MeshType >
 Management, updating and computation of per-vertex and per-face normals. More...
 
class  vcg::tri::UpdateCurvatureFitting< MeshType >
 Computation of per-vertex directions and values of curvature. More...
 
class  vcg::tri::UpdateFlags< UpdateMeshType >
 Management, updating and computation of per-vertex and per-face flags (like border flags). More...
 
class  vcg::tri::UpdateHalfEdges< MeshType >
 This class is used to build edge based data structure from indexed data structure and viceversa. More...
 
class  vcg::tri::UpdateNormal< ComputeMeshType >
 Management, updating and computation of per-vertex, per-face, and per-wedge normals. More...
 
class  vcg::tri::UpdatePosition< ComputeMeshType >
 This class is used to update vertex position according to a transformation matrix. More...
 
class  vcg::tri::UpdateQuality< UpdateMeshType >
 Generation of per-vertex and per-face qualities. More...
 
class  vcg::tri::SelectionStack< ComputeMeshType >
 A stack for saving and restoring selection. More...
 
class  vcg::tri::UpdateSelection< ComputeMeshType >
 Management, updating and conditional computation of selections (per-vertex, per-edge, and per-face). More...
 
class  vcg::tri::UpdateTexture< ComputeMeshType >
 This class is used to update/generate texcoord position according to various critera. More...
 
class  vcg::tri::UpdateTopology< UpdateMeshType >
 Generation of per-vertex and per-face topological information. More...
 
class  vcg::tri::TrivialSampler< MeshType >
 A basic sampler class that show the required interface used by the SurfaceSampling class. More...
 

Functions

template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::VertexType &v)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::FaceType &f)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::EdgeType &e)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::HEdgeType &h)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::TetraType &t)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::VertexType *vp)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::FaceType *fp)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::EdgeType *e)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::HEdgeType *h)
 
template<class MeshType >
size_t vcg::tri::Index (const MeshType &m, const typename MeshType::TetraType *t)
 
template<class MeshType >
bool vcg::tri::IsValidPointer (MeshType &m, const typename MeshType::VertexType *vp)
 
template<class MeshType >
bool vcg::tri::IsValidPointer (MeshType &m, const typename MeshType::EdgeType *ep)
 
template<class MeshType >
bool vcg::tri::IsValidPointer (MeshType &m, const typename MeshType::FaceType *fp)
 
template<class MeshType >
bool vcg::tri::IsValidPointer (MeshType &m, const typename MeshType::HEdgeType *hp)
 
template<class MeshType >
bool vcg::tri::IsValidPointer (MeshType &m, const typename MeshType::TetraType *tp)
 
template<class MeshType , class ATTR_CONT >
void vcg::tri::ReorderAttribute (ATTR_CONT &c, std::vector< size_t > &newVertIndex, MeshType &)
 
template<class MeshType , class ATTR_CONT >
void vcg::tri::ResizeAttribute (ATTR_CONT &c, size_t sz, MeshType &)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachFacePos (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachFacePos (MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachFace (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachFace (MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachVertex (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachVertex (MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachHEdge (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachHEdge (MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachEdge (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachEdge (MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachTetra (const MeshType &m, Callable action)
 
template<class MeshType , typename Callable >
void vcg::tri::ForEachTetra (MeshType &m, Callable action)
 

Detailed Description

This module contains the documentation for the types and the functions used for representing and managing generic triangular meshes.

Function Documentation

◆ ForEachEdge()

template<class MeshType , typename Callable >
void vcg::tri::ForEachEdge ( const MeshType &  m,
Callable  action 
)
inline

ForEachEdge Helper to traverse all the vertexes of a mesh you can simply write something like:

 ForEachEdge(m, [&](const EdgeType &e){
    MakeSomethingWithEdge(e);
 });

◆ ForEachFace()

template<class MeshType , typename Callable >
void vcg::tri::ForEachFace ( const MeshType &  m,
Callable  action 
)
inline

ForEachFace Helper to traverse all the faces of a mesh you can simply write something like:

 ForEachFace(m, [&](const FaceType &f){
    MakeSomethingWithFace(f);
 });

◆ ForEachHEdge()

template<class MeshType , typename Callable >
void vcg::tri::ForEachHEdge ( const MeshType &  m,
Callable  action 
)
inline

ForEachHEdge Helper to traverse all the half edges of a mesh you can simply write something like:

 ForEachHEdge(m, [&](const HEdgeType &he){
    MakeSomethingWithHEdge(he);
 });

◆ ForEachTetra()

template<class MeshType , typename Callable >
void vcg::tri::ForEachTetra ( const MeshType &  m,
Callable  action 
)
inline

ForEachTetra Helper to traverse all the tetras of a mesh you can simply write something like:

 ForEachTetra(m, [&](const TetraType &t){
    MakeSomethingWithTetra(t);
 });

◆ ForEachVertex()

template<class MeshType , typename Callable >
void vcg::tri::ForEachVertex ( const MeshType &  m,
Callable  action 
)
inline

ForEachVertex Helper to traverse all the vertexes of a mesh you can simply write something like:

 ForEachVertex(m, [&](const VertexType &v){
    MakeSomethingWithVertex(v);
 });