DGtal  1.5.beta
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Class Template Reference

Aim: Combines a digital surface embedder with a normal vector estimator to get a model of CDigitalSurfaceEmbedder and CWithGradientMap. (also default constructible, copy constructible, assignable). More...

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

Public Types

typedef DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
 
typedef TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
 
typedef TNormalVectorEstimator NormalVectorEstimator
 
typedef DigitalSurfaceEmbedder::KSpace KSpace
 
typedef DigitalSurfaceEmbedder::Surface Surface
 
typedef DigitalSurfaceEmbedder::SCell SCell
 
typedef DigitalSurfaceEmbedder::RealPoint RealPoint
 
typedef DigitalSurfaceEmbedder::Argument Argument
 
typedef DigitalSurfaceEmbedder::Value Value
 
typedef KSpace::Space Space
 
typedef Space::RealVector RealVector
 
typedef NormalVectorEstimator::Quantity Quantity
 
typedef NormalVectorEstimator::DigitalSurface NVESurface
 
typedef DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimatorGradientMap
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< RealVector, Quantity >::value))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< Surface, NVESurface >::value))
 
 DigitalSurfaceEmbedderWithNormalVectorEstimator ()
 
Selfoperator= (const Self &other)
 
 DigitalSurfaceEmbedderWithNormalVectorEstimator (ConstAlias< DigitalSurfaceEmbedder > aDSEmbedder, ConstAlias< NormalVectorEstimator > anEstimator)
 
 DigitalSurfaceEmbedderWithNormalVectorEstimator (const Self &other)
 
 ~DigitalSurfaceEmbedderWithNormalVectorEstimator ()
 
RealPoint operator() (const SCell &scell) const
 
const Surfacesurface () const
 
const KSpacespace () const
 
GradientMap gradientMap () const
 
RealVector gradient (const SCell &scell) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Private Attributes

const DigitalSurfaceEmbeddermyDSEmbedder
 A pointer on the digital surface. More...
 
const NormalVectorEstimatormyEstimator
 A pointer on the normal vector estimator. More...
 

Detailed Description

template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
class DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >

Aim: Combines a digital surface embedder with a normal vector estimator to get a model of CDigitalSurfaceEmbedder and CWithGradientMap. (also default constructible, copy constructible, assignable).

Description of template class 'DigitalSurfaceEmbedderWithNormalVectorEstimator'

Template Parameters
TDigitalSurfaceEmbeddera model of digital surface embedder.
TNormalVectorEstimatorthe type of normal vector estimator.
Todo:
assert dimensions of space, embedder and implicit function.

Definition at line 74 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.h.

Member Typedef Documentation

◆ Argument

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::Argument DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Argument

◆ DigitalSurfaceEmbedder

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef TDigitalSurfaceEmbedder DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedder

◆ GradientMap

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap<DigitalSurfaceEmbedder,NormalVectorEstimator> DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::GradientMap

◆ KSpace

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::KSpace DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::KSpace

◆ NormalVectorEstimator

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef TNormalVectorEstimator DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::NormalVectorEstimator

◆ NVESurface

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef NormalVectorEstimator::DigitalSurface DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::NVESurface

◆ Quantity

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef NormalVectorEstimator::Quantity DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Quantity

◆ RealPoint

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::RealPoint DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::RealPoint

◆ RealVector

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef Space::RealVector DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::RealVector

◆ SCell

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::SCell DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::SCell

◆ Self

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Self

◆ Space

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef KSpace::Space DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Space

◆ Surface

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::Surface DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Surface

◆ Value

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
typedef DigitalSurfaceEmbedder::Value DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Value

Constructor & Destructor Documentation

◆ DigitalSurfaceEmbedderWithNormalVectorEstimator() [1/3]

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( )

Default constructor. The object is not valid.

◆ DigitalSurfaceEmbedderWithNormalVectorEstimator() [2/3]

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( ConstAlias< DigitalSurfaceEmbedder aDSEmbedder,
ConstAlias< NormalVectorEstimator anEstimator 
)

Constructor.

Parameters
aDSEmbedderany digital surface embedder.
anEstimatora normal vector estimator

◆ DigitalSurfaceEmbedderWithNormalVectorEstimator() [3/3]

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( const Self other)

Copy Constructor.

Parameters
otherthe object to clone.

◆ ~DigitalSurfaceEmbedderWithNormalVectorEstimator()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::~DigitalSurfaceEmbedderWithNormalVectorEstimator ( )

Destructor.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_CONCEPT_ASSERT ( (concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >)  )

◆ BOOST_STATIC_ASSERT() [1/2]

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< RealVector, Quantity >::value)  )

◆ BOOST_STATIC_ASSERT() [2/2]

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< Surface, NVESurface >::value)  )

◆ gradient()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
RealVector DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::gradient ( const SCell scell) const
Parameters
scellany signed cell in the cellular grid space.
Returns
the gradient vector at this surfel. Uses the given NormalVectorEstimator.

◆ gradientMap()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
GradientMap DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::gradientMap ( ) const
Returns
the gradient map associated to this embedder, i.e. a functor SCell -> RealVector. Uses the given NormalVectorEstimator.

◆ isValid()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
bool DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

◆ operator()()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
RealPoint DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::operator() ( const SCell scell) const

Maps a signed cell to its corresponding point in the Euclidean space. Uses the given embedder.

Parameters
scellany signed cell in the cellular grid space.
Returns
its embedding in the Euclidean space.

◆ operator=()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
Self& DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::operator= ( const Self other)

Assignment.

Parameters
otherthe object to clone.
Returns
a reference to 'this'.

◆ selfDisplay()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
void DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ space()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
const KSpace& DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::space ( ) const
inline
Returns
the associated khalimsky space.

Definition at line 155 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.h.

156  {
157  return myDSEmbedder->space();
158  }
const DigitalSurfaceEmbedder * myDSEmbedder
A pointer on the digital surface.

References DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::myDSEmbedder.

◆ surface()

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
const Surface& DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::surface ( ) const
Returns
the associated digital surface.

Field Documentation

◆ myDSEmbedder

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
const DigitalSurfaceEmbedder* DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::myDSEmbedder
private

◆ myEstimator

template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
const NormalVectorEstimator* DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::myEstimator
private

A pointer on the normal vector estimator.

Definition at line 197 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.h.


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