Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Core - Indexing - Index3dC
 

  PUBLIC
Index3dC::Index3dC(SizeT)
Index3dC::Index3dC(IndexC,IndexC,IndexC)
Index3dC::Index3dC(RealT,RealT,RealT)
Index3dC::Index3dC(const Index3dC &)
Index3dC::Set(IndexC,IndexC,IndexC)
Index3dC::Set(const Index3dC &)
Index3dC::I(void) const
Index3dC::J(void) const
Index3dC::K(void) const
Index3dC::I(void)
Index3dC::J(void)
Index3dC::K(void)
Index3dC::Right(void)
Index3dC::Left(void)
Index3dC::Up(void)
Index3dC::Down(void)
Index3dC::RightN(void) const
Index3dC::LeftN(void) const
Index3dC::UpN(void) const
Index3dC::DownN(void) const
FIndexC::Hash(void) const
FIndexC::operator *=(IntT)
FIndexC::operator *=(RealT)
FIndexC::operator /=(IntT)
FIndexC::operator /=(RealT)
FIndexC::operator *(IntT) const
FIndexC::operator *(RealT) const
FIndexC::operator /(IntT) const
FIndexC::operator /(RealT) const
TFVectorC::Size(void) const
TFVectorC::Contains(UIntT) const
TFVectorC::operator [](UIntT)
TFVectorC::operator [](UIntT) const
TFVectorC::operator ==(const TFVectorC &) const
TFVectorC::operator !=(const TFVectorC &) const
TFVectorC::Fill(const DataT &)
TFVectorC::Abs(void) const
TFVectorC::operator +=(const TFVectorC &)
TFVectorC::operator -=(const TFVectorC &)
TFVectorC::operator *=(const TFVectorC &)
TFVectorC::operator /=(const TFVectorC &)
TFVectorC::operator +(const TFVectorC &) const
TFVectorC::operator -(const TFVectorC &) const
TFVectorC::operator *(const TFVectorC &) const
TFVectorC::operator /(const TFVectorC &) const
TFVectorC::operator -(void) const
TFVectorC::operator *=(const DataT &)
TFVectorC::operator /=(const DataT &)
TFVectorC::operator *(const DataT &) const
TFVectorC::operator /(const DataT &) const
TFVectorC::Dot(const TFVectorC &) const
TFVectorC::OuterProduct(const TFVectorC &,TFMatrixC &) const
TFVectorC::OuterProduct(TFMatrixC &) const
TFVectorC::Limit(const DataT &,const DataT &)
TFVectorC::MaxValueDistance(const TFVectorC &) const
TFVectorC::CityBlockDistance(const TFVectorC &) const
TFVectorC::SqrEuclidDistance(const TFVectorC &) const
TFVectorC::Sum(void) const
TFVectorC::SumSqr(void) const
TFVectorC::T(void) const
TFVectorC::operator >>(istream &,TFVectorC &)
TFVectorC::operator <<(ostream &,const TFVectorC &)
TFVectorC::operator >>(BinIStreamC &,TFVectorC &)
TFVectorC::operator <<(BinOStreamC &,const TFVectorC &)

   Index3dC   
 
Index of a 3-D array
 
include "Ravl/Index3d.hh"
Created:2/8/1994 
Source file:Ravl/Core/Base/Index3d.hh
User Level:Normal
Library:RavlCore
In Scope:RavlN

Comments:
The class Index3dC is a triple of integer values. It is usually used as a three dimensional index of three dimensional arrays.

SMALL OBJECT.

Parent Classes: Methods:
explicit Index3dC(SizeT dim)
Creates an index
This is for compatibilty with N-D indexes, which need to be told there dimentionality.

Index3dC(IndexC i = 0,IndexC j = 0,IndexC k = 0)
Creates index .

Index3dC(RealT ir,RealT jr,RealT kr)
Creates index where i,j,k are cut value of ir, jr, kr respectivily.

Index3dC(const Index3dC & index)
Copy constructor.

void Set(IndexC i,IndexC j,IndexC k)
Sets this index to be .

void Set(const Index3dC & index)
Sets this index to be equal to 'index'. Access to the member items --------------------------

IndexC I() const
Returns the first index.

IndexC J() const
Returns the second index.

IndexC K() const
Returns the third index.

IndexC & I()
Access to the first index.

IndexC & J()
Access to the second index.

IndexC & K()
Access to the third index. Access to the neighbouring 3D indexes -------------------------------------

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

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

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

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

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

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

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

Index3dC DownN() const
Returns the index of the down neighbour. Special member functions ------------------------

#include "Ravl/FIndex.hh"
UIntT Hash(void) const
Generates a randomised hash value for this index.

Arithmetic operations

const FIndexC<3> & operator *=(IntT alpha)
Multiplies this index by number 'alpha'.

const FIndexC<3> & operator *=(RealT alpha)
Multiplies this index by real number 'alpha'.

