31 #if defined(Naive3DDSSComputer_RECURSES)
32 #error Recursive header files inclusion detected in Naive3DDSSComputer.h
33 #else // defined(Naive3DDSSComputer_RECURSES)
35 #define Naive3DDSSComputer_RECURSES
37 #if !defined Naive3DDSSComputer_h
39 #define Naive3DDSSComputer_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/geometry/curves/ArithmeticalDSSComputer.h"
52 #include "DGtal/base/ConstIteratorAdapter.h"
53 #include "DGtal/kernel/BasicPointFunctors.h"
96 template <
typename TIterator,
typename TInteger,
int connectivity = 8>
360 #if !defined(BUILD_INLINE)
361 #include "DGtal/geometry/curves/Naive3DDSSComputer.ih"
368 #endif // !defined Naive3DDSSComputer_h
370 #undef Naive3DDSSComputer_RECURSES
371 #endif // else defined(Naive3DDSSComputer_RECURSES)
Naive3DDSSComputer< ReverseIterator< ConstIterator >, TInteger, connectivity > Reverse
Reverse type.
Projector2d myProjYZ
Projector for YZ-plane.
Aim: Functor that maps a point P of dimension i to a point Q of dimension j. The member myDims is an ...
MyDigitalSurface::ConstIterator ConstIterator
functors::Projector< SpaceND< 2, Coordinate > > Projector2d
Adapter for iterators.
ConstIterator end() const
ConstIterator begin() const
ArithmeticalDSSComputer2d myXYalgo
2d-arithmeticalDSS recognition algorithms for XY-plane.
const ArithmeticalDSSComputer2d & arithmeticalDSS2dYZ() const
void getParameters(Vector3d &direction, PointR3d &intercept, PointR3d &thickness) const
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
void selfDisplay(std::ostream &out)
Naive3DDSSComputer & operator=(const Naive3DDSSComputer &other)
DGtal::uint32_t Dimension
ConstIterator myBegin
begin and end iterators
DGtal::PointVector< 2, Coordinate > Point2d
Type of 2d digital point.
DGtal::ArithmeticalDSSComputer< IteratorAdapter, TInteger, connectivity > ArithmeticalDSSComputer2d
2D arithmetical DSS recognition algorithm
void init(const ConstIterator &it)
Point3d::Coordinate Coordinate
Type of 3d digital point coordinate.
Projector2d myProjXY
Projector for XY-plane.
const ArithmeticalDSSComputer2d & arithmeticalDSS2dXZ() const
TIterator ConstIterator
Type of iterator, at least readable and forward.
const ArithmeticalDSSComputer2d & arithmeticalDSS2dXY() const
DGtal is the top-level namespace which contains all DGtal functions and types.
std::pair< Integer, Integer > Quotient
Type which represent quotient of two integers first/second.
bool isInDSS(const Point3d &aPoint) const
bool validArithmeticalDSS2d(Dimension i) const
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInteger >))
ConstIteratorAdapter< ConstIterator, Projector2d, Point2d > IteratorAdapter
Iterator over adapter.
IteratorCirculatorTraits< ConstIterator >::Value Vector3d
Type of 3d digital vector.
ArithmeticalDSSComputer2d myYZalgo
2d-arithmeticalDSS recognition algorithms for YZ-plane.
bool operator==(const Naive3DDSSComputer &other) const
const ArithmeticalDSSComputer2d & arithmeticalDSS2d(Dimension i) const
ArithmeticalDSSComputer2d myXZalgo
2d-arithmeticalDSS recognition algorithms for XZ-plane.
Aim: Implements basic operations that will be used in Point and Vector classes.
Aim: Dynamic recognition of a 3d-digital straight segment (DSS)
Naive3DDSSComputer< ConstIterator, TInteger, connectivity > Self
Self type.
IteratorCirculatorTraits< ConstIterator >::Value Point3d
Type of 3d digital point.
std::string className() const
Reverse getReverse() const
std::array< Quotient, 3 > PointR3d
Type of 3d rational point.
Projector2d myProjXZ
Projector for XZ-plane.
TInteger Integer
Type of integer, devoted to remainders (and intercepts)
bool operator!=(const Naive3DDSSComputer &other) const
This class adapts any iterator so that operator* returns another element than the one pointed to by t...