32#if defined(SCellsFunctors_RECURSES)
33#error Recursive header files inclusion detected in SCellsFunctors.h
36#define SCellsFunctors_RECURSES
38#if !defined SCellsFunctors_h
40#define SCellsFunctors_h
46#include "DGtal/base/Common.h"
47#include "DGtal/base/ConstAlias.h"
48#include "DGtal/base/BasicBoolFunctors.h"
49#include "DGtal/kernel/SpaceND.h"
73 template <
typename KSpace>
130 while (
myK->sDim(s) > 0 )
132 Input tmp(
myK->sIndirectIncident( s, *
myK->sDirs( s ) ) );
133 ASSERT(
myK->sDim(tmp) <
myK->sDim(s) );
150 template <
typename KSpace>
210 Input pointel(
myK->sIndirectIncident( s, *
myK->sDirs( s ) ) );
213 Vector v(
myK->sKCoords( s ) -
myK->sKCoords( pointel ) );
233 template <
typename KSpace>
289 Input pixel(
myK->sDirectIncident( s, *
myK->sOrthDirs( s ) ) );
309 template <
typename KSpace>
364 Input pixel(
myK->sIndirectIncident( s, *
myK->sOrthDirs( s ) ) );
384 template <
typename KSpace>
442 Input innerPixel(
myK->sDirectIncident( s, *
myK->sOrthDirs( s ) ) );
444 Input outerPixel(
myK->sIndirectIncident( s, *
myK->sOrthDirs( s ) ) );
446 return Output(
myK->sCoords( innerPixel ),
myK->sCoords( outerPixel ));
460 template <
typename KSpace>
522 Input pointel(
myK->sIndirectIncident( s, *
myK->sDirs( s ) ) );
525 Vector v(
myK->sKCoords( s ) -
myK->sKCoords( pointel ) );
526 if (v ==
Vector(1,0))
return '0';
527 else if (v ==
Vector(0,1))
return '1';
528 else if (v ==
Vector(-1,0))
return '2';
529 else if (v ==
Vector(0,-1))
return '3';
548#undef SCellsFunctors_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
PointVector< dim, Integer > Point
SignedKhalimskyCell< dim, Integer > SCell
PointVector< dim, Integer > Vector
static const constexpr Dimension dimension
Output operator()(const Input &s) const
std::pair< Point, Vector > Output
SCellToArrow & operator=(const SCellToArrow &other)
SCellToArrow(ConstAlias< KSpace > aK)
SCellToArrow(const SCellToArrow &other)
SCellToCode(const SCellToCode &other)
Output operator()(const Input &s) const
BOOST_STATIC_ASSERT(KSpace::dimension==2)
SCellToCode(ConstAlias< KSpace > aK)
SCellToCode & operator=(const SCellToCode &other)
Output operator()(const Input &s) const
SCellToIncidentPoints(ConstAlias< KSpace > aK)
SCellToIncidentPoints & operator=(const SCellToIncidentPoints &other)
SCellToIncidentPoints(const SCellToIncidentPoints &other)
std::pair< Point, Point > Output
SCellToInnerPoint & operator=(const SCellToInnerPoint &other)
SCellToInnerPoint(const SCellToInnerPoint &other)
SCellToInnerPoint(ConstAlias< KSpace > aK)
Output operator()(const Input &s) const
SCellToOuterPoint(const SCellToOuterPoint &other)
Output operator()(const Input &s) const
SCellToOuterPoint & operator=(const SCellToOuterPoint &other)
SCellToOuterPoint(ConstAlias< KSpace > aK)
SCellToPoint(const SCellToPoint &other)
SCellToPoint & operator=(const SCellToPoint &other)
Output operator()(const Input &aSCell) const
SCellToPoint(ConstAlias< KSpace > aK)
functors namespace gathers all DGtal functors.
DGtal is the top-level namespace which contains all DGtal functions and types.