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>
63 typedef typename VCMOnDigitalSurface::VectorN
RealVector;
99 typedef typename VCMOnDigitalSurface::Surfel2Normals Surfel2Normals;
103 return - itSN->second.vcmNormal;
119 template <
typename TVCMOnDigitalSurface>
139 BOOST_STATIC_ASSERT(( KSpace::dimension == 2 ));
166 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
188 template <
typename TVCMOnDigitalSurface>
208 BOOST_STATIC_ASSERT(( KSpace::dimension == 3 ));
235 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
257 template <
typename TVCMOnDigitalSurface>
277 BOOST_STATIC_ASSERT(( KSpace::dimension == 3 ));
304 ASSERT( ok ); boost::ignore_unused_variable_warning( ok );
325 template <
typename TVCMOnDigitalSurface>
345 BOOST_STATIC_ASSERT(( KSpace::dimension == 3 ));
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...
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.