User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
BVertexC::BVertexC(void)
BVertexC::BVertexC(BVertexIndexT,BVertexIndexT)
BVertexC::BVertexC(const Index2dC &)
BVertexC::BVertexC(const Point2dC &)
BVertexC::BVertexC(const BVertexC &)
BVertexC::BVertex(void) const
BVertexC::BVertex(void)
Index2dC::Index2dC(SizeT)
Index2dC::operator=(const Index2dC &)
Index2dC::Set(const Index2dC &)
Index2dC::Set(IndexT,IndexT)
Index2dC::Step(const DirectionRLUDC &)
Index2dC::Step(DirectionRLUDT)
Index2dC::Step(CrackCodeT)
Index2dC::Swapped(void) const
Index2dC::Abs(void)
Index2dC::Row(void) const
Index2dC::Col(void) const
Index2dC::Row(void)
Index2dC::Col(void)
Index2dC::operator[](IndexT)
Index2dC::operator[](IndexT) const
Index2dC::operator==(const Index2dC &) const
Index2dC::operator!=(const Index2dC &) const
Index2dC::IsInside(const IndexRange2dC &) const
Index2dC::IsInside(const IndexRectangleC &) const
Index2dC::IsMoreUpperLeft(const Index2dC &) const
Index2dC::operator<(const Index2dC &) const
Index2dC::Right(void)
Index2dC::Left(void)
Index2dC::Up(void)
Index2dC::Down(void)
Index2dC::RightN(void) const
Index2dC::LeftN(void) const
Index2dC::UpN(void) const
Index2dC::DownN(void) const
Index2dC::LowerLeftN(void) const
Index2dC::LowerRightN(void) const
Index2dC::UpperLeftN(void) const
Index2dC::UpperRightN(void) const
Index2dC::Neighbour(const DirectionRLUDC &) const
Index2dC::IsRelNeighbour8(void) const
Index2dC::IsNeighbour8(const Index2dC &) const
Index2dC::Neighbour(const NeighbourOrderT) const
Index2dC::NeighbourOrder(void) const
Index2dC::NeighbourOrder(const Index2dC &) const
Index2dC::operator-(void) const
Index2dC::operator+=(const Index2dC &)
Index2dC::operator-=(const Index2dC &)
Index2dC::operator*=(const Index2dC &)
Index2dC::operator/=(const Index2dC &)
Index2dC::operator*=(const IntT)
Index2dC::operator*=(const RealT)
Index2dC::operator/=(const IntT)
Index2dC::operator/=(const RealT)
Index2dC::operator+(const Index2dC &) const
Index2dC::operator-(const Index2dC &) const
Index2dC::operator*(const Index2dC &) const
Index2dC::operator/(const Index2dC &) const
Index2dC::operator*(const IntT) const
Index2dC::operator*(const RealT) const
Index2dC::operator/(const IntT) const
Index2dC::operator/(const RealT) const
Index2dC::MaxValueDistance(const Index2dC &) const
Index2dC::CityBlockDistance(const Index2dC &) const
Index2dC::SqrEuclidDistance(const Index2dC &) const
Index2dC::EuclidDistance(const Index2dC &) const
Index2dC::SumSqr(void) const
Index2dC::Distance(const Index2dC &,GridMetricT) const
Index2dC::Hash(void) const
Index2dC::Dim(void) const
Index2dC::N(void) const
Index2dC::Area2(const Index2dC &,const Index2dC &) const
BVertexC
 
Boundary vertex
 
include "amma/BVertex.hh"
User Level:Default
Library:Mbnd
Example:exMat2d.cc
Section:Image.Image Processing.Edges
In Scope:std

Comments:
The relationship between pixel coordinates and boundary vertex is that the boundary vertex [i,j] is the up-left corner of the pixel (i,j). The figure contains the orientation of edges too.

        [i,j] <------------ [i,j+1]
        |                    /^\       
        |      (i,j)          |       
        V                     |       
       [i+1,j] ---------> [i+1, j+1]

Parent Classes: Derived Classes: Methods:
BVertexC()
Default constructor.

BVertexC(BVertexIndexT row,BVertexIndexT col)
Create the boundary vertex from two coordinates.

BVertexC(const Index2dC & px)
Create the upper-left vertex of the pixel 'px'.

BVertexC(const Point2dC & point)
Transform the point coordinates into the vertex.

BVertexC(const BVertexC & bv)
Copy constructor.

const BVertexC & BVertex() const
Access to the constant object

BVertexC & BVertex()
Access to the object

#include "amma/Index2d.hh"
explicit Index2dC(SizeT dim)
Creates an index
This is for compatibilty with N-D indexes, which need to be told there dimentionality.

const Index2dC & operator=(const Index2dC & i)
Sets this index to be equal to 'i'. Object modification -------------------

void Set(const Index2dC & index)
Sets this index to be equal to 'index'.

void Set(IndexT r,IndexT c)
Sets this index to be .

Index2dC & Step(const DirectionRLUDC & dir)
Translates the index into direction 'dir'.

Index2dC & Step(DirectionRLUDT dir)
Translates the index into direction 'dir'. Visual C++ 5.0 won't do an automatic cast from DirectionRLUDT to DirectionRLUDC.

Index2dC & Step(CrackCodeT dir)

Index2dC Swapped() const
Returns the 2-dimensional index with swapped value I() and J().

Index2dC & Abs()
Changes both indexes to their absolute values. Access to the member items ----------------------------

const IndexT & Row() const
Constant access to the row index

