33#if defined(StandardDSLQ0_RECURSES)
34#error Recursive header files inclusion detected in StandardDSLQ0.h
37#define StandardDSLQ0_RECURSES
39#if !defined StandardDSLQ0_h
41#define StandardDSLQ0_h
46#include "DGtal/base/Common.h"
47#include "DGtal/base/ConstAlias.h"
48#include "DGtal/arithmetic/IntegerComputer.h"
49#include "DGtal/arithmetic/Pattern.h"
78 template <
typename TFraction>
85 typedef typename Fraction::Integer
Integer;
133 if (
this != &other )
404 template <
typename TFraction>
413#include "DGtal/arithmetic/StandardDSLQ0.ih"
420#undef StandardDSLQ0_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: This class gathers several types and methods to make computation with integers.
NumberTraits< Integer >::ParamType IntegerParamType
Aim: This class represents a pattern, i.e. the path between two consecutive upper leaning points on a...
Aim: Represents a digital straight line with slope in the first quadrant (Q0: x >= 0,...
StandardDSLQ0 & operator=(const StandardDSLQ0 &other)
StandardDSLQ0(Fraction aSlope, IntegerParamType aMu)
bool before(const Point &p1, const Point &p2) const
Point uppermostY(IntegerParamType x) const
Self DSSWithinTwoPatterns(Point U1, Point U2, const Point &A, const Point &B) const
StandardDSLQ0(IntegerParamType a1, IntegerParamType b1, IntegerParamType mu1)
Self reversedSmartDSS(const Point &A, const Point &B) const
IC::IntegerParamType IntegerParamType
Self smartDSS(const Point &A, const Point &B) const
Integer r(const Point &p) const
Fraction::Integer Integer
Fraction::Quotient Quotient
IntegerComputer< Integer > IC
IC ic
Used in some computations.
void selfDisplay(std::ostream &out) const
Point lowestY(IntegerParamType x) const
Pattern< Fraction > myPattern
the characteristic pattern of this DSL.
Integer myMu
the shift to origin.
static Fraction deepest(Fraction f1, Fraction f2)
ConstIterator begin(Point p) const
ConstIterator end(Point p) const
const Pattern< Fraction > & pattern() const
Self reversedSmartDSS(Point U1, Point U2, const Point &A, const Point &B) const
Point uppermostX(IntegerParamType y) const
Point lowestX(IntegerParamType y) const
static Fraction deepest(Fraction f1, Fraction f2, Fraction f3)
bool operator()(const Point &p) const
StandardDSLQ0(const StandardDSLQ0 &other)
const Integer & mu() const
bool beforeOrEqual(const Point &p1, const Point &p2) const
StandardDSLQ0< TFraction > Self
Fraction::UnsignedInteger UnsignedInteger
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
const StandardDSLQ0< TFraction > * myPtrDSL
bool operator==(const Self &other) const
ConstIterator(const Self &other)
ConstIterator(ConstAlias< StandardDSLQ0< TFraction > > myDSL, const Point &p)
Self & operator=(const Self &other)
reference operator*() const
bool operator!=(const Self &other) const
std::forward_iterator_tag iterator_category
std::ptrdiff_t difference_type
pointer operator->() const