31 #if defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES) 32 #error Recursive header files inclusion detected in DigitalSurfaceEmbedderWithNormalVectorEstimator.h 33 #else // defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES) 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 >
72 template <
typename TDigitalSurfaceEmbedder,
73 typename TNormalVectorEstimator >
78 < TDigitalSurfaceEmbedder, TNormalVectorEstimator >
Self;
84 typedef typename DigitalSurfaceEmbedder::KSpace
KSpace;
85 typedef typename DigitalSurfaceEmbedder::Surface
Surface;
86 typedef typename DigitalSurfaceEmbedder::SCell
SCell;
87 typedef typename DigitalSurfaceEmbedder::RealPoint
RealPoint;
88 typedef typename DigitalSurfaceEmbedder::Argument
Argument;
93 typedef typename NormalVectorEstimator::Quantity
Quantity;
94 typedef typename NormalVectorEstimator::DigitalSurface
NVESurface;
128 (
const Self & other );
145 RealPoint
operator()(
const SCell & scell )
const;
150 const Surface &
surface()
const;
171 RealVector
gradient(
const SCell & scell )
const;
215 template <
typename TDigitalSurfaceEmbedder,
216 typename TNormalVectorEstimator >
244 (
const Self & other );
258 Value
operator()(
const Argument & arg )
const;
274 template <
typename TDigitalSurfaceEmbedder,
typename TNormalVectorEstimator >
284 #include "DGtal/geometry/surfaces/estimation/DigitalSurfaceEmbedderWithNormalVectorEstimator.ih" 289 #endif // !defined DigitalSurfaceEmbedderWithNormalVectorEstimator_h 291 #undef DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES 292 #endif // else defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES) DigitalSurfaceEmbedder::SCell SCell
Space::RealVector RealVector
GradientMap gradientMap() const
const DigitalSurfaceEmbedder * myDSEmbedder
A pointer on the digital surface.
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
TNormalVectorEstimator NormalVectorEstimator
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
DigitalSurfaceEmbedder::Surface Surface
TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
Embedder::RealVector Value
TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
const KSpace & space() const
DigitalSurfaceEmbedder::Value Value
DigitalSurfaceEmbedderWithNormalVectorEstimator()
Aim: Implements basic operations that will be used in Point and Vector classes.
const Embedder * myEmbedder
The digital surface embedder with normal vector estimator.
TNormalVectorEstimator NormalVectorEstimator
void selfDisplay(std::ostream &out) const
~DigitalSurfaceEmbedderWithNormalVectorEstimator()
RealVector gradient(const SCell &scell) const
DigitalSurfaceEmbedder::Argument Argument
NormalVectorEstimator::DigitalSurface NVESurface
DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator > Embedder
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator > GradientMap
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
DGtal is the top-level namespace which contains all DGtal functions and types.
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< RealVector, Quantity >::value))
const Surface & surface() const
RealPoint operator()(const SCell &scell) const
const NormalVectorEstimator * myEstimator
A pointer on the normal vector estimator.
DigitalSurfaceEmbedder::RealPoint RealPoint
NormalVectorEstimator::Quantity Quantity
Aim: Combines a digital surface embedder with a normal vector estimator to get a model of CDigitalSur...
DigitalSurfaceEmbedder::KSpace KSpace
Self & operator=(const Self &other)
Aim: A digital surface embedder is a specialized mapping from signed cells to Euclidean points...