DGtal  0.9.4beta
Public Types | Public Member Functions | Private Member Functions | Private Attributes
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder > Class Template Reference

#include <DGtal/shapes/implicit/ImplicitFunctionLinearCellEmbedder.h>

Public Types

typedef TKSpace KSpace
 
typedef TImplicitFunction ImplicitFunction
 
typedef TEmbedder Embedder
 
typedef KSpace::Cell Cell
 
typedef KSpace::SCell SCell
 
typedef KSpace::Space Space
 
typedef Space::Point Point
 
typedef Space::RealPoint RealPoint
 
typedef ImplicitFunction::Value ImplicitFctValue
 
typedef Cell Argument
 
typedef RealPoint Value
 

Public Member Functions

 ImplicitFunctionLinearCellEmbedder ()
 
 ~ImplicitFunctionLinearCellEmbedder ()
 
 ImplicitFunctionLinearCellEmbedder (const ImplicitFunctionLinearCellEmbedder &other)
 
ImplicitFunctionLinearCellEmbedderoperator= (const ImplicitFunctionLinearCellEmbedder &other)
 
void init (ConstAlias< KSpace > K, ConstAlias< ImplicitFunction > f, ConstAlias< Embedder > e)
 
RealPoint embed (const Point &p) const
 
RealPoint embedCell (const Cell &cell) const
 
RealPoint embedSCell (const SCell &scell) const
 
RealPoint operator() (const Cell &cell) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CImplicitFunction< TImplicitFunction >))
 

Private Attributes

const KSpacemyPtrK
 
const ImplicitFunctionmyPtrFct
 
const EmbeddermyPtrEmbedder
 

Detailed Description

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
class DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >

Aim: a cellular embedder for implicit functions, (default constructible, copy constructible, assignable). Model of CCellEmbedder.

Description of template class 'ImplicitFunctionLinearCellEmbedder'

Template Parameters
TKSpacethe cellular grid space definition.
TImplicitFunctionthe type of implicit function, a model of CImplicitFunction.
TEmbedderthe type of digital embedder.
Todo:
assert dimensions of space, embedder and implicit function.

Definition at line 70 of file ImplicitFunctionLinearCellEmbedder.h.

Member Typedef Documentation

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef Cell DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Argument

Definition at line 84 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef KSpace::Cell DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Cell

Definition at line 78 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef TEmbedder DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Embedder

Definition at line 77 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef ImplicitFunction::Value DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::ImplicitFctValue

Definition at line 83 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef TImplicitFunction DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::ImplicitFunction

Definition at line 76 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef TKSpace DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::KSpace

Definition at line 75 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef Space::Point DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Point

Definition at line 81 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef Space::RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::RealPoint

Definition at line 82 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef KSpace::SCell DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::SCell

Definition at line 79 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef KSpace::Space DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Space

Definition at line 80 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
typedef RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::Value

Definition at line 85 of file ImplicitFunctionLinearCellEmbedder.h.

Constructor & Destructor Documentation

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::ImplicitFunctionLinearCellEmbedder ( )

Constructor. The object is not valid.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::~ImplicitFunctionLinearCellEmbedder ( )

Destructor.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::ImplicitFunctionLinearCellEmbedder ( const ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder > &  other)

Copy constructor.

Parameters
otherthe object to copy.

Member Function Documentation

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::BOOST_CONCEPT_ASSERT ( (concepts::CImplicitFunction< TImplicitFunction >)  )
private
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::embed ( const Point p) const

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.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::embedCell ( const Cell cell) const

Maps a cell to its corresponding point in the Euclidean space, by a linear guess of its position.

Parameters
cellany cell in the cellular grid space.
Returns
its embedding in the Euclidean space.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::embedSCell ( const SCell scell) const

Maps a signed cell to its corresponding point in the Euclidean space, by a linear guess of its position. NB: the signed is not used.

Parameters
scellany cell in the cellular grid space.
Returns
its embedding in the Euclidean space.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
void DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::init ( ConstAlias< KSpace K,
ConstAlias< ImplicitFunction f,
ConstAlias< Embedder e 
)

Initializes the embedder with the space K, the implicit function f, the digital embedder e.

Parameters
Kany cellular grid space.
fan implicit function
ea digital embedder (like a GaussDigitizer).
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
bool DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
RealPoint DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::operator() ( const Cell cell) const

Maps a cell to its corresponding point in the Euclidean space, by a linear guess of its position.

Parameters
cellany cell in the cellular grid space.
Returns
its embedding in the Euclidean space.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
ImplicitFunctionLinearCellEmbedder& DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::operator= ( const ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder > &  other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.
template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
void DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

Field Documentation

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
const Embedder* DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::myPtrEmbedder
private

A pointer on the digital embedder.

Definition at line 187 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
const ImplicitFunction* DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::myPtrFct
private

A pointer on the implicit function.

Definition at line 185 of file ImplicitFunctionLinearCellEmbedder.h.

template<typename TKSpace, typename TImplicitFunction, typename TEmbedder>
const KSpace* DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::myPtrK
private

A pointer on the cellular grid space.

Definition at line 183 of file ImplicitFunctionLinearCellEmbedder.h.


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