[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

details NeighborOffsetCirculator< NEIGHBORCODE > Class Template Reference VIGRA

Circulator that walks around a given location. More...

#include <vigra/pixelneighborhood.hxx>

List of all members.

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.

    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


Member Typedef Documentation

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)


Constructor & Destructor Documentation

NeighborOffsetCirculator ( Direction  dir = NEIGHBORCODE::InitialDirection)

Create circulator referring to the given direction.


Member Function Documentation

NeighborOffsetCirculator& operator++ ( )

pre-increment

NeighborOffsetCirculator& operator-- ( )

pre-decrement

NeighborOffsetCirculator operator++ ( int  )

post-increment

NeighborOffsetCirculator operator-- ( int  )

post-decrement

add-assignment

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

reference diff ( ) const

Get offset from center to current neighbor.

static reference diff ( Direction  dir) [static]

Get offset to given direction.

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

int dX ( ) const

X-component of diff()

int dY ( ) const

Y-component of diff()

bool isDiagonal ( ) const

Check whether current direction is a diagonal one.

Direction direction ( ) const

Get current direction.

unsigned int directionBit ( ) const

Get current direction bit.

Direction opposite ( ) const

Get opposite of current direction.

unsigned int oppositeDirectionBit ( ) const

Get opposite bit of current direction.

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.9.0 (Tue Nov 6 2012)