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/PointVector.h"
50#include "DGtal/kernel/CInteger.h"
51#include "DGtal/base/ReverseIterator.h"
52#include "DGtal/geometry/curves/ArithmeticalDSS.h"
53#include "DGtal/topology/CCellularGridSpaceND.h"
79 template <
typename TKSpace,
typename TIterator,
80 typename TInteger =
typename TKSpace::Space::Integer,
81 unsigned short adjacency = 8>
441template <
typename TKSpace,
typename TIterator,
typename TInteger,
unsigned short adjacency>
445 object.selfDisplay( out);
454#include "DGtal/geometry/surfaces/ArithmeticalDSSComputerOnSurfels.ih"
461#undef ArithmeticalDSSComputerOnSurfels_RECURSES
Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of dig...
KSpace::Space::Point Point3
ArithmeticalDSS< Coordinate, Integer, adjacency > DSS
ArithmeticalDSSComputerOnSurfels & operator=(const ArithmeticalDSSComputerOnSurfels &other)
const Primitive & primitive() const
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< TKSpace >))
ConstIterator end() const
BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept< ConstIterator >))
ConstIterator myPreviousSurfelBack
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< SCell, typename IteratorCirculatorTraits< ConstIterator >::Value >::value))
bool commonLinel(Cell const &aSurfel1, Cell const &aSurfel2, Cell &aLinel)
Point3 myProjectionNormal
Point::Coordinate Coordinate
Reverse getReverse() const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Integer >))
ArithmeticalDSSComputerOnSurfels< KSpace, ConstIterator, TInteger, adjacency > Self
std::pair< Point, Point > projectSurfel(SCell const &aSCell) const
BOOST_STATIC_ASSERT((TKSpace::dimension==3))
ArithmeticalDSSComputerOnSurfels< KSpace, ReverseIterator< ConstIterator >, TInteger, adjacency > Reverse
ConstIterator myPreviousSurfelFront
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< Point, typename DSS::Point >::value))
bool operator!=(const ArithmeticalDSSComputerOnSurfels &other) const
bool getOtherPointFromSurfel(ConstIterator const &it, Point &aPoint, bool aIsFront, bool aUpdatePrevious)
ArithmeticalDSSComputerOnSurfels(const ArithmeticalDSSComputerOnSurfels &other)
ConstIterator begin() const
ArithmeticalDSSComputerOnSurfels(const KSpace &aKSpace, Dimension aDim1, Dimension aDim2)
PointVector< 2, TInteger > Point
ArithmeticalDSSComputerOnSurfels()
bool operator==(const ArithmeticalDSSComputerOnSurfels &other) const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Coordinate >))
~ArithmeticalDSSComputerOnSurfels()
void selfDisplay(std::ostream &out) const
void init(const ConstIterator &it)
Point projectInPlane(Point3 const &aPoint) const
BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept< ConstIterator >))
Aim: This class represents a naive (resp. standard) digital straight segment (DSS),...
Component Coordinate
Type for Point elements.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &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...
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.