31#if defined(LocalConvolutionNormalVectorEstimator_RECURSES)
32#error Recursive header files inclusion detected in LocalConvolutionNormalVectorEstimator.h
35#define LocalConvolutionNormalVectorEstimator_RECURSES
37#if !defined LocalConvolutionNormalVectorEstimator_h
39#define LocalConvolutionNormalVectorEstimator_h
44#include "DGtal/base/Common.h"
45#include "DGtal/base/ConstAlias.h"
46#include "DGtal/kernel/PointVector.h"
47#include "DGtal/base/CountedPtr.h"
48#include "DGtal/graph/BreadthFirstVisitor.h"
49#include "DGtal/topology/DigitalSurface.h"
50#include "DGtal/geometry/surfaces/estimation/CConvolutionWeights.h"
84 template <
typename TDigitalSurface,
typename TKernelFunctor>
95 typedef typename Surface::KSpace::Space::RealVector
Quantity;
129 const unsigned int radius);
146 template <
typename OutputIterator>
149 OutputIterator result)
const;
156 template <
typename OutputIterator>
157 OutputIterator
evalAll( OutputIterator result )
const;
221#include "DGtal/geometry/surfaces/estimation/LocalConvolutionNormalVectorEstimator.ih"
228#undef LocalConvolutionNormalVectorEstimator_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
DigitalSurfaceContainer::SurfelConstIterator ConstIterator
DigitalSurfaceContainer::SCell SCell
Aim: Computes the normal vector at a surface element by convolution of elementary normal vector to ad...
bool myFlagIsInit
True if the init() has been called.
~LocalConvolutionNormalVectorEstimator()
const DigitalSurface & mySurface
Reference to the digital surface.
LocalConvolutionNormalVectorEstimator(const LocalConvolutionNormalVectorEstimator &other)
const KernelFunctor & myKernelFunctor
Reference of the kernel convolution functor.
LocalConvolutionNormalVectorEstimator()
LocalConvolutionNormalVectorEstimator(ConstAlias< DigitalSurface > aSurface, ConstAlias< KernelFunctor > aFunctor)
void init(const double h, const unsigned int radius)
const Surface & surface() const
OutputIterator eval(const ConstIterator &itb, const ConstIterator &ite, OutputIterator result) const
BOOST_CONCEPT_ASSERT((concepts::CConvolutionWeights< TKernelFunctor >))
Quantity eval(const SCell &scell) const
Surface::KSpace::Space::RealVector Quantity
OutputIterator evalAll(OutputIterator result) const
LocalConvolutionNormalVectorEstimator & operator=(const LocalConvolutionNormalVectorEstimator &other)
TKernelFunctor KernelFunctor
Quantity eval(const ConstIterator &it) const
unsigned int myRadius
Radius of the convolution.
TDigitalSurface DigitalSurface
Surface::ConstIterator ConstIterator
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: defines models of centered convolution kernel used for normal vector integration for instance.