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