User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - Core - Arrays - 3D - SArray3dC<class DataT>
 

  PUBLIC
SArray3dC::SArray3dC(void)
SArray3dC::SArray3dC(SizeT,SizeT,SizeT)
SArray3dC::SArray3dC(const BufferC &,SizeT,SizeT,SizeT,SizeT)
SArray3dC::Copy(void) const
SArray3dC::Buffer(void)
SArray3dC::Buffer(void) const
SArray3dC::operator +(const SArray3dC &) const
SArray3dC::operator -(const SArray3dC &) const
SArray3dC::operator *(const SArray3dC &) const
SArray3dC::operator /(const SArray3dC &) const
SArray3dC::operator *(const DataT &) const
SArray3dC::operator /(const DataT &) const
SArray3dC::operator +(const DataT &) const
SArray3dC::operator -(const DataT &) const
SArray3dC::operator +=(const SArray3dC &)
SArray3dC::operator -=(const SArray3dC &)
SArray3dC::operator *=(const SArray3dC &)
SArray3dC::operator /=(const SArray3dC &)
SArray3dC::operator +=(const DataT &)
SArray3dC::operator -=(const DataT &)
SArray3dC::operator *=(const DataT &)
SArray3dC::operator /=(const DataT &)
SArray3dC::Diagonal(void)
SArray3dC::SliceRow(IndexC)
SArray3dC::SliceColumn(IndexC)
SArray3dC::SetColumn(IndexC,const SArray1dC &)
SArray3dC::SetRow(IndexC,const SArray1dC &)
SizeBufferAccess3dC::Contains(const Index3dC &) const
SizeBufferAccess3dC::operator [](const Index3dC &)
SizeBufferAccess3dC::operator [](const Index3dC &) const
SizeBufferAccess3dC::operator [](IndexC)
SizeBufferAccess3dC::operator [](IndexC) const
SizeBufferAccess3dC::Size1(void) const
SizeBufferAccess3dC::Size2(void) const
SizeBufferAccess3dC::Size3(void) const
SizeBufferAccess3dC::Size(void) const
SizeBufferAccess3dC::Fill(const DataT &)
SizeBufferAccessC::operator =(DataT *)
SizeBufferAccessC::DataStart(void) const
SizeBufferAccessC::Size(void) const
SizeBufferAccessC::Limits(void) const
SizeBufferAccessC::Range(void) const
SizeBufferAccessC::IMin(void) const
SizeBufferAccessC::IMax(void) const
SizeBufferAccessC::operator [](const IndexC) const
SizeBufferAccessC::operator [](const IndexC)
SizeBufferAccessC::SAccess(void) const
SizeBufferAccessC::IsEmpty(void) const
SizeBufferAccessC::Contains(IndexC) const
SizeBufferAccessC::ShrinkHigh(SizeT)
SizeBufferAccessC::Swap(SizeBufferAccessC &)
SizeBufferAccessC::Attach(const SizeBufferAccessC &)
SizeBufferAccessC::Attach(const BufferAccessC &,SizeT)
SizeBufferAccessC::operator +(SizeT) const
SizeBufferAccessC::Fill(const DataT &)
SizeBufferAccessC::CopyFrom(const SizeBufferAccessC &)
SizeBufferAccessC::Reverse(void)
SizeBufferAccessC::BufferFrom(UIntT)
SizeBufferAccessC::BufferFrom(UIntT,UIntT)
SizeBufferAccessC::operator ==(const SizeBufferAccessC &) const
BufferAccessC::ReferenceElm(void) const
BufferAccessC::ReferenceVoid(void) const
BufferAccessC::IsValid(void) const
BufferAccessC::operator [](const IndexC) const
BufferAccessC::operator [](const IndexC)
BufferAccessC::operator +=(IndexC)
BufferAccessC::operator -=(IndexC)
BufferAccessC::operator -(IndexC) const
BufferAccessC::operator +(IndexC) const
BufferAccessC::operator ==(const BufferAccessC &) const
BufferAccessC::operator !=(const BufferAccessC &) const

   SArray3dC<class DataT>   
 
Simple 3 dimentional array.
 
include "Ravl/SArray3d.hh"
Created:10/09/1998 
User Level:Advanced
Library:RavlCore
In Scope:RavlN

