Classes | Public Types | Static Public Member Functions
vcg::tri::UpdateCurvature< MeshType > Class Template Reference

Management, updating and computation of per-vertex and per-face normals. More...

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

List of all members.

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)

Detailed Description

template<class MeshType>
class vcg::tri::UpdateCurvature< MeshType >

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.


Member Typedef Documentation

template<class MeshType>
typedef MeshType::CoordType vcg::tri::UpdateCurvature< MeshType >::CoordType

Definition at line 62 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertexType::CurScalarType vcg::tri::UpdateCurvature< MeshType >::CurScalarType

Definition at line 64 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertexType::CurVecType vcg::tri::UpdateCurvature< MeshType >::CurVecType

Definition at line 65 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::FaceIterator vcg::tri::UpdateCurvature< MeshType >::FaceIterator

Definition at line 56 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::FacePointer vcg::tri::UpdateCurvature< MeshType >::FacePointer

Definition at line 55 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::FaceType vcg::tri::UpdateCurvature< MeshType >::FaceType

Definition at line 54 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
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.

template<class MeshType>
typedef vcg::GridStaticPtr<VertexType, ScalarType > vcg::tri::UpdateCurvature< MeshType >::PointsGridType

Definition at line 276 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef CoordType::ScalarType vcg::tri::UpdateCurvature< MeshType >::ScalarType

Definition at line 63 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertContainer vcg::tri::UpdateCurvature< MeshType >::VertContainer

Definition at line 58 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertexIterator vcg::tri::UpdateCurvature< MeshType >::VertexIterator

Definition at line 57 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertexPointer vcg::tri::UpdateCurvature< MeshType >::VertexPointer

Definition at line 60 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef MeshType::VertexType vcg::tri::UpdateCurvature< MeshType >::VertexType

Definition at line 59 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
typedef vcg::face::VFIterator<FaceType> vcg::tri::UpdateCurvature< MeshType >::VFIteratorType

Definition at line 61 of file vcg/complex/algorithms/update/curvature.h.


Member Function Documentation

template<class MeshType>
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.

Returns:
It will return the voronoi area around the vertex. If (norm == true) the mean and the gaussian curvature are normalized. Based on the paper "Optimizing 3d triangulations using discrete curvature analysis"

Definition at line 534 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
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.

template<class MeshType>
static void vcg::tri::UpdateCurvature< MeshType >::PerVertex ( MeshType &  m) [inline, static]

Definition at line 594 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
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.

template<class MeshType>
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.

template<class MeshType>
static void vcg::tri::UpdateCurvature< MeshType >::PrincipalDirectionsNormalCycle ( MeshType &  m) [inline, static]

Definition at line 614 of file vcg/complex/algorithms/update/curvature.h.

template<class MeshType>
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.


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


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:43:33