Generation of per-vertex and per-face qualities. More...
#include <vcg/complex/algorithms/update/quality.h>
Public Types | |
typedef MeshType::FaceIterator | FaceIterator |
typedef MeshType::FacePointer | FacePointer |
typedef MeshType::FaceType | FaceType |
typedef UpdateMeshType | MeshType |
typedef MeshType::ScalarType | ScalarType |
typedef MeshType::VertexIterator | VertexIterator |
typedef MeshType::VertexPointer | VertexPointer |
typedef MeshType::VertexType | VertexType |
Static Public Member Functions | |
static void | FaceArea (MeshType &m) |
static void | FaceConstant (MeshType &m, float q) |
template<class HandleScalar > | |
static void | FaceFromAttributeHandle (MeshType &m, typename MeshType::template PerFaceAttributeHandle< HandleScalar > &h) |
static void | FaceFromVertex (MeshType &m) |
static void | FaceNormalize (MeshType &m, float qmin=0.0, float qmax=1.0) |
static void | FaceSaturate (MeshType &m, ScalarType gradientThr=1.0) |
static void | VertexClamp (MeshType &m, typename MeshType::VertexType::QualityType qmin, typename MeshType::VertexType::QualityType qmax) |
static void | VertexConstant (MeshType &m, ScalarType q) |
static void | VertexFromAbsoluteCurvature (MeshType &m) |
template<class HandleScalar > | |
static void | VertexFromAttributeHandle (MeshType &m, typename MeshType::template PerVertexAttributeHandle< HandleScalar > &h) |
static void | VertexFromFace (MeshType &m, bool areaWeighted=true) |
static void | VertexFromGaussianCurvatureDir (MeshType &m) |
static void | VertexFromGaussianCurvatureHG (MeshType &m) |
static void | VertexFromMeanCurvatureDir (MeshType &m) |
static void | VertexFromMeanCurvatureHG (MeshType &m) |
static void | VertexFromPlane (MeshType &m, const Plane3< ScalarType > &pl) |
static void | VertexFromRMSCurvature (MeshType &m) |
static void | VertexNormalize (MeshType &m, float qmin=0.0, float qmax=1.0) |
static void | VertexSaturate (MeshType &m, ScalarType gradientThr=1.0) |
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:
typedef MeshType::FaceIterator vcg::tri::UpdateQuality< UpdateMeshType >::FaceIterator |
typedef MeshType::FacePointer vcg::tri::UpdateQuality< UpdateMeshType >::FacePointer |
typedef MeshType::FaceType vcg::tri::UpdateQuality< UpdateMeshType >::FaceType |
typedef UpdateMeshType vcg::tri::UpdateQuality< UpdateMeshType >::MeshType |
typedef MeshType::ScalarType vcg::tri::UpdateQuality< UpdateMeshType >::ScalarType |
typedef MeshType::VertexIterator vcg::tri::UpdateQuality< UpdateMeshType >::VertexIterator |
typedef MeshType::VertexPointer vcg::tri::UpdateQuality< UpdateMeshType >::VertexPointer |
typedef MeshType::VertexType vcg::tri::UpdateQuality< UpdateMeshType >::VertexType |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceArea | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceConstant | ( | MeshType & | m, |
float | q | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceFromAttributeHandle | ( | MeshType & | m, |
typename MeshType::template PerFaceAttributeHandle< HandleScalar > & | h | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceFromVertex | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceNormalize | ( | MeshType & | m, |
float | qmin = 0.0 , |
||
float | qmax = 1.0 |
||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::FaceSaturate | ( | MeshType & | m, |
ScalarType | gradientThr = 1.0 |
||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexClamp | ( | MeshType & | m, |
typename MeshType::VertexType::QualityType | qmin, | ||
typename MeshType::VertexType::QualityType | qmax | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexConstant | ( | MeshType & | m, |
ScalarType | q | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromAbsoluteCurvature | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromAttributeHandle | ( | MeshType & | m, |
typename MeshType::template PerVertexAttributeHandle< HandleScalar > & | h | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromFace | ( | MeshType & | m, |
bool | areaWeighted = true |
||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromGaussianCurvatureDir | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromGaussianCurvatureHG | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromMeanCurvatureDir | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromMeanCurvatureHG | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromPlane | ( | MeshType & | m, |
const Plane3< ScalarType > & | pl | ||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexFromRMSCurvature | ( | MeshType & | m | ) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexNormalize | ( | MeshType & | m, |
float | qmin = 0.0 , |
||
float | qmax = 1.0 |
||
) | [inline, static] |
static void vcg::tri::UpdateQuality< UpdateMeshType >::VertexSaturate | ( | MeshType & | m, |
ScalarType | gradientThr = 1.0 |
||
) | [inline, static] |