VCG Library
Static Public Member Functions | List of all members
vcg::tri::UpdateQuality< UpdateMeshType > Class Template Reference

Generation of per-vertex and per-face qualities. More...

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

Static Public Member Functions

static void VertexConstant (MeshType &m, VertexQualityType q)
 
static void VertexValence (UpdateMeshType &m)
 
static void VertexClamp (MeshType &m, VertexQualityType qmin, VertexQualityType qmax)
 
static void VertexNormalize (MeshType &m, VertexQualityType qmin=0.0, VertexQualityType qmax=1.0)
 
static void FaceNormalize (MeshType &m, FaceQualityType qmin=0.0, FaceQualityType qmax=1.0)
 
static void FaceConstant (MeshType &m, FaceQualityType q)
 
static void FaceArea (MeshType &m)
 
static void VertexFromShapeIndexCurvatureDir (MeshType &m)
 VertexFromShapeIndexCurvatureDir Compute from the current Curvature Direction the Shape Index S as defined by [Koenderink 1992] and store it in the per-vertex Quality. S = 2/pi atan(k1+k2/k1-k2)
 
static void VertexFromCurvednessCurvatureDir (MeshType &m)
 VertexFromCurvednessCurvatureDir Compute from the current Curvature Direction the Curvedness as defined by [Koenderink 1992] and store it in the per-vertex Quality. C = Sqrt((k1*k1+k2*k2)/2.0)
 
static void VertexSaturate (MeshType &m, ScalarType gradientThr=1.0)
 Saturate Vertex Quality Saturate the vertex quality so that for each vertex the gradient of the quality field is lower than the given threshold value (in absolute value) The saturation is done in a conservative way (quality is always decreased and never increased)
 

Detailed Description

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

Generation of per-vertex and per-face qualities.

It works according to various strategy, like geodesic distance from the border (UpdateQuality::VertexGeodesicFromBorder) or curvature ecc. This class is templated over the mesh and (like all other Update* classes) has only static members; Typical usage:

MyMeshType m;
UpdateQuality<MyMeshType>::VertexGeodesicFromBorder(m);

Definition at line 44 of file quality.h.

Member Function Documentation

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

Assign to each face of the mesh its area.

Definition at line 132 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceConstant ( MeshType &  m,
FaceQualityType  q 
)
inlinestatic

Assign to each face of the mesh a constant quality value. Useful for initialization.

Definition at line 123 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceNormalize ( MeshType &  m,
FaceQualityType  qmin = 0.0,
FaceQualityType  qmax = 1.0 
)
inlinestatic

Normalize the face quality so that it fits in the specified range.

Definition at line 112 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexClamp ( MeshType &  m,
VertexQualityType  qmin,
VertexQualityType  qmax 
)
inlinestatic

Clamp each vertex of the mesh with a range of values.

Definition at line 89 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexConstant ( MeshType &  m,
VertexQualityType  q 
)
inlinestatic

Assign to each vertex of the mesh a constant quality value. Useful for initialization.

Definition at line 62 of file quality.h.

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

VertexFromCurvednessCurvatureDir Compute from the current Curvature Direction the Curvedness as defined by [Koenderink 1992] and store it in the per-vertex Quality. C = Sqrt((k1*k1+k2*k2)/2.0)

J. Koenderink and A. van Doorn. Surface shape and curvature scales. Image and vision computing, 10(8):557–565, 1992.

Definition at line 281 of file quality.h.

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

VertexFromShapeIndexCurvatureDir Compute from the current Curvature Direction the Shape Index S as defined by [Koenderink 1992] and store it in the per-vertex Quality. S = 2/pi atan(k1+k2/k1-k2)

J. Koenderink and A. van Doorn. Surface shape and curvature scales. Image and vision computing, 10(8):557–565, 1992.

Definition at line 259 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexNormalize ( MeshType &  m,
VertexQualityType  qmin = 0.0,
VertexQualityType  qmax = 1.0 
)
inlinestatic

Normalize the vertex quality so that it fits in the specified range.

Definition at line 100 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexSaturate ( MeshType &  m,
ScalarType  gradientThr = 1.0 
)
inlinestatic

Saturate Vertex Quality Saturate the vertex quality so that for each vertex the gradient of the quality field is lower than the given threshold value (in absolute value) The saturation is done in a conservative way (quality is always decreased and never increased)

Note: requires VF adjacency.

Definition at line 421 of file quality.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexValence ( UpdateMeshType &  m)
inlinestatic

Assign to each vertex of the mesh the valence of faces.

Definition at line 71 of file quality.h.


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