DGtal  1.2.0
Public Types | Public Member Functions | Data Fields | Private Types | Private Member Functions
DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect > Class Template Reference

Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values in the neighborhood of p. Contrary to L2FirstOrderLocalDistance, the distance values are not available from the points adjacent to p but instead from the (d-1)-cells lying between p and these points.
More...

#include <DGtal/geometry/volumes/distance/FMMPointFunctors.h>

Public Types

typedef TMap Map
 map More...
 
typedef Map::mapped_type Value
 
typedef TKSpace KSpace
 cellular grid More...
 
typedef KSpace::Point Point
 
typedef KSpace::Cell Cell
 

Public Member Functions

 L2FirstOrderLocalDistanceFromCells (ConstAlias< KSpace > aK, Map &aMap)
 
 L2FirstOrderLocalDistanceFromCells (const L2FirstOrderLocalDistanceFromCells &other)
 
L2FirstOrderLocalDistanceFromCellsoperator= (const L2FirstOrderLocalDistanceFromCells &other)
 
 ~L2FirstOrderLocalDistanceFromCells ()
 
Value operator() (const Point &aPoint)
 
void selfDisplay (std::ostream &out) const
 

Data Fields

const KSpacemyKSpace
 Aliasing pointer on the underlying cellular grid. More...
 
MapmyMap
 Aliasing pointer on the underlying mapping. More...
 

Private Types

typedef std::vector< ValueValues
 

Private Member Functions

Value compute (Values &aValueList) const
 

Detailed Description

template<typename TKSpace, typename TMap, bool isIndirect = false>
class DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >

Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values in the neighborhood of p. Contrary to L2FirstOrderLocalDistance, the distance values are not available from the points adjacent to p but instead from the (d-1)-cells lying between p and these points.

Description of template class 'L2FirstOrderLocalDistanceFromCells'

Note
The stored values are expected to be the distance of the interface to the points directly incident to the cells and must be between 0 and 1.
Template Parameters
TKSpacea model of cellular grid
TMapa model of associative container used for the mapping cells-value
isIndirecta bool equal to 'false' if the tested points are expected to be directly incident to the cells (default) and 'true' otherwise
See also
initFromBelsRange FMM

Definition at line 585 of file FMMPointFunctors.h.

Member Typedef Documentation

◆ Cell

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef KSpace::Cell DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::Cell

Definition at line 599 of file FMMPointFunctors.h.

◆ KSpace

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef TKSpace DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::KSpace

cellular grid

Definition at line 597 of file FMMPointFunctors.h.

◆ Map

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef TMap DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::Map

map

Definition at line 593 of file FMMPointFunctors.h.

◆ Point

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef KSpace::Point DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::Point

Definition at line 598 of file FMMPointFunctors.h.

◆ Value

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef Map::mapped_type DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::Value

Definition at line 594 of file FMMPointFunctors.h.

◆ Values

template<typename TKSpace , typename TMap , bool isIndirect = false>
typedef std::vector<Value> DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::Values
private

Definition at line 603 of file FMMPointFunctors.h.

Constructor & Destructor Documentation

◆ L2FirstOrderLocalDistanceFromCells() [1/2]

template<typename TKSpace , typename TMap , bool isIndirect = false>
DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::L2FirstOrderLocalDistanceFromCells ( ConstAlias< KSpace aK,
Map aMap 
)

Constructor from a space and a map. NB: only pointers are stored

Parameters
aKa space.
aMapany distance map

◆ L2FirstOrderLocalDistanceFromCells() [2/2]

template<typename TKSpace , typename TMap , bool isIndirect = false>
DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::L2FirstOrderLocalDistanceFromCells ( const L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect > &  other)

Copy constructor.

Parameters
otherthe object to clone.

◆ ~L2FirstOrderLocalDistanceFromCells()

template<typename TKSpace , typename TMap , bool isIndirect = false>
DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::~L2FirstOrderLocalDistanceFromCells ( )

Destructor. Does nothing.

Member Function Documentation

◆ compute()

template<typename TKSpace , typename TMap , bool isIndirect = false>
Value DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::compute ( Values aValueList) const
private

Returns an approximation of the Euclidean distance at some point, knowing the distance of its adjacent cells contained in aValueList

Parameters
aValueListthe distance of (some of) the neighbors
Returns
the computed distance.

◆ operator()()

template<typename TKSpace , typename TMap , bool isIndirect = false>
Value DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::operator() ( const Point aPoint)

Euclidean distance computation at aPoint , from the available distance values of the adjacent cells.

Parameters
aPointthe point for which the distance is computed
Returns
the distance value at aPoint.

◆ operator=()

template<typename TKSpace , typename TMap , bool isIndirect = false>
L2FirstOrderLocalDistanceFromCells& DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::operator= ( const L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect > &  other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

◆ selfDisplay()

template<typename TKSpace , typename TMap , bool isIndirect = false>
void DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

Field Documentation

◆ myKSpace

template<typename TKSpace , typename TMap , bool isIndirect = false>
const KSpace* DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::myKSpace

Aliasing pointer on the underlying cellular grid.

Definition at line 608 of file FMMPointFunctors.h.

◆ myMap

template<typename TKSpace , typename TMap , bool isIndirect = false>
Map* DGtal::L2FirstOrderLocalDistanceFromCells< TKSpace, TMap, isIndirect >::myMap

Aliasing pointer on the underlying mapping.

Definition at line 610 of file FMMPointFunctors.h.


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