31#if defined(VCMGeometricFunctors_RECURSES)
32#error Recursive header files inclusion detected in VCMGeometricFunctors.h
35#define VCMGeometricFunctors_RECURSES
37#if !defined VCMGeometricFunctors_h
39#define VCMGeometricFunctors_h
44#include "DGtal/base/Common.h"
58 template <
typename TVCMOnDigitalSurface>
61 typedef typename VCMOnDigitalSurface::KSpace
KSpace;
62 typedef typename VCMOnDigitalSurface::Surfel
Surfel;
63 typedef typename VCMOnDigitalSurface::VectorN
RealVector;
99 typedef typename VCMOnDigitalSurface::Surfel2Normals Surfel2Normals;
103 return - itSN->second.vcmNormal;
119 template <
typename TVCMOnDigitalSurface>
122 typedef typename VCMOnDigitalSurface::KSpace
KSpace;
123 typedef typename VCMOnDigitalSurface::Surfel
Surfel;
166 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
188 template <
typename TVCMOnDigitalSurface>
191 typedef typename VCMOnDigitalSurface::KSpace
KSpace;
192 typedef typename VCMOnDigitalSurface::Surfel
Surfel;
235 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
257 template <
typename TVCMOnDigitalSurface>
260 typedef typename VCMOnDigitalSurface::KSpace
KSpace;
261 typedef typename VCMOnDigitalSurface::Surfel
Surfel;
304 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
325 template <
typename TVCMOnDigitalSurface>
328 typedef typename VCMOnDigitalSurface::KSpace
KSpace;
329 typedef typename VCMOnDigitalSurface::Surfel
Surfel;
372 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
383 return (k1+k2) * 0.5;
403#undef VCMGeometricFunctors_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Smart or simple const pointer on T. It can be a smart pointer based on reference counts or a sim...
static const constexpr Dimension dimension
TEuclideanRing Component
Type for Vector elements.
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: A functor Surfel -> Quantity that returns the absolute curvature at given surfel....
CountedConstPtrOrConstPtr< VCMOnDigitalSurface > myVCMOnDigitalSurface
The shape of interest.
VCMOnDigitalSurface::VectorN RealVector
VCMOnDigitalSurface::Surfel Surfel
TVCMOnDigitalSurface VCMOnDigitalSurface
RealVector::Component Scalar
void attach(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface)
VCMAbsoluteCurvatureFunctor(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface=0)
Quantity operator()(const Surfel &s) const
VCMOnDigitalSurface::KSpace KSpace
Aim: A functor Surfel -> Quantity that returns the first principal absolute curvature (greatest curva...
void attach(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface)
VCMOnDigitalSurface::Surfel Surfel
Quantity operator()(const Surfel &s) const
CountedConstPtrOrConstPtr< VCMOnDigitalSurface > myVCMOnDigitalSurface
The shape of interest.
RealVector::Component Scalar
VCMOnDigitalSurface::VectorN RealVector
TVCMOnDigitalSurface VCMOnDigitalSurface
VCMOnDigitalSurface::KSpace KSpace
VCMFirstPrincipalAbsoluteCurvatureFunctor(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface=0)
Aim: A functor Surfel -> Quantity that returns the mean of absolute curvatures at given surfel: (abs(...
TVCMOnDigitalSurface VCMOnDigitalSurface
void attach(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface)
VCMOnDigitalSurface::Surfel Surfel
VCMOnDigitalSurface::VectorN RealVector
VCMMeanAbsoluteCurvatures3DFunctor(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface=0)
Quantity operator()(const Surfel &s) const
CountedConstPtrOrConstPtr< VCMOnDigitalSurface > myVCMOnDigitalSurface
The shape of interest.
VCMOnDigitalSurface::KSpace KSpace
RealVector::Component Scalar
Aim: A functor Surfel -> Quantity that returns the outer normal vector at given surfel.
CountedConstPtrOrConstPtr< VCMOnDigitalSurface > myVCMOnDigitalSurface
The shape of interest.
RealVector::Component Scalar
Quantity operator()(const Surfel &s) const
VCMNormalVectorFunctor(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface=0)
VCMOnDigitalSurface::Surfel Surfel
VCMOnDigitalSurface::VectorN RealVector
VCMOnDigitalSurface::KSpace KSpace
TVCMOnDigitalSurface VCMOnDigitalSurface
void attach(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface)
Aim: A functor Surfel -> Quantity that returns the second principal absolute curvature (smallest curv...
VCMOnDigitalSurface::Surfel Surfel
VCMOnDigitalSurface::VectorN RealVector
VCMOnDigitalSurface::KSpace KSpace
Quantity operator()(const Surfel &s) const
TVCMOnDigitalSurface VCMOnDigitalSurface
void attach(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface)
RealVector::Component Scalar
VCMSecondPrincipalAbsoluteCurvatureFunctor(ConstAlias< VCMOnDigitalSurface > aVCMOnDigitalSurface=0)
CountedConstPtrOrConstPtr< VCMOnDigitalSurface > myVCMOnDigitalSurface
The shape of interest.