[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Diff2D Class Reference |
Two dimensional difference vector. More...
#include <vigra/diff2d.hxx>
Public Types | |
typedef IteratorAdaptor < Diff2DConstColumnIteratorPolicy < Diff2D > > | column_iterator |
typedef Diff2D | difference_type |
typedef Diff2D | index_reference |
typedef image_traverser_tag | iterator_category |
typedef int | MoveX |
typedef int | MoveY |
typedef Diff2D | PixelType |
typedef Diff2D const * | pointer |
typedef Diff2D const & | reference |
typedef IteratorAdaptor < Diff2DConstRowIteratorPolicy < Diff2D > > | row_iterator |
typedef Diff2D | value_type |
Public Member Functions | |
column_iterator | columnIterator () const |
Diff2D () | |
Diff2D (int ax, int ay) | |
Diff2D (Diff2D const &v) | |
double | magnitude () const |
bool | operator!= (Diff2D const &r) const |
index_reference | operator() (int const &dx, int const &dy) const |
Diff2D | operator* (int factor) const |
Diff2D | operator* (double factor) const |
reference | operator* () const |
Diff2D & | operator*= (int factor) |
Diff2D & | operator*= (double factor) |
Diff2D & | operator+= (Diff2D const &offset) |
Diff2D | operator- () const |
Diff2D & | operator-= (Diff2D const &offset) |
pointer | operator-> () const |
Diff2D | operator/ (int factor) const |
Diff2D | operator/ (double factor) const |
Diff2D & | operator/= (int factor) |
Diff2D & | operator/= (double factor) |
Diff2D & | operator= (Diff2D const &v) |
bool | operator== (Diff2D const &r) const |
index_reference | operator[] (Diff2D const &offset) const |
int | operator[] (int index) const |
row_iterator | rowIterator () const |
int | squaredMagnitude () const |
Public Attributes | |
int | x |
int | y |
Two dimensional difference vector.
This class acts primarily as a difference vector for specifying pixel coordinates and region sizes. In addition, Diff2D fulfills the requirements of an ImageIterator, so that it can be used to simulate an image whose pixels' values equal their coordinates. This secondary usage is explained on page CoordinateIterator.
Standard usage as a difference vector is mainly needed in the context of images. For example, Diff2D may be used as an index for operator[]
:
This is especially important in connection with accessors, where the offset variant of operator()
takes only one offset object:
Diff2D is also returned by image.size()
, so that we can create new images by calculating their size using Diff2D's arithmetic functions:
#include <vigra/diff2d.hxx>
Namespace: vigra
typedef Diff2D value_type |
The iterator's value type: a coordinate.
typedef Diff2D index_reference |
the iterator's index reference type (return type of iter[diff]
)
typedef Diff2D difference_type |
the iterator's difference type (argument type of iter[diff]
)
typedef image_traverser_tag iterator_category |
the iterator tag (image traverser)
typedef IteratorAdaptor<Diff2DConstRowIteratorPolicy<Diff2D> > row_iterator |
The associated row iterator.
typedef IteratorAdaptor<Diff2DConstColumnIteratorPolicy<Diff2D> > column_iterator |
The associated column iterator.
typedef int MoveX |
type of the iterator's x-navigator
typedef int MoveY |
type of the iterator's y-navigator
Diff2D | ( | ) |
Default Constructor. Init iterator at position (0,0)
Diff2D | ( | int | ax, |
int | ay | ||
) |
Construct at given position.
Diff2D operator- | ( | ) | const |
Unary negation.
Diff2D& operator*= | ( | int | factor | ) |
Create vector by scaling by factor.
Diff2D& operator*= | ( | double | factor | ) |
Create vector by scaling by factor.
Diff2D& operator/= | ( | int | factor | ) |
Create vector by scaling by 1/factor.
Diff2D& operator/= | ( | double | factor | ) |
Create vector by scaling by 1/factor.
Diff2D operator* | ( | int | factor | ) | const |
Create vector by scaling by factor.
Diff2D operator* | ( | double | factor | ) | const |
Create vector by scaling by factor.
Diff2D operator/ | ( | int | factor | ) | const |
Create vector by scaling by 1/factor.
Diff2D operator/ | ( | double | factor | ) | const |
Create vector by scaling by 1/factor.
int squaredMagnitude | ( | ) | const |
Calculate length of difference vector.
double magnitude | ( | ) | const |
Calculate length of difference vector.
bool operator== | ( | Diff2D const & | r | ) | const |
Equality.
bool operator!= | ( | Diff2D const & | r | ) | const |
Inequality.
reference operator* | ( | ) | const |
Access current coordinate.
index_reference operator() | ( | int const & | dx, |
int const & | dy | ||
) | const |
Read coordinate at an offset.
index_reference operator[] | ( | Diff2D const & | offset | ) | const |
Read coordinate at an offset.
int operator[] | ( | int | index | ) | const |
Read vector components.
pointer operator-> | ( | ) | const |
Access current coordinate.
row_iterator rowIterator | ( | ) | const |
Get a row iterator at the current position.
column_iterator columnIterator | ( | ) | const |
Get a column iterator at the current position.
int x |
int y |
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|