31 #if defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES)
32 #error Recursive header files inclusion detected in DigitalSurfaceEmbedderWithNormalVectorEstimator.h
35 #define DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES
37 #if !defined DigitalSurfaceEmbedderWithNormalVectorEstimator_h
39 #define DigitalSurfaceEmbedderWithNormalVectorEstimator_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/ConstAlias.h"
46 #include "DGtal/kernel/NumberTraits.h"
47 #include "DGtal/topology/CDigitalSurfaceEmbedder.h"
54 template <
typename TDigitalSurfaceEmbedder,
55 typename TNormalVectorEstimator >
56 class DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap;
72 template <
typename TDigitalSurfaceEmbedder,
73 typename TNormalVectorEstimator >
78 < TDigitalSurfaceEmbedder, TNormalVectorEstimator >
Self;
88 typedef typename DigitalSurfaceEmbedder::Argument
Argument;
93 typedef typename NormalVectorEstimator::Quantity
Quantity;
94 typedef typename NormalVectorEstimator::DigitalSurface
NVESurface;
128 (
const Self & other );
215 template <
typename TDigitalSurfaceEmbedder,
216 typename TNormalVectorEstimator >
244 (
const Self & other );
274 template <
typename TDigitalSurfaceEmbedder,
typename TNormalVectorEstimator >
284 #include "DGtal/geometry/surfaces/estimation/DigitalSurfaceEmbedderWithNormalVectorEstimator.ih"
291 #undef DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Self & operator=(const Self &other)
Assignment.
TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap(const Self &other)
DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator > Embedder
Value operator()(const Argument &arg) const
TNormalVectorEstimator NormalVectorEstimator
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
const Embedder * myEmbedder
The digital surface embedder with normal vector estimator.
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap(ConstAlias< Embedder > embedder)
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
Embedder::RealVector Value
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap()
Default constructor. The object is not valid.
~DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap()
Destructor. Does nothing.
Aim: Combines a digital surface embedder with a normal vector estimator to get a model of CDigitalSur...
DigitalSurfaceEmbedder::Value Value
const KSpace & space() const
DigitalSurfaceEmbedderWithNormalVectorEstimator(ConstAlias< DigitalSurfaceEmbedder > aDSEmbedder, ConstAlias< NormalVectorEstimator > anEstimator)
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator > GradientMap
NormalVectorEstimator::DigitalSurface NVESurface
Self & operator=(const Self &other)
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< Surface, NVESurface >::value))
DigitalSurfaceEmbedder::Argument Argument
NormalVectorEstimator::Quantity Quantity
DigitalSurfaceEmbedder::SCell SCell
DigitalSurfaceEmbedder::KSpace KSpace
GradientMap gradientMap() const
TNormalVectorEstimator NormalVectorEstimator
~DigitalSurfaceEmbedderWithNormalVectorEstimator()
DigitalSurfaceEmbedderWithNormalVectorEstimator(const Self &other)
const DigitalSurfaceEmbedder * myDSEmbedder
A pointer on the digital surface.
DigitalSurfaceEmbedder::RealPoint RealPoint
DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
DigitalSurfaceEmbedderWithNormalVectorEstimator()
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
const Surface & surface() const
Space::RealVector RealVector
RealVector gradient(const SCell &scell) const
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< RealVector, Quantity >::value))
const NormalVectorEstimator * myEstimator
A pointer on the normal vector estimator.
RealPoint operator()(const SCell &scell) const
DigitalSurfaceEmbedder::Surface Surface
void selfDisplay(std::ostream &out) const
TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
Aim: Implements basic operations that will be used in Point and Vector classes.
SH3::DigitalSurface Surface
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: A digital surface embedder is a specialized mapping from signed cells to Euclidean points....
PointVector< 3, double > RealPoint