Patate Lib  0.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Grenaille::CurvatureEstimator< DataPoint, _WFunctor, T > Class Template Reference

Inherits Grenaille::Concept::FittingExtensionConcept< DataPoint, _WFunctor, T >, and T.

Inherited by Grenaille::GLSCurvatureHelper< DataPoint, _WFunctor, T >.

Detailed Description

template<class DataPoint, class _WFunctor, typename T>
class Grenaille::CurvatureEstimator< DataPoint, _WFunctor, T >

Extension to compute curvature values from the Weingarten map \( \frac{d N}{d \mathbf{x}} \).

This class extracts curvature informations from the spatial derivatives of the normal field \( N \). It first assemble a 2x2 matrix representation of the shape operator, and then performs an eigenvalue decomposition using Eigen::SelfAdjointEigenSolver::computeDirect.

The previous basket elements must provide a dNormal() method returning a 3x3 matrix. If more than one basket element provide a dNormal() member, then the last one will be used.

Warning
This class is valid only in 3D.

Public Types

typedef Base::Scalar Scalar
 Inherited scalar type.
 
typedef Base::VectorType VectorType
 Inherited vector type.
 
typedef DataPoint::MatrixType MatrixType
 Matrix type inherited from DataPoint.
 

Public Member Functions

 CurvatureEstimator ()
 Default constructor.
 
FIT_RESULT finalize ()
 Finalize the fitting procedure. More...
 
Scalar k1 () const
 Returns an estimate of the first principal curvature value.
 
Scalar k2 () const
 Returns an estimate of the second principal curvature value.
 
VectorType k1Direction () const
 Returns an estimate of the first principal curvature direction.
 
VectorType k2Direction () const
 Returns an estimate of the second principal curvature direction.
 
Scalar kMean () const
 Returns an estimate of the mean curvature.
 
Scalar GaussianCurvature () const
 Returns an estimate of the Gaussian curvature.
 
- Public Member Functions inherited from Grenaille::Concept::FittingExtensionConcept< DataPoint, _WFunctor, T >
void setWeightFunc (const WFunctor &w)
 
void init (const VectorType &evalPos)
 
bool addNeighbor (const DataPoint &nei)
 
FIRESULT finalize ()
 

Protected Types

enum  { Check = Base::PROVIDES_NORMAL_SPACE_DERIVATIVE, PROVIDES_PRINCIPALE_CURVATURES }
 

Member Function Documentation

template<class DataPoint , class _WFunctor , typename T >
FIT_RESULT CurvatureEstimator::finalize ( )
inline

Finalize the fitting procedure.

Returns
the corresponding state of the fitting
Warning
Must be called be for any use of the fitting output