Parent Classes: Typedefs:
typedef DataT ElementT;
Allow function templates to find type of array.

typedef SArray3dIterC<DataT> IteratorT;
Type of iterator.

Variables:
Methods:
SArray3dC()
Default constructor.

SArray3dC(SizeT dim1,SizeT dim2,SizeT dim3)
Constructor.

SArray3dC(const BufferC<DataT> & bf,SizeT size1,SizeT size2,SizeT startOffset = 0,SizeT stride = 0)
Constructor using the buffer 'bf'.
This can be used, for example to view a 1d array, as a 3d array. startOffset is the location in the buffer to use as 0,0. If stride is set to zero, size2 is used.

NOT IMPLEMENTED, Will be on request.


SArray3dC<DataT> Copy() const
Copy array.

Special operations
Buffer3dC<DataT> & Buffer()
Access base data buffer.
Experts only!

const Buffer3dC<DataT> & Buffer() const
Constant access base data buffer.
Experts only!

SArray3dC<DataT> operator +(const SArray3dC<DataT> & arr) const
Sums 2 numerical arrays. The operator returns the result as a new array.

SArray3dC<DataT> operator -(const SArray3dC<DataT> & arr) const
Subtracts 2 numerical arrays. The operator returns the result as a new array.

SArray3dC<DataT> operator *(const SArray3dC<DataT> & arr) const
Mutliplies 2 numerical arrays. The operator returns the result as a new array.

SArray3dC<DataT> operator /(const SArray3dC<DataT> & arr) const
Devides 2 numerical arrays. The operator returns the result as a new array.

SArray3dC<DataT> operator *(const DataT & number) const
Multiplys the array by the 'number'. The operator returns the result as a new array.

SArray3dC<DataT> operator /(const DataT & number) const
Divides all array items by the 'number'. The operator returns the result as a new array.

SArray3dC<DataT> operator +(const DataT & number) const
Adds 'number' to the array. The operator returns the result as a new array.

SArray3dC<DataT> operator -(const DataT & number) const
Subtracts 'number' from all array items. The operator returns the result as a new array.

const SArray3dC<DataT> & operator +=(const SArray3dC<DataT> & arr)
Adds the 2nd array to this array.

const SArray3dC<DataT> & operator -=(const SArray3dC<DataT> & arr)
Subtracts the 2nd array from this array.

const SArray3dC<DataT> & operator *=(const SArray3dC<DataT> & arr)
Multiplies the 2nd array to this array.

const SArray3dC<DataT> & operator /=(const SArray3dC<DataT> & arr)
Divides the 2nd array from this array.

const SArray3dC<DataT> & operator +=(const DataT & number)
Adds 'number' to all array items.

const SArray3dC<DataT> & operator -=(const DataT & number)
Subtracts 'number' from all array items.

const SArray3dC<DataT> & operator *=(const DataT & number)
Multiplies the array by the 'number'.

const SArray3dC<DataT> & operator /=(const DataT & number)
Divides the array elements by the 'number'.

Slice1dC<DataT> Diagonal()
Take a slice along the diagonal of the array.

NOT IMPLEMENTED, Will be on request.


SArray1dC<DataT> SliceRow(IndexC i)
Access row as 1d array.
NB. Changes made to the slice will also affect this array!

NOT IMPLEMENTED, Will be on request.


Slice1dC<DataT> SliceColumn(IndexC i)
Access columb as 1d slice.
NB. Changes made to the slice will also affect this array!

NOT IMPLEMENTED, Will be on request.


void SetColumn(IndexC i,const SArray1dC<DataT> & val)
Set the values in the column i to those in 'val'.
'val' must have a size equal to the number of rows.

NOT IMPLEMENTED, Will be on request.


void SetRow(IndexC i,const SArray1dC<DataT> & val)
Set the values in the row i to those in 'val'.
'val' must have a size equal to the number of columns

NOT IMPLEMENTED, Will be on request.


#include "Ravl/SBfAcc3d.hh"
bool Contains(const Index3dC & i) const
Returns true if there is an item of the 3D array

DataT & operator [](const Index3dC & i)
access to the item array[(i)]

const DataT & operator [](const Index3dC & i) const
return the item array[(i)]

SizeBufferAccess2dC<DataT> operator [](IndexC i)
access to the item array[(i)]

