Aim: This class provides static members to create DEC structures from various other DGtal structures.
More...
#include <DGtal/dec/DiscreteExteriorCalculusFactory.h>
|
| template<typename TDigitalSet > |
| static DiscreteExteriorCalculus< TDigitalSet::Point::dimension, TDigitalSet::Point::dimension, TLinearAlgebraBackend, TInteger > | createFromDigitalSet (const TDigitalSet &set, const bool add_border=true) |
| |
| template<Dimension dimEmbedded, typename TNSCellConstIterator > |
| static DiscreteExteriorCalculus< dimEmbedded, TNSCellConstIterator::value_type::Point::dimension, TLinearAlgebraBackend, TInteger > | createFromNSCells (const TNSCellConstIterator &begin, const TNSCellConstIterator &end, const bool add_border=true) |
| |
| template<DGtal::Dimension dimEmbedded, typename TNSCellConstIterator , typename TSCellMeasureFunctor > |
| static DiscreteExteriorCalculus< dimEmbedded, TNSCellConstIterator::value_type::Point::dimension, TLinearAlgebraBackend, TInteger > | createFromNSCells (const TNSCellConstIterator &begin, const TNSCellConstIterator &end, const TSCellMeasureFunctor &normalFunctor, const double h, const bool add_border=true) |
| |
|
| template<typename KSpace , typename CellsSet > |
| static void | insertAllLowerIncidentCells (const KSpace &kspace, const typename CellsSet::value_type &cell, CellsSet &cells_set) |
| |
| template<typename KSpace , typename CellsAccum > |
| static void | accumulateAllLowerIncidentCells (const KSpace &kspace, const typename CellsAccum::key_type &cell, CellsAccum &cells_accum) |
| |
| template<typename KSpace , typename CellsAccum , typename MeasureAccum > |
| static void | accumulateAllLowerIncidentCells (const KSpace &kspace, const typename CellsAccum::key_type &cell, CellsAccum &cells_accum, CellsAccum &local_accum, MeasureAccum &cell_to_measure, const double measure) |
| |
template<typename TLinearAlgebraBackend, typename TInteger = DGtal::int32_t>
class DGtal::DiscreteExteriorCalculusFactory< TLinearAlgebraBackend, TInteger >
Aim: This class provides static members to create DEC structures from various other DGtal structures.
Description of class 'DiscreteExteriorCalculusFactory'
- Template Parameters
-
| TLinearAlgebraBackend | linear algebra backend used (i.e. EigenLinearAlgebraBackend). |
| TInteger | integer type forwarded to khalimsky space. |
- Examples
- dec/exampleDECSurface.cpp, dec/exampleDiscreteExteriorCalculusSolve.cpp, dec/exampleDiscreteExteriorCalculusUsage.cpp, dec/exampleHeatLaplace.cpp, and dec/examplePropagation.cpp.
Definition at line 61 of file DiscreteExteriorCalculusFactory.h.
◆ DenseMatrix
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ DenseVector
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ SparseMatrix
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ DiscreteExteriorCalculusFactory() [1/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
Constructor. Forbidden by default.
◆ DiscreteExteriorCalculusFactory() [2/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
Copy constructor.
- Parameters
-
| other | the object to clone. Forbidden by default. |
◆ accumulateAllLowerIncidentCells() [1/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<typename
KSpace , typename CellsAccum >
Insert and count recursively all lower incident cells into cells accumulator, starting from cell. Internal use only.
- Template Parameters
-
| KSpace | Khalimsky space type. |
| CellsAccum | cells accumulator type, should be similar to std::map<KSpace::Cell, int> or std::map<KSpace::SCell, int>. Counts are stored as values, cells are stored as keys. |
- Parameters
-
| kspace | Khalimsky space instance. |
| cell | starting cell. |
| cells_accum | cells accumulator in which lower incident cells get inserted and counted. |
◆ accumulateAllLowerIncidentCells() [2/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<typename
KSpace , typename CellsAccum , typename MeasureAccum >
| static void DGtal::DiscreteExteriorCalculusFactory< TLinearAlgebraBackend, TInteger >::accumulateAllLowerIncidentCells |
( |
const KSpace & | kspace, |
|
|
const typename CellsAccum::key_type & | cell, |
|
|
CellsAccum & | cells_accum, |
|
|
CellsAccum & | local_accum, |
|
|
MeasureAccum & | cell_to_measure, |
|
|
const double | measure ) |
|
staticprotected |
Insert and count recursively all lower incident cells into cells accumulator, starting from cell embedding the measure of such cell. Internal use only.
- Template Parameters
-
| KSpace | Khalimsky space type. |
| CellsAccum | cells accumulator type, should be similar to std::map<KSpace::Cell, int> or std::map<KSpace::SCell, int>. Counts are stored as values, cells are stored as keys. |
- Parameters
-
| kspace | Khalimsky space instance. |
| cell | starting cell. |
| cells_accum | cells accumulator in which lower incident cells get inserted and counted. |
| local_accum | local cells accumulator for measure embedding |
| cell_to_measure | a map from cell to its measure |
| measure | the current measure to be embedded |
◆ BOOST_CONCEPT_ASSERT() [1/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ BOOST_CONCEPT_ASSERT() [2/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ BOOST_CONCEPT_ASSERT() [3/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ BOOST_CONCEPT_ASSERT() [4/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ BOOST_CONCEPT_ASSERT() [5/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ BOOST_CONCEPT_ASSERT() [6/6]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
◆ createFromDigitalSet()
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<typename TDigitalSet >
Create a DEC structure from digital set. DEC embedded and ambient dimensions are equal to digital set point dimension. Points of the set get attached to primal n-cell <-> dual 0-cell.
- Template Parameters
-
- Parameters
-
| set | the set from which to build to DEC structure. |
| add_border | add border to the computed structure. For a precise definition see section Border definition. |
◆ createFromNSCells() [1/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<
Dimension dimEmbedded, typename TNSCellConstIterator >
| static DiscreteExteriorCalculus< dimEmbedded, TNSCellConstIterator::value_type::Point::dimension, TLinearAlgebraBackend, TInteger > DGtal::DiscreteExteriorCalculusFactory< TLinearAlgebraBackend, TInteger >::createFromNSCells |
( |
const TNSCellConstIterator & | begin, |
|
|
const TNSCellConstIterator & | end, |
|
|
const bool | add_border = true ) |
|
static |
Create a DEC structure from a range of signed n-cells, where n is the embedded dimension. Signed n-cells may live in an ambient Khamlisky space with dimension greater than n. N-cells get attached to primal n-cell <-> dual 0-cell. See section Introduction for more information.
- Template Parameters
-
| dimEmbedded | dimension of emmbedded manifold. All input n-cells must have their dimension equal to dimEmbedded. |
| TNSCellConstIterator | signed cells collection const iterator type. |
- Parameters
-
| begin | beginning of iteration range. |
| end | end of iteration range. |
| add_border | add border to the computed structure. For a precise definition see section Border definition. |
◆ createFromNSCells() [2/2]
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<
DGtal::Dimension dimEmbedded, typename TNSCellConstIterator , typename TSCellMeasureFunctor >
| static DiscreteExteriorCalculus< dimEmbedded, TNSCellConstIterator::value_type::Point::dimension, TLinearAlgebraBackend, TInteger > DGtal::DiscreteExteriorCalculusFactory< TLinearAlgebraBackend, TInteger >::createFromNSCells |
( |
const TNSCellConstIterator & | begin, |
|
|
const TNSCellConstIterator & | end, |
|
|
const TSCellMeasureFunctor & | normalFunctor, |
|
|
const double | h, |
|
|
const bool | add_border = true ) |
|
static |
Create a DEC structure from a range of signed n-cells, where n is the embedded dimension. A functor from cell to its measure is given. Signed n-cells may live in an ambient Khamlisky space with dimension greater than n. N-cells get attached to primal n-cell <-> dual 0-cell. See section Introduction for more information.
- Template Parameters
-
| dimEmbedded | dimension of emmbedded manifold. All input n-cells must have their dimension equal to dimEmbedded. |
| TNSCellConstIterator | signed cells collection const iterator type. |
- Parameters
-
| begin | beginning of iteration range. |
| end | end of iteration range. |
| normalFunctor | functor from a cell to its normal |
| h | the grid step |
| add_border | add border to the computed structure. For a precise definition see section Border definition. |
◆ insertAllLowerIncidentCells()
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
template<typename
KSpace , typename CellsSet >
Insert recursively all lower incident cells into cells set, starting from cell. Internal use only.
- Template Parameters
-
| KSpace | Khalimsky space type. |
| CellsSet | cells set type, should be similar to std::set<KSpace::Cell> or std::set<KSpace::SCell>. |
- Parameters
-
| kspace | Khalimsky space instance. |
| cell | starting cell. |
| cells_set | cells set in which lower incident cells get inserted. |
◆ operator=()
template<typename TLinearAlgebraBackend , typename TInteger = DGtal::int32_t>
Assignment.
- Parameters
-
- Returns
- a reference on 'this'. Forbidden by default.
The documentation for this class was generated from the following files: