31 #if defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
32 #error Recursive header files inclusion detected in TrueDigitalSurfaceLocalEstimator.h
33 #else // defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
35 #define TrueDigitalSurfaceLocalEstimator_RECURSES
37 #if !defined TrueDigitalSurfaceLocalEstimator_h
39 #define TrueDigitalSurfaceLocalEstimator_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/ConstAlias.h"
46 #include "DGtal/base/CountedConstPtrOrConstPtr.h"
47 #include "DGtal/topology/CanonicSCellEmbedder.h"
96 template <
typename TKSpace,
typename TShape,
typename TGeometricFunctor>
111 typedef typename GeometricFunctor::Quantity
Quantity;
169 const int maxIter = 20,
170 const Scalar accuracy = 0.0001,
171 const Scalar gamma = 0.5 );
181 template <
typename SurfelConstIterator>
183 SurfelConstIterator itb,
184 SurfelConstIterator ite );
190 template <
typename SurfelConstIterator>
200 template <
typename OutputIterator,
typename SurfelConstIterator>
201 OutputIterator
eval( SurfelConstIterator itb,
202 SurfelConstIterator ite,
203 OutputIterator result )
const;
269 template <
typename TKSpace,
typename TShape,
typename TGeometricFunctor>
278 #include "DGtal/geometry/surfaces/estimation/TrueDigitalSurfaceLocalEstimator.ih"
283 #endif // !defined TrueDigitalSurfaceLocalEstimator_h
285 #undef TrueDigitalSurfaceLocalEstimator_RECURSES
286 #endif // else defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
Aim: This class encapsulates its parameter class to indicate that the given parameter is required to ...
TGeometricFunctor GeometricFunctor
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Component Coordinate
Type for Point elements.
bool myNearest
Tells if we look for nearest point.
void attach(ConstAlias< Shape > aShape)
void init(const Scalar _h, SurfelConstIterator itb, SurfelConstIterator ite)
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
void selfDisplay(std::ostream &out) const
CountedConstPtrOrConstPtr< KSpace > myKSpace
The cellular space.
CowPtr< GeometricFunctor > myFct
The functor RealPoint -> Quantity returning some geometric quantity.
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
SCellEmbedder myEmbedder
The surfel embedder. /!\ For now, it is multiplied by myH.
Self & operator=(const Self &other)
RealPoint::Coordinate Scalar
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Space::RealPoint RealPoint
TrueDigitalSurfaceLocalEstimator< TKSpace, TShape, TGeometricFunctor > Self
~TrueDigitalSurfaceLocalEstimator()
DGtal is the top-level namespace which contains all DGtal functions and types.
Quantity eval(SurfelConstIterator it) const
CanonicSCellEmbedder< KSpace > SCellEmbedder
RealPoint embed(Surfel surfel) const
Scalar myGamma
coefficient associated with the gradient (size of each step).
TrueDigitalSurfaceLocalEstimator()
Scalar myAccuracy
distance criterion to stop the descent (proximity of implicit function).
void setParams(ConstAlias< KSpace > ks, Clone< GeometricFunctor > fct, const int maxIter=20, const Scalar accuracy=0.0001, const Scalar gamma=0.5)
CountedConstPtrOrConstPtr< Shape > myShape
The shape of interest.
int myMaxIter
fixes the maximum number of steps (0: takes the point as is).
Aim: Implements basic operations that will be used in Point and Vector classes.
GeometricFunctor::Quantity Quantity
Aim: An estimator on digital surfaces that returns the reference local geometric quantity....
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< TKSpace >))
Aim: Defines a unary functor, which associates arguments to results.