const SizeBufferAccess2dC<DataT> operator [](IndexC i) const
return the item array[(i)]

SizeT Size1() const
Get size of dimension 1

SizeT Size2() const
Get size of dimension 2

SizeT Size3() const
Get size of dimension 3

UIntT Size() const
Get the total number of elements in the array.

void Fill(const DataT & d)
Fill array with value.

#include "Ravl/SBfAcc.hh"
const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & operator =(BufferAccessC<BufferAccessC<DataT>> * bp)
Changes the reference element to the element pointed by 'bp'. Access to the object --------------------

BufferAccessC<BufferAccessC<DataT>> * DataStart() const
Returns the address of the first element of the buffer.

SizeT Size() const
Returns the number of elements of the array.

IndexRangeC Limits() const
Returns the usable range of indeces expressed by this object.

IndexRangeC Range() const
Returns the usable range of indeces expressed by this object.

IndexC IMin() const
Returns the minimum index of the range of this access.

IndexC IMax() const
Returns the maximum index of the range of this access.

const BufferAccessC<BufferAccessC<DataT>> & operator [](const IndexC i) const
Read-only access to the ('i'+1)-th element of the buffer.

BufferAccessC<BufferAccessC<DataT>> & operator [](const IndexC i)
Read-write access to the ('i'+1)-th element of the buffer.

const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & SAccess(void) const
Returns this object. Logical functions -----------------

bool IsEmpty() const
Returns TRUE if the size of the array is zero.

bool Contains(IndexC i) const
Returns TRUE if the array contains an item with the index 'i'. Modifications of the access ---------------------------

SizeT ShrinkHigh(SizeT k)
Changes the number of elements by subtracting the last 'k' elements.

const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & Swap(SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & a)
Exchanges the contents of this buffer with buffer 'a'.

void Attach(const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & b)
Changes this buffer access to have the same access rights as 'b'.

void Attach(const BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & b,SizeT size)
Changes this buffer access to have the access rights as 'b' limited for 'size' elements.

SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> operator +(SizeT i) const
Creates the new access object shifted 'i' elements to the right (towards next elements). The size is descreased to fit the the original range of this access. Modifications of the buffer contents ------------------------------------

void Fill(const BufferAccessC<BufferAccessC<DataT>> & d)
'd' value is assigned to all elements of the buffer.

void CopyFrom(const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & oth)
Copy contents of another buffer into this one.
NB. Buffers MUST be the same length.

void Reverse()
Reverse the order of elements in this array in place.

SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> BufferFrom(UIntT first)
Get an access for this buffer starting from the 'first' element to the end of the buffer.

SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> BufferFrom(UIntT first,UIntT len)
Get an access for this buffer starting from the 'first' element for 'len' elements.
An error will be generated if the requested buffer isn't contains within this one.

bool operator ==(const SizeBufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & ba) const
Are two accesses the same ?

#include "Ravl/BufferAccess.hh"
BufferAccessC<BufferAccessC<DataT>> * ReferenceElm() const
Returns the pointer to the reference element of the attached buffer. The reference element need not to be the valid element of the buffer.

void * ReferenceVoid() const
Returns the pointer to the reference element of the attached buffer. The reference element need not to be the valid element of the buffer. The function is intended to be used in printing.

bool IsValid() const
Returns TRUE if this buffer access is not a default access object.

const BufferAccessC<BufferAccessC<DataT>> & operator [](const IndexC i) const
Read-only access to the ('i'+1)-th element of the buffer.

BufferAccessC<BufferAccessC<DataT>> & operator [](const IndexC i)
Read-write access to the ('i'+1)-th element of the buffer.

const BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & operator +=(IndexC ind)
Inplace Add index to start position.

const BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & operator -=(IndexC ind)
Inplace Subtract index from start position.

BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> operator -(IndexC ind) const
Substract value from position, and return it as a new value.

BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> operator +(IndexC ind) const
Substract value from position, and return it as a new value.

bool operator ==(const BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & ba) const
Are two accesses the same ?

bool operator !=(const BufferAccessC<BufferAccessC<BufferAccessC<DataT>>> & ba) const
Are two accesses the same ?


Maintainer:Charles Galambos, Created: 10/09/1998, Documentation by CxxDoc: Tue Aug 13 09:59:02 2002