VCG Library
Namespaces | Classes | Functions
vcg::tri Namespace Reference

Namespaces

namespace  io
 

Classes

class  Allocator
 Class to safely add and delete elements in a mesh. More...
 
class  Append
 Class to safely duplicate and append (portion of) meshes. More...
 
class  UpdateBounding
 This class is used to compute or update the bounding box of a mesh.. More...
 
class  UpdateColor
 Generation and processing of per-vertex and per-face colors according to various strategy. More...
 
class  UpdateComponentEP
 This class is used to compute or update the precomputed data used to efficiently compute point-face distances. More...
 
class  UpdateCurvature
 Management, updating and computation of per-vertex and per-face normals. More...
 
class  UpdateCurvatureFitting
 Computation of per-vertex directions and values of curvature. More...
 
class  UpdateFlags
 Management, updating and computation of per-vertex and per-face flags (like border flags). More...
 
class  UpdateHalfEdges
 This class is used to build edge based data structure from indexed data structure and viceversa. More...
 
class  HalfEdgeTopology
 Class containing functions to modify the topology of a halfedge based mesh. More...
 
class  UpdateNormal
 Management, updating and computation of per-vertex, per-face, and per-wedge normals. More...
 
class  UpdatePosition
 This class is used to update vertex position according to a transformation matrix. More...
 
class  UpdateQuality
 Generation of per-vertex and per-face qualities. More...
 
class  SelectionStack
 A stack for saving and restoring selection. More...
 
class  UpdateSelection
 Management, updating and conditional computation of selections (per-vertex, per-edge, and per-face). More...
 
class  UpdateTexture
 This class is used to update/generate texcoord position according to various critera. . More...
 
class  UpdateTopology
 Generation of per-vertex and per-face topological information. More...
 
class  Inertia
 Methods for computing Polyhedral Mass properties (like inertia tensor, volume, etc) More...
 
class  TrivialSampler
 A basic sampler class that show the required interface used by the SurfaceSampling class. More...
 
class  SurfaceSampling
 Main Class of the Sampling framework. More...
 
class  Clean
 Class of static functions to clean//restore meshs. More...
 
class  TriSplit
 Triangle split Simple templated function for splitting a triangle with a internal point. It can be templated on a CenterPoint class that is used to generate the position of the internal point. More...
 
class  AnisotropicDistance
 
class  Geodesic
 class for computing approximate geodesic distances on a mesh More...
 

Functions

template<class MeshType >
void PoissonPruning (MeshType &m, std::vector< typename MeshType::VertexPointer > &poissonSamples, float radius, unsigned int randSeed=0)
 Low level wrapper for Poisson Disk Pruning.
 
template<class MeshType >
void PoissonPruning (MeshType &m, std::vector< typename MeshType::CoordType > &poissonSamples, float radius, unsigned int randSeed=0)
 Low level wrapper for Poisson Disk Pruning.
 
template<class MeshType >
void PoissonPruningExact (MeshType &m, std::vector< typename MeshType::VertexPointer > &poissonSamples, typename MeshType::ScalarType &radius, int sampleNum, float tolerance=0.04, int maxIter=20, unsigned int randSeed=0)
 Very simple wrapping for the Exact Poisson Disk Pruning.
 
template<class TetraMeshType >
void Tetrahedron (TetraMeshType &in)
 
template<class DodMeshType >
void Dodecahedron (DodMeshType &in)
 
template<class MeshType >
void 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 SuperToroid (MeshType &m, float hRingRadius, float vRingRadius, float vSquareness, float hSquareness, int hRingDiv=24, int vRingDiv=12)
 
template<class MeshType >
void SuperEllipsoid (MeshType &m, float rFeature, float sFeature, float tFeature, int hRingDiv=24, int vRingDiv=12)
 
template<class MeshType , class InCoordType , class InFaceIndexType >
void BuildMeshFromCoordVectorIndexVector (MeshType &in, const std::vector< InCoordType > &v, const std::vector< InFaceIndexType > &f)
 

Detailed Description

Everything about triangular meshes lie in this namespace

Function Documentation

template<class MeshType >
void vcg::tri::PoissonPruning ( MeshType &  m,
std::vector< typename MeshType::VertexPointer > &  poissonSamples,
float  radius,
unsigned int  randSeed = 0 
)

Low level wrapper for Poisson Disk Pruning.

This function simply takes a mesh and a radius and returns a vector of vertex pointers listing the "surviving" points.

Definition at line 2275 of file point_sampling.h.

template<class MeshType >
void vcg::tri::PoissonPruning ( MeshType &  m,
std::vector< typename MeshType::CoordType > &  poissonSamples,
float  radius,
unsigned int  randSeed = 0 
)

Low level wrapper for Poisson Disk Pruning.

This function simply takes a mesh containing a point cloud to be pruned and a radius It returns a vector of CoordType listing the "surviving" points.

Definition at line 2296 of file point_sampling.h.

template<class MeshType >
void vcg::tri::PoissonPruningExact ( MeshType &  m,
std::vector< typename MeshType::VertexPointer > &  poissonSamples,
typename MeshType::ScalarType &  radius,
int  sampleNum,
float  tolerance = 0.04,
int  maxIter = 20,
unsigned int  randSeed = 0 
)

Very simple wrapping for the Exact Poisson Disk Pruning.

This function simply takes a mesh and an expected number of points and returns vector of points. It performs multiple attempts with varius radii to correctly get the expected number of samples. It is obviously much slower than the other versions...

Parameters
poissonSamplesthe mesh that has to be pruned
radiusthe vector that will contain the chosen set of points

Definition at line 2315 of file point_sampling.h.