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

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

Detailed Description

template<class DataPoint, class _WFunctor, typename T, int Type>
class Grenaille::internal::CovariancePlaneDer< DataPoint, _WFunctor, T, Type >

Internal generic class computing the derivatives of covariance plane fits.

The differentiation can be done automatically in scale and/or space, by combining the enum values FitScaleDer and FitSpaceDer in the template parameter Type.

The differenciated values are stored in static arrays. The size of the arrays is computed with respect to the derivation type (scale and/or space) and the number of the dimension of the ambiant space. By convention, the scale derivatives are stored at index 0 when Type contains at least FitScaleDer. The size of these arrays can be known using derDimension(), and the differentiation type by isScaleDer() and isSpaceDer().

Public Types

typedef Base::Scalar Scalar
 Inherited scalar type.
 
typedef Base::VectorType VectorType
 Inherited vector type.
 
typedef Base::MatrixType MatrixType
 Inherited matrix type.
 
typedef Base::WFunctor WFunctor
 Weight Function.
 
typedef Eigen::Matrix< Scalar,
DataPoint::Dim, NbDerivatives,
DerStorageOrder > 
VectorArray
 Static array of scalars with a size adapted to the differentiation type.
 
typedef Eigen::Matrix< Scalar,
1, NbDerivatives > 
ScalarArray
 Static array of scalars with a size adapted to the differentiation type.
 

Public Member Functions

void init (const VectorType &evalPos)
 
bool addNeighbor (const DataPoint &nei)
 
FIT_RESULT finalize ()
 
ScalarArray dPotential () const
 Returns the derivatives of the scalar field at the evaluation point.
 
VectorArray dNormal () const
 Returns the derivatives of the primitive normal.
 
bool isScaleDer () const
 State specified at compilation time to differenciate the fit in scale.
 
bool isSpaceDer () const
 State specified at compilation time to differenciate the fit in space.
 
unsigned int derDimension () const
 Number of dimensions used for the differentiation.
 
- 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_PLANE, PROVIDES_COVARIANCE_PLANE_DERIVATIVE, PROVIDES_NORMAL_DERIVATIVE }
 

Static Protected Attributes

static const int NbDerivatives = ((Type & FitScaleDer) ? 1 : 0 ) + ((Type & FitSpaceDer) ? DataPoint::Dim : 0)
 
static const int DerStorageOrder = (Type & FitSpaceDer) ? Eigen::RowMajor : Eigen::ColMajor
 

Member Enumeration Documentation

template<class DataPoint, class _WFunctor, typename T, int Type>
anonymous enum
protected
Enumerator
Check 

Needs plane.

PROVIDES_COVARIANCE_PLANE_DERIVATIVE 

Provides derivatives for hyper-planes.

Member Function Documentation

template<class DataPoint, class _WFunctor , typename T , int Type>
bool internal::CovariancePlaneDer::addNeighbor ( const DataPoint &  nei)
template<class DataPoint , class _WFunctor , typename T , int Type>
FIT_RESULT internal::CovariancePlaneDer::finalize ( )
template<class DataPoint , class _WFunctor , typename T , int Type>
void internal::CovariancePlaneDer::init ( const VectorType evalPos)