const FIndexC<3> & operator /=(IntT alpha)
Divides this index by number 'alpha'.

const FIndexC<3> & operator /=(RealT alpha)
Divides this index by real number 'alpha'.

FIndexC<3> operator *(IntT alpha) const
Multiplies this index by number 'alpha'.

FIndexC<3> operator *(RealT alpha) const
Multiplies this index by real number 'alpha'.

FIndexC<3> operator /(IntT alpha) const
Divides this index by number 'alpha'.

FIndexC<3> operator /(RealT alpha) const
Divides this index by real number 'alpha'.

#include "Ravl/TFVector.hh"
UIntT Size() const
Get size of array
Used by some templates.

bool Contains(UIntT i) const
Test if array contains index i·

IndexC & operator [](UIntT ind)
Access item.

const IndexC & operator [](UIntT ind) const
Access item.

bool operator ==(const TFVectorC<IndexC,3> & ind) const
is equal

bool operator !=(const TFVectorC<IndexC,3> & ind) const
is not equal

void Fill(const IndexC & dat)
Fill array with value 'dat'.

TFVectorC<IndexC,3> Abs() const
Get an vector with Abs(x) run on all it values.

const TFVectorC<IndexC,3> & operator +=(const TFVectorC<IndexC,3> & ind)
Add an array to this one, inplace.

const TFVectorC<IndexC,3> & operator -=(const TFVectorC<IndexC,3> & ind)
Returns this index multiplied by index 'ind' item by item.

const TFVectorC<IndexC,3> & operator *=(const TFVectorC<IndexC,3> & ind)
Multiplies this index by index 'ind' item by item.

const TFVectorC<IndexC,3> & operator /=(const TFVectorC<IndexC,3> & ind)
Divides this index by index 'ind' item by item.

TFVectorC<IndexC,3> operator +(const TFVectorC<IndexC,3> & ind) const
Adds this index and 'ind'.

TFVectorC<IndexC,3> operator -(const TFVectorC<IndexC,3> & ind) const
Subtracts index 'ind' from this index.

TFVectorC<IndexC,3> operator *(const TFVectorC<IndexC,3> & ind) const
Returns this object multiplied by index 'ind' item by item.

TFVectorC<IndexC,3> operator /(const TFVectorC<IndexC,3> & ind) const
Returns this object devided by index 'ind' item by item.

TFVectorC<IndexC,3> operator -() const
Returns opposite elements (unary minus operator).

const TFVectorC<IndexC,3> & operator *=(const IndexC & alpha)
Multiplies this index by number 'alpha'.

const TFVectorC<IndexC,3> & operator /=(const IndexC & alpha)
Divides this index by number 'alpha'.

TFVectorC<IndexC,3> operator *(const IndexC & alpha) const
Returns this object mutliplied by alpha.

TFVectorC<IndexC,3> operator /(const IndexC & alpha) const
Returns this object devided by alpha.

IndexC Dot(const TFVectorC<IndexC,3> & oth) const
Calculate the dot product of this and 'oth' vector.

TFMatrixC<IndexC,3,3> & OuterProduct(const TFVectorC<IndexC,3> & av,TFMatrixC<IndexC,3,3> & result) const
Calculate the outer product of this vector with av.
The output is assigned to 'result'. A reference to 'result' is returned.

The implementation is in "Ravl/FMatrix.hh", it must be included to use this function.


TFMatrixC<IndexC,3,3> & OuterProduct(TFMatrixC<IndexC,3,3> & result) const
Calculate the outer product of this vector with itsself.
The output is assigned to 'result'. A reference to 'result' is returned.

The implementation is in "Ravl/FMatrix.hh", it must be included to use this function.


bool Limit(const IndexC & min,const IndexC & max)
Limit all values in this vector to between min and max.
Returns true if all values in the vector are between the limits. Distance calculations ---------------------

IndexC MaxValueDistance(const TFVectorC<IndexC,3> & i) const
Returns the distance of two indexes in maximum value metric.

IndexC CityBlockDistance(const TFVectorC<IndexC,3> & i) const
Returns the distance of two indexes in absolute value metric.

IndexC SqrEuclidDistance(const TFVectorC<IndexC,3> & i) const
Returns the distance of two indexes in square Euclid metric.

IndexC Sum() const
Calculate the sum of all the vector elements.

IndexC SumSqr() const
Calculate the sum of the squares of all the vector elements.

const TFMatrixC<IndexC,1,3> & T() const
Transpose vector.
The implementation for this can be found in "Ravl/TFMatrix.hh"

istream & operator >>(istream & in,TFVectorC<IndexC,3> & dat)

ostream & operator <<(ostream & in,const TFVectorC<IndexC,3> & dat)

BinIStreamC & operator >>(BinIStreamC & in,TFVectorC<IndexC,3> & dat)

BinOStreamC & operator <<(BinOStreamC & in,const TFVectorC<IndexC,3> & dat)


Maintainer:Radek Marik, Created: 2/8/1994, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002