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

#include <NormalVectorEstimatorLinearCellEmbedder.h>

Public Types

typedef TDigitalSurface DigitalSurface
typedef TNormalVectorEstimator NormalVectorEstimator
typedef TEmbedder Embedder
typedef
DigitalSurface::ConstIterator 
ConstIterator
typedef
DigitalSurface::KSpace::Point 
Point
typedef
DigitalSurface::KSpace::Space::RealPoint 
RealPoint
typedef
DigitalSurface::KSpace::Space::RealVector 
RealVector
typedef
NormalVectorEstimator::Quantity 
Quantity

Public Member Functions

 NormalVectorEstimatorLinearCellEmbedder (const DigitalSurface &digSurf, const NormalVectorEstimator &estimator, const Embedder &e)
 ~NormalVectorEstimatorLinearCellEmbedder ()
RealPoint embed (const Point &p) const
RealPoint embedSurfel (const ConstIterator &it) const
void embedSurfel (const ConstIterator &surfelIt, RealPoint &x, RealVector &grad) const
void selfDisplay (std::ostream &out) const
bool isValid () const

Protected Member Functions

 NormalVectorEstimatorLinearCellEmbedder ()

Private Attributes

const DigitalSurfacemySurface
const NormalVectorEstimatormyPtrFct
const EmbeddermyPtrEmbedder

Detailed Description

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
class DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >

Aim: model of cellular embedder for normal vector estimators on digital surface, (default constructible, copy constructible, assignable).

Description of template class 'NormalVectorEstimatorLinearCellEmbedder'

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

Definition at line 69 of file NormalVectorEstimatorLinearCellEmbedder.h.


Member Typedef Documentation

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef DigitalSurface::ConstIterator DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::ConstIterator

Definition at line 76 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef TDigitalSurface DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::DigitalSurface

Definition at line 73 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef TEmbedder DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::Embedder

Definition at line 75 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef TNormalVectorEstimator DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::NormalVectorEstimator

Definition at line 74 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef DigitalSurface::KSpace::Point DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::Point

Definition at line 77 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef NormalVectorEstimator::Quantity DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::Quantity

Definition at line 80 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef DigitalSurface::KSpace::Space::RealPoint DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::RealPoint

Definition at line 78 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
typedef DigitalSurface::KSpace::Space::RealVector DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::RealVector

Definition at line 79 of file NormalVectorEstimatorLinearCellEmbedder.h.


Constructor & Destructor Documentation

template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::NormalVectorEstimatorLinearCellEmbedder ( const DigitalSurface digSurf,
const NormalVectorEstimator estimator,
const Embedder e 
)
inline

Constructor.

Parameters:
digSurfany digital surface.
estimatoran normal vector estimator
ea digital embedder (like a GaussDigitizer).

Definition at line 52 of file NormalVectorEstimatorLinearCellEmbedder.ih.

: mySurface(aSurface ),
myPtrFct( anEstim ),
myPtrEmbedder( aEmb )
{}
template<typename TKSpace , typename TNormalEstimator , typename TEmbedder >
DGtal::NormalVectorEstimatorLinearCellEmbedder< TKSpace, TNormalEstimator, TEmbedder >::~NormalVectorEstimatorLinearCellEmbedder ( )
inline

Destructor.

Definition at line 45 of file NormalVectorEstimatorLinearCellEmbedder.ih.

{}
template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::NormalVectorEstimatorLinearCellEmbedder ( )
protected

Member Function Documentation

template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::RealPoint DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::embed ( const Point p) const
inline

Maps a digital point to its corresponding point in the Euclidean space.

Parameters:
pany digital point in the digital space.
Returns:
its embedding by the current embedder in the Euclidean space.

Definition at line 64 of file NormalVectorEstimatorLinearCellEmbedder.ih.

References DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::embed().

Referenced by DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::embed().

{
//ASSERT( myPtrEmbedder.isValid() );
return myPtrEmbedder.embed( p );
}
template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::RealPoint DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::embedSurfel ( const ConstIterator it) const
inline

Maps a digital surface surfel defined by an iterator into its corresponding point in the Euclidean space.

Parameters:
itany iterator on surface surfel.
Returns:
its embedding in the Euclidean space.

Definition at line 74 of file NormalVectorEstimatorLinearCellEmbedder.ih.

{
ASSERT( this->isValid() );
// embed first the spel related to the cell.
Point p1( mySurface.container().space().sCoords( *surfelIt ) );
RealPoint x1( embed( p1 ) );
return x1;
}
template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
void DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::embedSurfel ( const ConstIterator surfelIt,
RealPoint x,
RealVector grad 
) const
inline

Maps a digital point to its corresponding embedding position and gradient vector in the Euclidean space.

Parameters:
pany digital surface surfel given by a ConstIterator.
xits embedding in the Euclidean space.
grad(returns) its gradient vector at the point given by the current embedder in the Euclidean space.

Definition at line 89 of file NormalVectorEstimatorLinearCellEmbedder.ih.

{
ASSERT( this->isValid() );
ASSERT( myPtrFct.isValid() );
// embed first the spel related to the cell.
p = embedSurfel( surfelIt );
v = myPtrFct.eval(surfelIt);
}
template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
bool DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 122 of file NormalVectorEstimatorLinearCellEmbedder.ih.

{
return ( mySurface.isValid() ) && ( myPtrFct.isValid() );
//&& ( myPtrEmbedder.isValid() );
}
template<typename TDigitalSurface , typename TNormalEstimator , typename TEmbedder >
void DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalEstimator, TEmbedder >::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 109 of file NormalVectorEstimatorLinearCellEmbedder.ih.

{
out << "[NormalVectorEstimatorLinearCellEmbedder]";
}

Field Documentation

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
const Embedder& DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::myPtrEmbedder
private

A pointer on the digital embedder.

Definition at line 157 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
const NormalVectorEstimator& DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::myPtrFct
private

A pointer on the normal vector estimator.

Definition at line 155 of file NormalVectorEstimatorLinearCellEmbedder.h.

template<typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder>
const DigitalSurface& DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >::mySurface
private

A pointer on the digital surface.

Definition at line 153 of file NormalVectorEstimatorLinearCellEmbedder.h.


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