DGtal  0.9.3beta
Public Types | Public Member Functions | Private Attributes
DGtal::functors::IICurvatureFunctor< TSpace > Struct Template Reference

#include <DGtal/geometry/surfaces/estimation/IIGeometricFunctors.h>

Public Types

typedef IICurvatureFunctor< TSpace > Self
 
typedef TSpace Space
 
typedef Space::RealVector RealVector
 
typedef RealVector::Component Component
 
typedef Component Argument
 
typedef Component Quantity
 
typedef Quantity Value
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >))
 
 BOOST_STATIC_ASSERT ((Space::dimension==2))
 
Value operator() (const Argument &arg) const
 
void init (Component h, Component r)
 

Private Attributes

Quantity dh2
 
Quantity d3_r
 
Quantity dPI_2
 
Quantity d1_r2
 

Detailed Description

template<typename TSpace>
struct DGtal::functors::IICurvatureFunctor< TSpace >

Aim: A functor Real -> Real that returns the 2d curvature by transforming the given volume. This functor is valid only in 2D space.

Description of template class 'IICurvatureFunctor'

Template Parameters
TSpacea model of CSpace, for instance SpaceND.
See also
IntegralInvariantVolumeEstimator

Definition at line 446 of file IIGeometricFunctors.h.

Member Typedef Documentation

template<typename TSpace >
typedef Component DGtal::functors::IICurvatureFunctor< TSpace >::Argument

Definition at line 454 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef RealVector::Component DGtal::functors::IICurvatureFunctor< TSpace >::Component

Definition at line 453 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef Component DGtal::functors::IICurvatureFunctor< TSpace >::Quantity

Definition at line 455 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef Space::RealVector DGtal::functors::IICurvatureFunctor< TSpace >::RealVector

Definition at line 452 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef IICurvatureFunctor<TSpace> DGtal::functors::IICurvatureFunctor< TSpace >::Self

Definition at line 450 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef TSpace DGtal::functors::IICurvatureFunctor< TSpace >::Space

Definition at line 451 of file IIGeometricFunctors.h.

template<typename TSpace >
typedef Quantity DGtal::functors::IICurvatureFunctor< TSpace >::Value

Definition at line 456 of file IIGeometricFunctors.h.

Member Function Documentation

template<typename TSpace >
DGtal::functors::IICurvatureFunctor< TSpace >::BOOST_CONCEPT_ASSERT ( (concepts::CSpace< TSpace >)  )
template<typename TSpace >
DGtal::functors::IICurvatureFunctor< TSpace >::BOOST_STATIC_ASSERT ( (Space::dimension==2)  )
template<typename TSpace >
void DGtal::functors::IICurvatureFunctor< TSpace >::init ( Component  h,
Component  r 
)
inline

Initializes the functor with the gridstep and the ball Euclidean radius.

Parameters
hthe gridstep
rthe ball radius

Definition at line 480 of file IIGeometricFunctors.h.

References DGtal::functors::IICurvatureFunctor< TSpace >::d1_r2, DGtal::functors::IICurvatureFunctor< TSpace >::d3_r, DGtal::functors::IICurvatureFunctor< TSpace >::dh2, and DGtal::functors::IICurvatureFunctor< TSpace >::dPI_2.

481  {
482  d1_r2 = 1.0 / ( r * r );
483  dPI_2 = M_PI / 2.0;
484  d3_r = 3.0 / r;
485  dh2 = h * h;
486  }
template<typename TSpace >
Value DGtal::functors::IICurvatureFunctor< TSpace >::operator() ( const Argument arg) const
inline

Apply operator.

Parameters
argany symmetric positive matrix (covariance matrix
Returns
the curvature associated with the II area measurement.

Definition at line 467 of file IIGeometricFunctors.h.

References DGtal::functors::IICurvatureFunctor< TSpace >::d1_r2, DGtal::functors::IICurvatureFunctor< TSpace >::d3_r, DGtal::functors::IICurvatureFunctor< TSpace >::dh2, and DGtal::functors::IICurvatureFunctor< TSpace >::dPI_2.

468  {
469  Quantity cp_quantity = arg;
470  cp_quantity *= dh2;
471  return d3_r * ( dPI_2 - d1_r2 * cp_quantity );
472  }

Field Documentation

template<typename TSpace >
Quantity DGtal::functors::IICurvatureFunctor< TSpace >::d1_r2
private
template<typename TSpace >
Quantity DGtal::functors::IICurvatureFunctor< TSpace >::d3_r
private
template<typename TSpace >
Quantity DGtal::functors::IICurvatureFunctor< TSpace >::dh2
private
template<typename TSpace >
Quantity DGtal::functors::IICurvatureFunctor< TSpace >::dPI_2
private

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