33 #if defined(ArithmeticalDSSComputerOnSurfels_RECURSES)
34 #error Recursive header files inclusion detected in ArithmeticalDSSComputerOnSurfels.h
37 #define ArithmeticalDSSComputerOnSurfels_RECURSES
39 #if !defined ArithmeticalDSSComputerOnSurfels_h
41 #define ArithmeticalDSSComputerOnSurfels_h
47 #include "DGtal/base/Exceptions.h"
48 #include "DGtal/base/Common.h"
49 #include "DGtal/kernel/SpaceND.h"
50 #include "DGtal/kernel/PointVector.h"
51 #include "DGtal/kernel/BasicPointFunctors.h"
52 #include "DGtal/kernel/CInteger.h"
53 #include "DGtal/base/ReverseIterator.h"
54 #include "DGtal/geometry/curves/ArithmeticalDSS.h"
55 #include "DGtal/topology/CCellularGridSpaceND.h"
83 template <
typename TKSpace,
typename TIterator,
165 virtual Point first(
const std::pair<Point,Point>& aPair)
const {
return aPair.first; }
166 virtual Point second(
const std::pair<Point,Point>& aPair)
const {
return aPair.second; }
171 Point first(
const std::pair<Point,Point>& aPair)
const {
return aPair.second; }
172 Point second(
const std::pair<Point,Point>& aPair)
const {
return aPair.first; }
489 template <
typename TKSpace,
typename TIterator,
typename TInteger>
493 object.selfDisplay( out);
502 #include "DGtal/geometry/surfaces/ArithmeticalDSSComputerOnSurfels.ih"
509 #undef ArithmeticalDSSComputerOnSurfels_RECURSES
Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of dig...
BOOST_STATIC_ASSERT((TKSpace::dimension==3))
ArithmeticalDSSComputerOnSurfels(const ArithmeticalDSSComputerOnSurfels &other)
ArithmeticalDSSComputerOnSurfels< KSpace, ReverseIterator< ConstIterator >, TInteger > Reverse
std::shared_ptr< DirectPairExtractor > PairExtractor
ConstIterator end() const
Reverse getReverse() const
ArithmeticalDSSComputerOnSurfels & operator=(const ArithmeticalDSSComputerOnSurfels &other)
BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept< ConstIterator >))
bool operator!=(const ArithmeticalDSSComputerOnSurfels &other) const
ConstIterator begin() const
PointVector< 2, TInteger > Point
Dimension myProjectionAxis
functors::Projector< SpaceND< 2, TInteger > > Projector
Point getNextProjectedPoint(SCell const &aSurfel) const
const Primitive & primitive() const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Integer >))
ArithmeticalDSS< Coordinate, Integer, 4 > DSS
~ArithmeticalDSSComputerOnSurfels()
bool operator==(const ArithmeticalDSSComputerOnSurfels &other) const
std::pair< Point, Point > getProjectedPointsFromSurfel(SCell const &aSurfel) const
ArithmeticalDSSComputerOnSurfels(const KSpace &aKSpace, Dimension aDim1, Dimension aDim2, bool aFlagToReverse=false)
Point getPreviousProjectedPoint(SCell const &aSurfel) const
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< TKSpace >))
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< Point, typename DSS::Point >::value))
KSpace::Space::Point Point3
BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept< ConstIterator >))
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< SCell, typename IteratorCirculatorTraits< ConstIterator >::Value >::value))
Dimension dimNotIn(Dimension const &aDim1, Dimension const &aDim2) const
ArithmeticalDSSComputerOnSurfels()
void init(const ConstIterator &it)
ArithmeticalDSSComputerOnSurfels< KSpace, ConstIterator, TInteger > Self
BOOST_CONCEPT_ASSERT((concepts::CInteger< Coordinate >))
void selfDisplay(std::ostream &out) const
Point::Coordinate Coordinate
std::pair< Point, Point > getProjectedPointsFromLinel(SCell const &aLinel) const
PairExtractor myExtractor
Component Coordinate
Type for Point elements.
Point::Coordinate Integer
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::uint32_t Dimension
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
Aim: Functor that maps a point P of dimension i to a point Q of dimension j. The member myDims is an ...
Go to http://www.boost.org/doc/libs/1_52_0/libs/iterator/doc/ForwardTraversal.html.
Go to http://www.boost.org/doc/libs/1_52_0/libs/iterator/doc/ReadableIterator.html.