31 #if defined(DiscreteExteriorCalculusFactory_RECURSES)
32 #error Recursive header files inclusion detected in DiscreteExteriorCalculusFactory.h
33 #else // defined(DiscreteExteriorCalculusFactory_RECURSES)
35 #define DiscreteExteriorCalculusFactory_RECURSES
37 #if !defined DiscreteExteriorCalculusFactory_h
39 #define DiscreteExteriorCalculusFactory_h
42 #include "DGtal/dec/DiscreteExteriorCalculus.h"
43 #include "DGtal/topology/DigitalSurface.h"
60 template <
typename TLinearAlgebraBackend,
typename TInteger = DGtal::
int32_t>
61 class DiscreteExteriorCalculusFactory
66 typedef typename TLinearAlgebraBackend::DenseVector
DenseVector;
86 template <
typename TDigitalSet>
101 template <Dimension dimEmbedded,
typename TNSCellConstIterator>
104 createFromNSCells(
const TNSCellConstIterator& begin,
const TNSCellConstIterator& end,
const bool add_border =
true);
118 template <DGtal::Dimension dimEmbedded,
typename TNSCellConstIterator,
typename TSCellMeasureFunctor>
121 createFromNSCells(
const TNSCellConstIterator& begin,
const TNSCellConstIterator& end,
const TSCellMeasureFunctor& normalFunctor,
const double h,
const bool add_border =
true);
143 template <
typename KSpace,
typename CellsSet>
158 template <
typename KSpace,
typename CellsAccum>
176 template <
typename KSpace,
typename CellsAccum,
typename MeasureAccum>
179 accumulateAllLowerIncidentCells(
const KSpace& kspace,
const typename CellsAccum::key_type& cell, CellsAccum& cells_accum, CellsAccum& local_accum, MeasureAccum& cell_to_measure,
const double measure);
215 #if !defined(BUILD_INLINE)
216 #include "DGtal/dec/DiscreteExteriorCalculusFactory.ih"
223 #endif // !defined DiscreteExteriorCalculusFactory_h
225 #undef DiscreteExteriorCalculusFactory_RECURSES
226 #endif // else defined(DiscreteExteriorCalculusFactory_RECURSES)
Aim: DiscreteExteriorCalculus represents a calculus in the dec package. This is the main structure in...
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInteger >))
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
Aim: Represent any dynamic sized column vector having sparse or dense representation.
TLinearAlgebraBackend::DenseMatrix DenseMatrix
static void accumulateAllLowerIncidentCells(const KSpace &kspace, const typename CellsAccum::key_type &cell, CellsAccum &cells_accum)
EigenLinearAlgebraBackend::SparseMatrix SparseMatrix
static DiscreteExteriorCalculus< TDigitalSet::Point::dimension, TDigitalSet::Point::dimension, TLinearAlgebraBackend, TInteger > createFromDigitalSet(const TDigitalSet &set, const bool add_border=true)
TLinearAlgebraBackend::DenseVector DenseVector
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: This class provides static members to create DEC structures from various other DGtal structures.
EigenLinearAlgebraBackend::DenseMatrix DenseMatrix
DiscreteExteriorCalculusFactory & operator=(const DiscreteExteriorCalculusFactory &other)
Aim: Represent any dynamic sized matrix having sparse or dense representation.
static void insertAllLowerIncidentCells(const KSpace &kspace, const typename CellsSet::value_type &cell, CellsSet &cells_set)
DiscreteExteriorCalculusFactory()
static DiscreteExteriorCalculus< dimEmbedded, TNSCellConstIterator::value_type::Point::dimension, TLinearAlgebraBackend, TInteger > createFromNSCells(const TNSCellConstIterator &begin, const TNSCellConstIterator &end, const bool add_border=true)
TLinearAlgebraBackend::SparseMatrix SparseMatrix
Aim: Check right multiplication between matrix and vector and internal matrix multiplication....
Aim: This class is a model of CCellularGridSpaceND. It represents the cubical grid as a cell complex,...