Patate Lib  0.5
Grenaille::CurvatureEstimator< DataPoint, _WFunctor, T > Class Template Reference

## 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)

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