DGtal 1.4.0
|
Aim: This class is an alias of ArithmeticalDSS for naive DSL. It represents a naive digital straight line (DSL), ie. the set of digital points \( (x,y) \in \mathbb{Z}^2 \) such that \( \mu \leq ax - by < \mu + \omega \) with \( a,b,\mu,\omega \in \mathbb{Z} \), \( \gcd(a,b) = 1 \) and \( \omega = \max(|a|,|b|) \). Note that any DSL such that \( \omega = \max(|a|,|b|) \) is simply 8-connected. More...
#include <DGtal/geometry/curves/ArithmeticalDSL.h>
Public Types | |
typedef ArithmeticalDSL< TCoordinate, TInteger, 8 > | Super |
typedef Super::Coordinate | Coordinate |
typedef Super::Integer | Integer |
Public Types inherited from DGtal::ArithmeticalDSL< TCoordinate, TCoordinate, 8 > | |
typedef TCoordinate | Coordinate |
typedef TCoordinate | Integer |
typedef ArithmeticalDSLKernel< Coordinate, adjacency >::Space | Space |
typedef Space::Point | Point |
typedef Space::Vector | Vector |
typedef std::pair< Vector, Vector > | Steps |
typedef Coordinate | Position |
typedef std::pair< unsigned char, unsigned char > | Octant |
typedef DGtal::ReverseIterator< ConstIterator > | ConstReverseIterator |
Public Member Functions | |
NaiveDSL (const Coordinate &aA, const Coordinate &aB, const Integer &aMu) | |
NaiveDSL (const NaiveDSL &aOther) | |
NaiveDSL & | operator= (const NaiveDSL &aOther) |
Public Member Functions inherited from DGtal::ArithmeticalDSL< TCoordinate, TCoordinate, 8 > | |
BOOST_CONCEPT_ASSERT ((concepts::CInteger< Coordinate >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CInteger< Integer >)) | |
ArithmeticalDSL (const Coordinate &aA, const Coordinate &aB, const Integer &aLowerIntercept, const Integer &aUpperIntercept, const Steps &aSteps, const Vector &aShift) | |
ArithmeticalDSL (const Coordinate &aA, const Coordinate &aB, const Integer &aMu) | |
ArithmeticalDSL (const ArithmeticalDSL &aOther) | |
ArithmeticalDSL & | operator= (const ArithmeticalDSL &aOther) |
ArithmeticalDSL | negate () const |
bool | equalsTo (const ArithmeticalDSL &aOther) const |
bool | operator== (const ArithmeticalDSL &aOther) const |
bool | operator!= (const ArithmeticalDSL &aOther) const |
bool | sameOctant (const ArithmeticalDSL &aOther, typename Octant::first_type *theOctant) const |
bool | isUpperLeaningPoint (const Point &aPoint) const |
bool | isLowerLeaningPoint (const Point &aPoint) const |
Octant | octant () const |
~ArithmeticalDSL () | |
void | selfDisplay (std::ostream &out) const |
bool | checkShiftAndSteps () const |
bool | isValid () const |
Coordinate | a () const |
Coordinate | b () const |
Integer | mu () const |
Integer | omega () const |
Position | patternLength () const |
Vector | shift () const |
Steps | steps () const |
Integer | remainder (const Point &aPoint) const |
Integer | orthogonalPosition (const Point &aPoint) const |
Position | position (const Point &aPoint) const |
Point | getPoint () const |
Point | getPoint (const Position &aPosition) const |
bool | before (const Point &aP1, const Point &aP2) const |
bool | beforeOrEqual (const Point &aP1, const Point &aP2) const |
bool | isInDSL (const Point &aPoint) const |
bool | operator() (const Point &aPoint) const |
ConstIterator | begin (const Point &aPoint) const |
ConstIterator | end (const Point &aPoint) const |
ConstReverseIterator | rbegin (const Point &aPoint) const |
ConstReverseIterator | rend (const Point &aPoint) const |
Additional Inherited Members | |
Static Public Member Functions inherited from DGtal::ArithmeticalDSL< TCoordinate, TCoordinate, 8 > | |
static Integer | remainder (const Coordinate &aA, const Coordinate &aB, const Point &aPoint) |
static Coordinate | toCoordinate (const Integer &aI) |
Static Public Attributes inherited from DGtal::ArithmeticalDSL< TCoordinate, TCoordinate, 8 > | |
static const unsigned short | foregroundAdjacency |
Protected Attributes inherited from DGtal::ArithmeticalDSL< TCoordinate, TCoordinate, 8 > | |
Steps | mySteps |
Vector | myShift |
Coordinate | myA |
Coordinate | myB |
Integer | myLowerBound |
Integer | myUpperBound |
Aim: This class is an alias of ArithmeticalDSS for naive DSL. It represents a naive digital straight line (DSL), ie. the set of digital points \( (x,y) \in \mathbb{Z}^2 \) such that \( \mu \leq ax - by < \mu + \omega \) with \( a,b,\mu,\omega \in \mathbb{Z} \), \( \gcd(a,b) = 1 \) and \( \omega = \max(|a|,|b|) \). Note that any DSL such that \( \omega = \max(|a|,|b|) \) is simply 8-connected.
[Reveilles, 1991 : [99]].
As a quick start, a naive DSL can be declared and constructed as follows:
Then, within a window defined by two points (called firstPoint and lastPoint below), you can iterate over the DSL points:
See Digital straight lines and segments for further details.
TCoordinate | a model of integer for the DGtal point coordinates and the slope parameters. |
TInteger | a model of integer for the intercepts and the remainders that represents a larger range of integers than TCoordinate. |
This class is a model of CPointFunctor and of CConstBidirectionalRange.
Definition at line 776 of file ArithmeticalDSL.h.
typedef Super::Coordinate DGtal::NaiveDSL< TCoordinate, TInteger >::Coordinate |
Definition at line 784 of file ArithmeticalDSL.h.
typedef Super::Integer DGtal::NaiveDSL< TCoordinate, TInteger >::Integer |
Definition at line 785 of file ArithmeticalDSL.h.
typedef ArithmeticalDSL<TCoordinate, TInteger, 8> DGtal::NaiveDSL< TCoordinate, TInteger >::Super |
Type of base class.
Definition at line 783 of file ArithmeticalDSL.h.
DGtal::NaiveDSL< TCoordinate, TInteger >::NaiveDSL | ( | const Coordinate & | aA, |
const Coordinate & | aB, | ||
const Integer & | aMu ) |
Constructor.
aA | y-component of the direction vector |
aB | x-component of the direction vector |
aMu | intercept |
DGtal::NaiveDSL< TCoordinate, TInteger >::NaiveDSL | ( | const NaiveDSL< TCoordinate, TInteger > & | aOther | ) |
Copy constructor.
aOther | the object to clone. |
NaiveDSL & DGtal::NaiveDSL< TCoordinate, TInteger >::operator= | ( | const NaiveDSL< TCoordinate, TInteger > & | aOther | ) |
Assignment.
aOther | the object to copy. |