const IndexT & Col() const
Constant access to the column index

IndexT & Row()
Access to the row index

IndexT & Col()
Access to the column index

IndexT & operator[](IndexT i)
Access to a particular index. If i == 0, it returns the row index, if i == 1, it returns the column index.

IndexT operator[](IndexT i) const
Returns a particular index. If i == 0, it returns the row index, if i == 1, it returns the column index. Logical conditions ------------------

BooleanT operator==(const Index2dC & index) const
Returns TRUE if indexes have the same values.

BooleanT operator!=(const Index2dC & index) const
Returns TRUE if indexes have different values.

BooleanT IsInside(const IndexRange2dC & range) const
Returns TRUE, if this index is in the 'range'.

BooleanT IsInside(const IndexRectangleC & range) const
Returns TRUE, if this index is in the 'range'.

BooleanT IsMoreUpperLeft(const Index2dC & i) const
Returns TRUE, if Row() < i.Row() or (Row() == i.Row() and Col() < i.Col()).

BooleanT operator<(const Index2dC & i) const
A nick name for the member function IsMoreUpperLeft(i). Operations on the neighbourhood -------------------------------

Index2dC & Right()
Shifts the index to the right.

Index2dC & Left()
Shifts the index to the left.

Index2dC & Up()
Shifts the index to the up.

Index2dC & Down()
Shifts the index to the down.

Index2dC RightN() const
Returns the index of the right neighbour.

Index2dC LeftN() const
Returns the index of the left neighbour.

Index2dC UpN() const
Returns the index of the upper neighbour.

Index2dC DownN() const
Returns the index of the down neighbour.

Index2dC LowerLeftN() const
Returns the coordinates of the downleft neighbouring pixel

Index2dC LowerRightN() const
Returns the coordinates of the downright neighbouring pixel

Index2dC UpperLeftN() const
Returns the coordinates of the upperleft neighbouring pixel

Index2dC UpperRightN() const
Returns the coordinates of the upperright neighbouring pixel

Index2dC Neighbour(const DirectionRLUDC & dir) const
Returns the index of the neighbour in the direction 'dir'.

BooleanT IsRelNeighbour8() const
Is '*this' a relative index from 8-neighbourhood?

BooleanT IsNeighbour8(const Index2dC & pxl) const
Is the 'pxl' a neighbouring index of '*this'?

Index2dC Neighbour(const NeighbourOrderT neighOrder) const
Returns the coordinates of the neighbouring index.

IndexT NeighbourOrder() const
Returns the order of the relative index.

IndexT NeighbourOrder(const Index2dC & ind) const
Returns the order of the neighbouring index 'ind'. Arithmetic operations ---------------------

Index2dC operator-() const
Returns opposite elements (unary minus operator).

const Index2dC & operator+=(const Index2dC & ind)
Adds the index 'ind' to this index.

const Index2dC & operator-=(const Index2dC & ind)
Subtracts the index 'ind' from this index.

const Index2dC & operator*=(const Index2dC & ind)
Multiplies this index by index 'ind' item by item.

const Index2dC & operator/=(const Index2dC & ind)
Divides this index by index 'ind' item by item.

const Index2dC & operator*=(const IntT alpha)
Multiplies this index by number 'alpha'.

const Index2dC & operator*=(const RealT alpha)
Multiplies this index by real number 'alpha'.

const Index2dC & operator/=(const IntT alpha)
Divides this index by number 'alpha'.

const Index2dC & operator/=(const RealT alpha)
Divides this index by real number 'alpha'.

Index2dC operator+(const Index2dC & ind) const
Adds this index and 'ind'.

Index2dC operator-(const Index2dC & ind) const
Subtracts index 'ind' from this index.

Index2dC operator*(const Index2dC & ind) const
Returns this index multiplied by index 'ind' item by item.

Index2dC operator/(const Index2dC & ind) const
Returns this index divided by index 'ind' item by item.

Index2dC operator*(const IntT alpha) const
Multiplies this index by number 'alpha'.

Index2dC operator*(const RealT alpha) const
Multiplies this index by real number 'alpha'.

Index2dC operator/(const IntT alpha) const
Divides this index by number 'alpha'.

Index2dC operator/(const RealT alpha) const
Divides this index by real number 'alpha'. Distance calculations ---------------------

GridDistanceT MaxValueDistance(const Index2dC & i) const
Returns the distance of two indexes in maximum value metric.

GridDistanceT CityBlockDistance(const Index2dC & i) const
Returns the distance of two indexes in absolute value metric.

GridDistanceT SqrEuclidDistance(const Index2dC & i) const
Returns the distance of two indexes in square Euclid metric.

RealT EuclidDistance(const Index2dC & i) const
Returns the distance of two indexes in Euclid metric.

GridDistanceT SumSqr() const
Returns the sum of coordinate squares.

GridDistanceT Distance(const Index2dC & i,GridMetricT m) const
Returns the distance of two indexes in the specified metric 'm'. Special member functions ------------------------

UIntT Hash(void) const
Generates a randomised hash value for this index.

SizeT Dim(void) const
Returns a number of dimensions indexed.

SizeT N() const
Returns the number of coordinates of this point.

AreaT Area2(const Index2dC & second,const Index2dC & third) const
Returns twice the signed area of the triangle determined by this, the second, and the third points. Positive if 'this', 'second', 'third' are oriented counter-clockwise, and negative if clockwise. Ref.: - O'Rourke,J.: Computatinal geometry in C; Cambridge University Press, 1994, pp. 19-20


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001