DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Attributes
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Class Template Reference

#include <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,
NormalVectorEstimator
GradientMap

Public Member Functions

 BOOST_CONCEPT_ASSERT ((CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
 BOOST_STATIC_ASSERT ((ConceptUtils::SameType< RealVector, Quantity >::value))
 BOOST_STATIC_ASSERT ((ConceptUtils::SameType< Surface, NVESurface >::value))
 DigitalSurfaceEmbedderWithNormalVectorEstimator ()
Selfoperator= (const Self &other)
 DigitalSurfaceEmbedderWithNormalVectorEstimator (const DigitalSurfaceEmbedder &aDSEmbedder, const NormalVectorEstimator &anEstimator)
 DigitalSurfaceEmbedderWithNormalVectorEstimator (const Self &other)
 ~DigitalSurfaceEmbedderWithNormalVectorEstimator ()
RealPoint operator() (const SCell &scell) const
const Surfacesurface () 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 73 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 ( )
inline

Default constructor. The object is not valid.

Definition at line 52 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( const DigitalSurfaceEmbedder aDSEmbedder,
const NormalVectorEstimator anEstimator 
)
inline

Constructor.

Parameters:
aDSEmbedderany digital surface embedder.
anEstimatora normal vector estimator

Definition at line 61 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

: myDSEmbedder( &aDSEmbedder ),
myEstimator( &anEstimator )
{}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::DigitalSurfaceEmbedderWithNormalVectorEstimator ( const Self other)
inline

Copy Constructor.

Parameters:
otherthe object to clone.

Definition at line 72 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

: myDSEmbedder( other.myDSEmbedder ),
myEstimator( other.myEstimator )
{}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::~DigitalSurfaceEmbedderWithNormalVectorEstimator ( )
inline

Destructor.

Definition at line 45 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{}

Member Function Documentation

template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_CONCEPT_ASSERT ( (CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >)  )
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (ConceptUtils::SameType< RealVector, Quantity >::value)  )
template<typename TDigitalSurfaceEmbedder, typename TNormalVectorEstimator>
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::BOOST_STATIC_ASSERT ( (ConceptUtils::SameType< Surface, NVESurface >::value)  )
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::RealVector DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::gradient ( const SCell scell) const
inline
Parameters:
scellany signed cell in the cellular grid space.
Returns:
the gradient vector at this surfel. Uses the given NormalVectorEstimator.

Definition at line 117 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
ASSERT( this->isValid() );
return myEstimator->eval( scell );
}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::GradientMap DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::gradientMap ( ) const
inline
Returns:
the gradient map associated to this embedder, i.e. a functor SCell -> RealVector. Uses the given NormalVectorEstimator.

Definition at line 128 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
ASSERT( this->isValid() );
return GradientMap( *this );
}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
bool DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 158 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
return ( myEstimator != 0 ) && ( myDSEmbedder != 0 )
&& ( myEstimator->isValid() ) && ( myDSEmbedder->isValid() );
}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::RealPoint DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::operator() ( const SCell scell) const
inline

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.

Definition at line 106 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
ASSERT( this->isValid() );
return myDSEmbedder->operator()( scell );
}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Self & DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::operator= ( const Self other)
inline
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
void DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::selfDisplay ( std::ostream &  out) const
inline

Writes/Displays the object on an output stream.

Parameters:
outthe output stream where the object is written.

Definition at line 145 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
out << "[DigitalSurfaceEmbedderWithNormalVectorEstimator]";
}
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
const DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::Surface & DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >::surface ( ) const
inline
Returns:
the associated digital surface.

Definition at line 95 of file DigitalSurfaceEmbedderWithNormalVectorEstimator.ih.

{
ASSERT( this->isValid() );
return myDSEmbedder->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

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