DGtal 1.3.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder > Class Template Reference

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

#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
 A pointer on the cellular grid space. More...
 
const ImplicitFunctionmyPtrFct
 A pointer on the implicit function. More...
 
const EmbeddermyPtrEmbedder
 A pointer on the digital embedder. More...
 

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

◆ Argument

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

Definition at line 84 of file ImplicitFunctionLinearCellEmbedder.h.

◆ Cell

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

Definition at line 78 of file ImplicitFunctionLinearCellEmbedder.h.

◆ Embedder

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

Definition at line 77 of file ImplicitFunctionLinearCellEmbedder.h.

◆ ImplicitFctValue

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

Definition at line 83 of file ImplicitFunctionLinearCellEmbedder.h.

◆ ImplicitFunction

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

Definition at line 76 of file ImplicitFunctionLinearCellEmbedder.h.

◆ KSpace

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

Definition at line 75 of file ImplicitFunctionLinearCellEmbedder.h.

◆ Point

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

Definition at line 81 of file ImplicitFunctionLinearCellEmbedder.h.

◆ RealPoint

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

Definition at line 82 of file ImplicitFunctionLinearCellEmbedder.h.

◆ SCell

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

Definition at line 79 of file ImplicitFunctionLinearCellEmbedder.h.

◆ Space

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

Definition at line 80 of file ImplicitFunctionLinearCellEmbedder.h.

◆ Value

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

◆ ImplicitFunctionLinearCellEmbedder() [1/2]

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

Constructor. The object is not valid.

◆ ~ImplicitFunctionLinearCellEmbedder()

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

Destructor.

◆ ImplicitFunctionLinearCellEmbedder() [2/2]

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

◆ BOOST_CONCEPT_ASSERT()

template<typename TKSpace , typename TImplicitFunction , typename TEmbedder >
DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >::BOOST_CONCEPT_ASSERT ( (concepts::CImplicitFunction< TImplicitFunction >)  )
private

◆ embed()

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.

◆ embedCell()

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.

◆ embedSCell()

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.

◆ init()

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).

◆ isValid()

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.

◆ operator()()

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.

◆ operator=()

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'.

◆ selfDisplay()

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

◆ myPtrEmbedder

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.

◆ myPtrFct

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.

◆ myPtrK

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: