[ 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>

Inherits NEIGHBORCODE.

Public Types

typedef int difference_type
 
typedef NEIGHBORCODE::Direction Direction
 
typedef value_type const & index_reference
 
typedef random_access_circulator_tag iterator_category
 
typedef value_type const * pointer
 
typedef value_type const & reference
 
typedef NEIGHBORCODE::difference_type value_type
 

Public Member Functions

reference diff () const
 
Direction direction () const
 
Direction direction (difference_type offset) const
 
unsigned int directionBit () const
 
int dX () const
 
int dY () const
 
bool isDiagonal () const
 
 NeighborOffsetCirculator (Direction dir=NEIGHBORCODE::InitialDirection)
 
bool operator!= (NeighborOffsetCirculator const &o) const
 
reference operator* () const
 
NeighborOffsetCirculator operator+ (difference_type d) const
 
NeighborOffsetCirculatoroperator++ ()
 
NeighborOffsetCirculator operator++ (int)
 
NeighborOffsetCirculatoroperator+= (difference_type d)
 
NeighborOffsetCirculator operator- (difference_type d) const
 
difference_type operator- (NeighborOffsetCirculator const &o) const
 
NeighborOffsetCirculatoroperator-- ()
 
NeighborOffsetCirculator operator-- (int)
 
NeighborOffsetCirculatoroperator-= (difference_type d)
 
pointer operator-> () const
 
bool operator== (NeighborOffsetCirculator const &o) const
 
index_reference operator[] (difference_type d) const
 
Direction opposite () const
 
unsigned int oppositeDirectionBit () const
 
value_type relativeDiff (difference_type offset) const
 
NeighborOffsetCirculatorturnLeft ()
 
NeighborOffsetCirculatorturnRight ()
 
NeighborOffsetCirculatorturnRound ()
 
NeighborOffsetCirculatorturnTo (Direction d)
 

Static Public Member Functions

static reference diff (Direction dir)
 

Detailed Description

template<class NEIGHBORCODE>
class vigra::NeighborOffsetCirculator< NEIGHBORCODE >

Circulator that walks around a given location.

The template parameter defines the kind of neighborhood used, e.g.

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

Member Typedef Documentation

◆ Direction

typedef NEIGHBORCODE::Direction Direction

return type of direction()

◆ value_type

typedef NEIGHBORCODE::difference_type value_type

the circulator's value type

◆ reference

typedef value_type const& reference

the circulator's reference type (return type of *circ)

◆ index_reference

typedef value_type const& index_reference

the circulator's index reference type (return type of circ[n])

◆ pointer

typedef value_type const* pointer

the circulator's pointer type (return type of operator->)

◆ difference_type

typedef int difference_type

the circulator's difference type (argument type of circ[diff])

◆ iterator_category

typedef random_access_circulator_tag iterator_category

the circulator tag (random access iterator)

Constructor & Destructor Documentation

◆ NeighborOffsetCirculator()

NeighborOffsetCirculator ( Direction  dir = NEIGHBORCODE::InitialDirection)

Create circulator referring to the given direction.

Member Function Documentation

◆ operator++() [1/2]

NeighborOffsetCirculator & operator++ ( )

pre-increment

◆ operator--() [1/2]

NeighborOffsetCirculator & operator-- ( )

pre-decrement

◆ operator++() [2/2]

NeighborOffsetCirculator operator++ ( int  )

post-increment

◆ operator--() [2/2]

NeighborOffsetCirculator operator-- ( int  )

post-decrement

◆ operator+=()

add-assignment

◆ operator-=()

subtract-assignment

◆ operator+()

NeighborOffsetCirculator operator+ ( difference_type  d) const

addition

◆ operator-() [1/2]

NeighborOffsetCirculator operator- ( difference_type  d) const

subtraction

◆ turnRight()

NeighborOffsetCirculator & turnRight ( )

Move to the direction that is 'right' relative to the current direction. This is equivalent to four_circulator– and eight_circulator -= 2 respectively.

◆ turnLeft()

NeighborOffsetCirculator & turnLeft ( )

Move to the direction that is 'left' relative to the current direction. This is equivalent to four_circulator++ and eight_circulator += 2 respectively.

◆ turnRound()

NeighborOffsetCirculator & turnRound ( )

Move to the opposite direction of the current direction. This is equivalent to four_circulator += 2 and eight_circulator += 4 respectively.

◆ turnTo()

Move to the given direction.

◆ operator==()

bool operator== ( NeighborOffsetCirculator< NEIGHBORCODE > const &  o) const

equality

◆ operator!=()

bool operator!= ( NeighborOffsetCirculator< NEIGHBORCODE > const &  o) const

inequality

◆ operator-() [2/2]

difference_type operator- ( NeighborOffsetCirculator< NEIGHBORCODE > const &  o) const

subtraction

◆ operator*()

reference operator* ( ) const

dereference

◆ operator[]()

index_reference operator[] ( difference_type  d) const

index

◆ operator->()

pointer operator-> ( ) const

member access

◆ diff() [1/2]

reference diff ( ) const

Get offset from center to current neighbor.

◆ diff() [2/2]

static reference diff ( Direction  dir)
static

Get offset to given direction.

◆ relativeDiff()

value_type relativeDiff ( difference_type  offset) const

Get relative distance from current neighbor to neighbor at given offset.

◆ dX()

int dX ( ) const

X-component of diff()

◆ dY()

int dY ( ) const

Y-component of diff()

◆ isDiagonal()

bool isDiagonal ( ) const

Check whether current direction is a diagonal one.

◆ direction() [1/2]

Direction direction ( ) const

Get current direction.

◆ directionBit()

unsigned int directionBit ( ) const

Get current direction bit.

◆ opposite()

Direction opposite ( ) const

Get opposite of current direction.

◆ oppositeDirectionBit()

unsigned int oppositeDirectionBit ( ) const

Get opposite bit of current direction.

◆ direction() [2/2]

Direction direction ( difference_type  offset) const

Get direction code at offset of current direction.


The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1