[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
![]() |
NeighborOffsetCirculator< NEIGHBORCODE > Class Template Reference | ![]() |
Circulator that walks around a given location. More...
#include <vigra/pixelneighborhood.hxx>
Circulator that walks around a given location.
The template parameter defines the kind of neighborhood used, e.g.
NeighborOffsetCirculator<EightNeighborCode> eight_circulator; NeighborOffsetCirculator<FourNeighborCode> four_circulator;
Since this circulator doesn't know about the pixels in any particular image, you usually don't use it directly but rather as a base class or helper for neighborhood circulators referring to a particular image (e.g. NeighborhoodCirculator)
#include <vigra/pixelneighborhood.hxx>
Namespace: vigra
typedef NEIGHBORCODE::Direction Direction |
return type of direction()
typedef NEIGHBORCODE::difference_type value_type |
the circulator's value type
typedef value_type const& reference |
the circulator's reference type (return type of *circ
)
typedef value_type const& index_reference |
the circulator's index reference type (return type of circ[n]
)
typedef value_type const* pointer |
the circulator's pointer type (return type of operator->
)
typedef int difference_type |
the circulator's difference type (argument type of circ[diff]
)
typedef random_access_circulator_tag iterator_category |
the circulator tag (random access iterator)
NeighborOffsetCirculator | ( | Direction | dir = NEIGHBORCODE::InitialDirection | ) |
Create circulator referring to the given direction.
NeighborOffsetCirculator& operator++ | ( | ) |
pre-increment
NeighborOffsetCirculator& operator-- | ( | ) |
pre-decrement
NeighborOffsetCirculator operator++ | ( | int | ) |
post-increment
NeighborOffsetCirculator operator-- | ( | int | ) |
post-decrement
NeighborOffsetCirculator& operator+= | ( | difference_type | d | ) |
add-assignment
NeighborOffsetCirculator& operator-= | ( | difference_type | d | ) |
subtract-assignment
NeighborOffsetCirculator operator+ | ( | difference_type | d | ) | const |
addition
NeighborOffsetCirculator operator- | ( | difference_type | d | ) | const |
subtraction
Move to the direction that is 'right' relative to the current direction. This is equivalent to four_circulator--
and eight_circulator -= 2
respectively.
Move to the direction that is 'left' relative to the current direction. This is equivalent to four_circulator++
and eight_circulator += 2
respectively.
Move to the opposite direction of the current direction. This is equivalent to four_circulator += 2
and eight_circulator += 4
respectively.
Move to the given direction.
bool operator== | ( | NeighborOffsetCirculator< NEIGHBORCODE > const & | o | ) | const |
equality
bool operator!= | ( | NeighborOffsetCirculator< NEIGHBORCODE > const & | o | ) | const |
inequality
difference_type operator- | ( | NeighborOffsetCirculator< NEIGHBORCODE > const & | o | ) | const |
subtraction
reference operator* | ( | ) | const |
dereference
index_reference operator[] | ( | difference_type | d | ) | const |
index
pointer operator-> | ( | ) | const |
member access
value_type relativeDiff | ( | difference_type | offset | ) | const |
Get relative distance from current neighbor to neighbor at given offset.
bool isDiagonal | ( | ) | const |
Check whether current direction is a diagonal one.
unsigned int directionBit | ( | ) | const |
Get current direction bit.
unsigned int oppositeDirectionBit | ( | ) | const |
Get opposite bit of current direction.
Direction direction | ( | difference_type | offset | ) | const |
Get direction code at offset of current direction.
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|