Management, updating and computation of per-vertex and per-face normals. More...
#include <vcg/complex/algorithms/update/curvature.h>
Classes | |
struct | AdjVertex |
class | AreaData |
Public Types | |
typedef MeshType::CoordType | CoordType |
typedef MeshType::VertexType::CurScalarType | CurScalarType |
typedef MeshType::VertexType::CurVecType | CurVecType |
typedef MeshType::FaceIterator | FaceIterator |
typedef MeshType::FacePointer | FacePointer |
typedef MeshType::FaceType | FaceType |
typedef vcg::GridStaticPtr < FaceType, ScalarType > | MeshGridType |
typedef vcg::GridStaticPtr < VertexType, ScalarType > | PointsGridType |
typedef CoordType::ScalarType | ScalarType |
typedef MeshType::VertContainer | VertContainer |
typedef MeshType::VertexIterator | VertexIterator |
typedef MeshType::VertexPointer | VertexPointer |
typedef MeshType::VertexType | VertexType |
typedef vcg::face::VFIterator < FaceType > | VFIteratorType |
Static Public Member Functions | |
static float | ComputeSingleVertexCurvature (VertexPointer v, bool norm=true) |
Update the mean and the gaussian curvature of a vertex. | |
static void | MeanAndGaussian (MeshType &m) |
Computes the discrete mean gaussian curvature. | |
static void | PerVertex (MeshType &m) |
static void | PerVertexBasicRadialCrossField (MeshType &m, float anisotropyRatio=1.0) |
static void | PrincipalDirections (MeshType &m) |
Compute principal direction and magnitudo of curvature. | |
static void | PrincipalDirectionsNormalCycle (MeshType &m) |
static void | PrincipalDirectionsPCA (MeshType &m, ScalarType r, bool pointVSfaceInt=true, vcg::CallBackPos *cb=NULL) |
Management, updating and computation of per-vertex and per-face normals.
This class is used to compute or update the normals that can be stored in the vertex or face component of a mesh.
Definition at line 50 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::CoordType vcg::tri::UpdateCurvature< MeshType >::CoordType |
Definition at line 62 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertexType::CurScalarType vcg::tri::UpdateCurvature< MeshType >::CurScalarType |
Definition at line 64 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertexType::CurVecType vcg::tri::UpdateCurvature< MeshType >::CurVecType |
Definition at line 65 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::FaceIterator vcg::tri::UpdateCurvature< MeshType >::FaceIterator |
Definition at line 56 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::FacePointer vcg::tri::UpdateCurvature< MeshType >::FacePointer |
Definition at line 55 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::FaceType vcg::tri::UpdateCurvature< MeshType >::FaceType |
Definition at line 54 of file vcg/complex/algorithms/update/curvature.h.
typedef vcg::GridStaticPtr<FaceType, ScalarType > vcg::tri::UpdateCurvature< MeshType >::MeshGridType |
Curvature meseaure as described in the paper: Robust principal curvatures on Multiple Scales, Yong-Liang Yang, Yu-Kun Lai, Shi-Min Hu Helmut Pottmann SGP 2004 If pointVSfaceInt==true the covariance is computed by montecarlo sampling on the mesh (faster) If pointVSfaceInt==false the covariance is computed by (analytic)integration over the surface (slower)
Definition at line 275 of file vcg/complex/algorithms/update/curvature.h.
typedef vcg::GridStaticPtr<VertexType, ScalarType > vcg::tri::UpdateCurvature< MeshType >::PointsGridType |
Definition at line 276 of file vcg/complex/algorithms/update/curvature.h.
typedef CoordType::ScalarType vcg::tri::UpdateCurvature< MeshType >::ScalarType |
Definition at line 63 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertContainer vcg::tri::UpdateCurvature< MeshType >::VertContainer |
Definition at line 58 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertexIterator vcg::tri::UpdateCurvature< MeshType >::VertexIterator |
Definition at line 57 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertexPointer vcg::tri::UpdateCurvature< MeshType >::VertexPointer |
Definition at line 60 of file vcg/complex/algorithms/update/curvature.h.
typedef MeshType::VertexType vcg::tri::UpdateCurvature< MeshType >::VertexType |
Definition at line 59 of file vcg/complex/algorithms/update/curvature.h.
typedef vcg::face::VFIterator<FaceType> vcg::tri::UpdateCurvature< MeshType >::VFIteratorType |
Definition at line 61 of file vcg/complex/algorithms/update/curvature.h.
static float vcg::tri::UpdateCurvature< MeshType >::ComputeSingleVertexCurvature | ( | VertexPointer | v, |
bool | norm = true |
||
) | [inline, static] |
Update the mean and the gaussian curvature of a vertex.
The function uses the VF adiacency to walk around the vertex.
Definition at line 534 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::MeanAndGaussian | ( | MeshType & | m | ) | [inline, static] |
Computes the discrete mean gaussian curvature.
The algorithm used is the one Desbrun et al. that is based on a discrete analysis of the angles of the faces around a vertex.
It requires FaceFace Adjacency;
For further details, please, refer to:
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds
Mark Meyer, Mathieu Desbrun, Peter Schroder, Alan H. Barr
VisMath '02, Berlin
Definition at line 402 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::PerVertex | ( | MeshType & | m | ) | [inline, static] |
Definition at line 594 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::PerVertexBasicRadialCrossField | ( | MeshType & | m, |
float | anisotropyRatio = 1.0 |
||
) | [inline, static] |
Definition at line 689 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::PrincipalDirections | ( | MeshType & | m | ) | [inline, static] |
Compute principal direction and magnitudo of curvature.
Definition at line 92 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::PrincipalDirectionsNormalCycle | ( | MeshType & | m | ) | [inline, static] |
Definition at line 614 of file vcg/complex/algorithms/update/curvature.h.
static void vcg::tri::UpdateCurvature< MeshType >::PrincipalDirectionsPCA | ( | MeshType & | m, |
ScalarType | r, | ||
bool | pointVSfaceInt = true , |
||
vcg::CallBackPos * | cb = NULL |
||
) | [inline, static] |
Definition at line 278 of file vcg/complex/algorithms/update/curvature.h.