DGtal
1.5.beta
|
Aim: Utility class to compute curvature measures induced by (1) a corrected normal current defined by a surface mesh with prescribed normals and (2) the standard Lipschitz-Killing invariant forms of area and curvatures. More...
#include <DGtal/geometry/meshes/CorrectedNormalCurrentComputer.h>
Public Types | |
typedef TRealPoint | RealPoint |
typedef TRealVector | RealVector |
typedef CorrectedNormalCurrentComputer< RealPoint, RealVector > | Self |
typedef DGtal::SurfaceMesh< RealPoint, RealVector > | SurfaceMesh |
typedef RealVector::Component | Scalar |
typedef SimpleMatrix< Scalar, dimension, dimension > | RealTensor |
typedef CorrectedNormalCurrentFormula< RealPoint, RealVector > | Formula |
typedef SurfaceMeshMeasure< RealPoint, RealVector, Scalar > | ScalarMeasure |
typedef SurfaceMeshMeasure< RealPoint, RealVector, RealTensor > | TensorMeasure |
typedef std::vector< Scalar > | Scalars |
typedef std::vector< RealPoint > | RealPoints |
typedef std::vector< RealVector > | RealVectors |
typedef std::vector< RealTensor > | RealTensors |
typedef SurfaceMesh::Size | Size |
typedef SurfaceMesh::Index | Index |
typedef SurfaceMesh::Vertex | Vertex |
typedef SurfaceMesh::Face | Face |
Public Member Functions | |
BOOST_STATIC_ASSERT ((dimension==3)) | |
CorrectedNormalCurrentComputer (ConstAlias< SurfaceMesh > aMesh, bool unit_u=false) | |
ScalarMeasure | computeMu0 () const |
ScalarMeasure | computeMu1 () const |
ScalarMeasure | computeMu2 () const |
TensorMeasure | computeMuXY () const |
Static Public Member Functions | |
Formulas for estimating curvatures from measures | |
static Scalar | meanCurvature (Scalar mu0, Scalar mu1) |
static Scalar | GaussianCurvature (Scalar mu0, Scalar mu2) |
static std::tuple< Scalar, Scalar, RealVector, RealVector > | principalCurvatures (Scalar mu0, RealTensor muXY, const RealVector &N) |
Static Public Attributes | |
static const Dimension | dimension = RealPoint::dimension |
Protected Member Functions | |
ScalarMeasure | computeMu0ConstantU () const |
ScalarMeasure | computeMu1ConstantU () const |
ScalarMeasure | computeMu2ConstantU () const |
TensorMeasure | computeMuXYConstantU () const |
ScalarMeasure | computeMu0InterpolatedU () const |
ScalarMeasure | computeMu1InterpolatedU () const |
ScalarMeasure | computeMu2InterpolatedU () const |
TensorMeasure | computeMuXYInterpolatedU () const |
Protected Attributes | |
const SurfaceMesh & | myMesh |
A reference to the mesh over which computations are done. More... | |
bool | myUnitU |
Aim: Utility class to compute curvature measures induced by (1) a corrected normal current defined by a surface mesh with prescribed normals and (2) the standard Lipschitz-Killing invariant forms of area and curvatures.
Description of template class 'CorrectedNormalCurrentComputer'
TRealPoint | an arbitrary model of RealPoint. |
TRealVector | an arbitrary model of RealVector. |
Definition at line 69 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMesh::Face DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Face |
Definition at line 89 of file CorrectedNormalCurrentComputer.h.
typedef CorrectedNormalCurrentFormula< RealPoint, RealVector > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Formula |
Definition at line 79 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMesh::Index DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Index |
Definition at line 87 of file CorrectedNormalCurrentComputer.h.
typedef TRealPoint DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealPoint |
Definition at line 71 of file CorrectedNormalCurrentComputer.h.
typedef std::vector< RealPoint > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealPoints |
Definition at line 83 of file CorrectedNormalCurrentComputer.h.
typedef SimpleMatrix< Scalar, dimension, dimension > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealTensor |
Definition at line 78 of file CorrectedNormalCurrentComputer.h.
typedef std::vector< RealTensor > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealTensors |
Definition at line 85 of file CorrectedNormalCurrentComputer.h.
typedef TRealVector DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealVector |
Definition at line 72 of file CorrectedNormalCurrentComputer.h.
typedef std::vector< RealVector > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::RealVectors |
Definition at line 84 of file CorrectedNormalCurrentComputer.h.
typedef RealVector::Component DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Scalar |
Definition at line 77 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMeshMeasure< RealPoint, RealVector, Scalar > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::ScalarMeasure |
Definition at line 80 of file CorrectedNormalCurrentComputer.h.
typedef std::vector< Scalar > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Scalars |
Definition at line 82 of file CorrectedNormalCurrentComputer.h.
typedef CorrectedNormalCurrentComputer< RealPoint, RealVector > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Self |
Definition at line 73 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMesh::Size DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Size |
Definition at line 86 of file CorrectedNormalCurrentComputer.h.
typedef DGtal::SurfaceMesh< RealPoint, RealVector > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::SurfaceMesh |
Definition at line 76 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMeshMeasure< RealPoint, RealVector, RealTensor > DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::TensorMeasure |
Definition at line 81 of file CorrectedNormalCurrentComputer.h.
typedef SurfaceMesh::Vertex DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::Vertex |
Definition at line 88 of file CorrectedNormalCurrentComputer.h.
DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::CorrectedNormalCurrentComputer | ( | ConstAlias< SurfaceMesh > | aMesh, |
bool | unit_u = false |
||
) |
Constructor from mesh.
aMesh | any simplified mesh that is referenced in this object. |
unit_u | when set to 'true' tells the computer to normalize corrected normals in curvature formulae. For instance, for the Gaussian curvature, it induces exact Gaussian curvature computation with spherical triangles. |
DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::BOOST_STATIC_ASSERT | ( | (dimension==3) | ) |
ScalarMeasure DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::computeMu0 | ( | ) | const |
|
protected |
! myMesh.faceNormals().empty()
|
protected |
! myMesh.vertexNormals().empty()
ScalarMeasure DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::computeMu1 | ( | ) | const |
|
protected |
! myMesh.faceNormals().empty()
|
protected |
! myMesh.vertexNormals().empty()
ScalarMeasure DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::computeMu2 | ( | ) | const |
|
protected |
! myMesh.faceNormals().empty()
|
protected |
! myMesh.vertexNormals().empty()
TensorMeasure DGtal::CorrectedNormalCurrentComputer< TRealPoint, TRealVector >::computeMuXY | ( | ) | const |
|
protected |
! myMesh.faceNormals().empty()
|
protected |
! myMesh.vertexNormals().empty()
|
inlinestatic |
mu0 | the mu0 measure (i.e. area) of some set |
mu2 | the mu2 measure (i.e. the Gaussian curvature measue) of the same set |
Definition at line 135 of file CorrectedNormalCurrentComputer.h.
|
inlinestatic |
mu0 | the mu0 measure (i.e. area) of some set |
mu1 | the mu1 measure (i.e. twice the mean curvature measue) of the same set |
Definition at line 126 of file CorrectedNormalCurrentComputer.h.
|
inlinestatic |
mu0 | the mu0 measure (i.e. area) of some set |
muXY | the anisotropic muXY measure (i.e. the second fundamental form measue) of the same set |
N | the normal vector at the location of the set |
Definition at line 149 of file CorrectedNormalCurrentComputer.h.
References DGtal::SimpleMatrix< TComponent, TM, TN >::column(), DGtal::EigenDecomposition< TN, TComponent, TMatrix >::getEigenDecomposition(), DGtal::L, and DGtal::SimpleMatrix< TComponent, TM, TN >::transpose().
|
static |
Definition at line 74 of file CorrectedNormalCurrentComputer.h.
|
protected |
A reference to the mesh over which computations are done.
Definition at line 176 of file CorrectedNormalCurrentComputer.h.
|
protected |
Tells if we should use a normalized unit vector or not for interpolated curvature measures.
Definition at line 179 of file CorrectedNormalCurrentComputer.h.