DGtal  1.2.0
Public Types | Public Member Functions | Private Attributes
DGtal::functors::IIMeanCurvature3DFunctor< TSpace > Struct Template Reference

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

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

Public Types

typedef IIMeanCurvature3DFunctor< 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==3))
 
Value operator() (const Argument &arg) const
 
void init (Component h, Component r)
 

Private Attributes

Quantity dh3
 
Quantity d8_3r
 
Quantity d_4_PIr4
 

Detailed Description

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

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

Description of template class 'IIMeanCurvature3DFunctor'

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

Definition at line 602 of file IIGeometricFunctors.h.

Member Typedef Documentation

◆ Argument

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

Definition at line 610 of file IIGeometricFunctors.h.

◆ Component

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

Definition at line 609 of file IIGeometricFunctors.h.

◆ Quantity

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

Definition at line 611 of file IIGeometricFunctors.h.

◆ RealVector

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

Definition at line 608 of file IIGeometricFunctors.h.

◆ Self

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

Definition at line 606 of file IIGeometricFunctors.h.

◆ Space

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

Definition at line 607 of file IIGeometricFunctors.h.

◆ Value

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

Definition at line 612 of file IIGeometricFunctors.h.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename TSpace >
DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::BOOST_CONCEPT_ASSERT ( (concepts::CSpace< TSpace >)  )

◆ BOOST_STATIC_ASSERT()

template<typename TSpace >
DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::BOOST_STATIC_ASSERT ( (Space::dimension==3)  )

◆ init()

template<typename TSpace >
void DGtal::functors::IIMeanCurvature3DFunctor< 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 636 of file IIGeometricFunctors.h.

637  {
638  d8_3r = 8.0 / ( 3.0 * r );
639  double r2 = r * r;
640  d_4_PIr4 = 4.0 / ( M_PI * r2 * r2 );
641  dh3 = h * h * h;
642  }

References DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d8_3r, DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d_4_PIr4, and DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::dh3.

◆ operator()()

template<typename TSpace >
Value DGtal::functors::IIMeanCurvature3DFunctor< 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 623 of file IIGeometricFunctors.h.

624  {
625  Quantity cp_quantity = arg;
626  cp_quantity *= dh3;
627  return d8_3r - d_4_PIr4 * cp_quantity;
628  }

References DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d8_3r, DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d_4_PIr4, and DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::dh3.

Field Documentation

◆ d8_3r

template<typename TSpace >
Quantity DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d8_3r
private

◆ d_4_PIr4

template<typename TSpace >
Quantity DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::d_4_PIr4
private

◆ dh3

template<typename TSpace >
Quantity DGtal::functors::IIMeanCurvature3DFunctor< TSpace >::dh3
private

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