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...
 
class  vcg::tri::Clean< CleanMeshType >
 Class of static functions to clean//restore meshs. More...
 
class  vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >
 Accessory class to update pointers after eventual reallocation caused by adding elements. More...
 
class  vcg::tri::UpdateTopology< UpdateMeshType >::PEdge
 Auxiliairy data structure for computing face face adjacency information. More...
 
class  vcg::tri::UpdateTopology< UpdateMeshType >::PEdgeTex
 Auxiliairy data structure for computing face face adjacency information. More...
 
class  vcg::tri::UpdateTopology< UpdateMeshType >::PVertexEdge
 

Functions

template<class TetraMeshType >
void vcg::tri::Tetrahedron (TetraMeshType &in)
 
template<class DodMeshType >
void vcg::tri::Dodecahedron (DodMeshType &in)
 
template<class MeshType >
void vcg::tri::Cone (MeshType &in, const typename MeshType::ScalarType r1, const typename MeshType::ScalarType r2, const typename MeshType::ScalarType h, const int SubDiv=36)
 r1 = raggio 1, r2 = raggio2, h = altezza (asse y)
 
template<class MeshType >
void vcg::tri::SuperToroid (MeshType &m, float hRingRadius, float vRingRadius, float vSquareness, float hSquareness, int hRingDiv=24, int vRingDiv=12)
 
template<class MeshType >
void vcg::tri::SuperEllipsoid (MeshType &m, float rFeature, float sFeature, float tFeature, int hRingDiv=24, int vRingDiv=12)
 
template<class MeshType , class InCoordType , class InFaceIndexType >
void vcg::tri::BuildMeshFromCoordVectorIndexVector (MeshType &in, const std::vector< InCoordType > &v, const std::vector< InFaceIndexType > &f)
 

Detailed Description

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

Function Documentation

template<class MeshType , class InCoordType , class InFaceIndexType >
void vcg::tri::BuildMeshFromCoordVectorIndexVector ( MeshType &  in,
const std::vector< InCoordType > &  v,
const std::vector< InFaceIndexType > &  f 
)

This function build a mesh starting from a vector of generic coords (InCoordType) and indexes (InFaceIndexType) InCoordsType needs to have a [] access method for accessing the three coordinates and similarly the InFaceIndexType requires [] access method for accessing the three indexes

Definition at line 738 of file platonic.h.

template<class MeshType >
void vcg::tri::Cone ( MeshType &  in,
const typename MeshType::ScalarType  r1,
const typename MeshType::ScalarType  r2,
const typename MeshType::ScalarType  h,
const int  SubDiv = 36 
)

r1 = raggio 1, r2 = raggio2, h = altezza (asse y)

Definition at line 435 of file platonic.h.

template<class DodMeshType >
void vcg::tri::Dodecahedron ( DodMeshType &  in)

builds a Dodecahedron, (each pentagonal face is composed by 5 triangles)

Definition at line 78 of file platonic.h.

template<class MeshType >
void vcg::tri::SuperEllipsoid ( MeshType &  m,
float  rFeature,
float  sFeature,
float  tFeature,
int  hRingDiv = 24,
int  vRingDiv = 12 
)

Generate a SuperEllipsoid eg a solid whose horizontal sections are super-ellipses (Lamé curves) with the same exponent r, and whose vertical sections through the center are super-ellipses with the same exponent t.

Definition at line 699 of file platonic.h.

template<class MeshType >
void vcg::tri::SuperToroid ( MeshType &  m,
float  hRingRadius,
float  vRingRadius,
float  vSquareness,
float  hSquareness,
int  hRingDiv = 24,
int  vRingDiv = 12 
)

SuperToroid

Generate a a supertoroid, e.g. a member of a family of doughnut-like surfaces (technically, a topological torus) whose shape is defined by mathematical formulas similar to those that define the superquadrics.

Definition at line 662 of file platonic.h.

template<class TetraMeshType >
void vcg::tri::Tetrahedron ( TetraMeshType &  in)

A set of functions that builds meshes that represent surfaces of platonic solids, and other simple shapes.

The 1st parameter is usually the mesh that will be filled with the solid.

Definition at line 49 of file platonic.h.