DGtal  0.9.4beta
Public Types | Public Member Functions | Private Attributes
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Class Template Reference

#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
 
const NormalVectorEstimatormyEstimator
 

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

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

Constructor & Destructor Documentation

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

Default constructor. The object is not valid.

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
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( const Self other)

Copy Constructor.

Parameters
otherthe object to clone.
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::~DigitalSurfaceEmbedderWithNormalVectorEstimator ( )

Destructor.

Member Function Documentation

template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_CONCEPT_ASSERT ( (concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >)  )
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< RealVector, Quantity >::value)  )
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< Surface, NVESurface >::value)  )
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.
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.
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.
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.
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'.
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.
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.

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

156  {
157  return myDSEmbedder->space();
158  }
const DigitalSurfaceEmbedder * myDSEmbedder
A pointer on the digital surface.
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
const Surface& DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::surface ( ) const
Returns
the associated digital surface.

Field Documentation

template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
const DigitalSurfaceEmbedder* DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::myDSEmbedder
private
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: