|
Developer Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
Array3dC::Array3dC(const SizeT,const SizeT,const SizeT)
Array3dC::Array3dC(const Index3dC &)
Array3dC::Array3dC(const IndexRangeC &,const IndexRangeC &,const IndexRangeC &)
Array3dC::Fill(const DataC &)
Array3dC::Copy(void) const
Array3dC::Range3(void) const
Array3dC::operator[](const IndexT)
Array3dC::operator[](const IndexT) const
Array3dC::operator[](const Index2dC) const
Array3dC::operator[](const Index2dC)
Array3dC::operator[](const Index3dC &) const
Array3dC::operator[](const Index3dC &)
Array3dC::Contains(const IndexT,const IndexT,const IndexT) const
Array3dC::Contains(const Index3dC &) const
Array3dC::ConstructAccess(void)
Array2dC::Copy(void) const
Array2dC::operator[](const IndexT)
Array2dC::operator[](const IndexT) const
Array2dC::operator[](const Index2dC &)
Array2dC::operator[](const Index2dC &) const
Array2dC::Slice(const IndexT)
Array2dC::Range1(void) const
Array2dC::Range2(void) const
Array2dC::Array2d(void) const
Array2dC::Array2d(void)
Array2dC::Rectangle(void) const
Array2dC::ShiftIndexes1(const IndexT)
Array2dC::ShiftIndexes2(const IndexT)
Array2dC::Contains(const Index2dC &) const
Array2dC::Fill(const DataC &)
Array2dC::Size(void) const
Array2dC::ConstructAccess(void)
Array1dC::Copy(void) const
Array1dC::Copy(const Array1dC &)
Array1dC::Copy(const IndexRangeC &,const IndexT)
Array1dC::Copy(const IndexT,const Array1dC &)
Array1dC::operator=(const Array1dC &)
Array1dC::Array1d(void) const
Array1dC::Array1d(void)
Array1dC::SArray1d(void)
Array1dC::Enlarge(const IntT) const
Array1dC::Extend(const SizeT) const
Array1dC::Append(const Array1dC &)
Array1dC::IsSharing(const Array1dC &) const
Array1dC::DebugAddresses(void) const
Array1dC::RefCounter(void) const
RangeBufferAccessC::operator=(DataC *)
RangeBufferAccessC::ReferenceElm(void) const
RangeBufferAccessC::ReferenceVoid(void) const
RangeBufferAccessC::Access(void) const
RangeBufferAccessC::DataStart(void)
RangeBufferAccessC::DataStart(void) const
RangeBufferAccessC::N(void) const
RangeBufferAccessC::Size(void) const
RangeBufferAccessC::Limits(void) const
RangeBufferAccessC::Range(void) const
RangeBufferAccessC::IMin(void) const
RangeBufferAccessC::IMax(void) const
RangeBufferAccessC::operator[](const IndexT) const
RangeBufferAccessC::operator[](const IndexT)
RangeBufferAccessC::RAccess(void) const
RangeBufferAccessC::IsValid(void) const
RangeBufferAccessC::IsEmpty(void) const
RangeBufferAccessC::Contains(const IndexT) const
RangeBufferAccessC::IsOverlapping(const RangeBufferAccessC &) const
RangeBufferAccessC::operator+=(const SizeT)
RangeBufferAccessC::operator+(const SizeT) const
RangeBufferAccessC::ShrinkHigh(const SizeT)
RangeBufferAccessC::ShiftIndexes(const IndexT)
RangeBufferAccessC::SetSubRange(const IndexT,const IndexT)
RangeBufferAccessC::Swap(RangeBufferAccessC &)
RangeBufferAccessC::Swap(const IndexT,const IndexT)
RangeBufferAccessC::Attach(const RangeBufferAccessC &)
RangeBufferAccessC::Attach(const BufferAccessC &,const IndexRangeC &)
RangeBufferAccessC::Fill(const DataC &)
RangeBufferAccessC::Copy(void) const
|
Comments:
The class Array3dC is a general container with index access.
It is reference counted, eg. it behaves as a big object.
Parent Classes:
Variables:
- IndexRangeC range3;
-
The range of the third index.
- BufferRC data;
-
Raw data stored in array.
Methods:
- Array3dC(const SizeT dim1 = 0,const SizeT dim2 = 0,const SizeT dim3 = 0)
-
Creates a 3D array which value are set by default constructor of an item. The range of indexes is <(0,0,0); (dim1-1, dim2-1, dim3-1)>.
- Array3dC(const Index3dC & maxIndex)
-
Creates 3D array with range <(0,0,0); maxIndex>.
- Array3dC(const IndexRangeC & rng1,const IndexRangeC & rng2,const IndexRangeC & rng3)
-
Creates a 3D array which value are set by the default constructor of an item. The range of indexed is determined by ranges 'rng1', 'rng2', and 'rng3'.
- void Fill(const DataC & v)
-
Fill array with values.
- Array3dC<DataC> Copy() const
-
Creates a physical copy of this object.
Access to the information about the object.
-------------------------------------------
- const IndexRangeC & Range3() const
-
Returns the range of the third index.
- RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator[](const IndexT i)
-
access to the array[i]
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator[](const IndexT i) const
-
return array[i]
- const RangeBufferAccessC<DataC> & operator[](const Index2dC i) const
-
Access to an item of the constant object.
- RangeBufferAccessC<DataC> & operator[](const Index2dC i)
-
Access to an item of the object.
- const DataC & operator[](const Index3dC & i) const
-
Access to an item of the constant object.
- DataC & operator[](const Index3dC & i)
-
Access to an item of the object.
Logical operations on the object.
---------------------------------
- BooleanT Contains(const IndexT i1,const IndexT i2,const IndexT i3) const
-
Returns TRUE, if the triple (i1, i2, i3) addresses the item of the object.
- BooleanT Contains(const Index3dC & i) const
-
Returns TRUE, if the index 'i' addresses the item of the object.
- void ConstructAccess()
-
Construct access to array.
- Array2dC<RangeBufferAccessC<DataC>> Copy() const
-
Make a copy of the array.
Access to the stored data.
--------------------------
- RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator[](const IndexT i)
-
access to the array[i]
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator[](const IndexT i) const
-
return array[i]
- RangeBufferAccessC<DataC> & operator[](const Index2dC & i)
-
access to the item array[(i)]
- const RangeBufferAccessC<DataC> & operator[](const Index2dC & i) const
-
return the item array[(i)]
- Array1dC<RangeBufferAccessC<DataC>> Slice(const IndexT i)
-
Access row as 1d array.
- const IndexRangeC & Range1() const
-
return number of rows
- const IndexRangeC & Range2() const
-
return number of columns of the first row
- const Array2dC<RangeBufferAccessC<DataC>> & Array2d() const
-
access to the constant object
- Array2dC<RangeBufferAccessC<DataC>> & Array2d()
-
access to the object
- IndexRectangleC Rectangle() const
-
Return ranges of indexes
- void ShiftIndexes1(const IndexT offset)
-
All indexes of Range1() will be changed by 'offset'.
The range will be shifted by -offset.
- void ShiftIndexes2(const IndexT offset)
-
All indexes of Range2() will be changed by 'offset'.
The range will be shifted by -offset.
Logical conditions.
-------------------
- BooleanT Contains(const Index2dC & i) const
-
Returns TRUE if there is an item of the 2D array
- void Fill(const RangeBufferAccessC<DataC> & d)
-
Sets all elements of the array to be 'd'.
- SizeT Size() const
-
Return the number of elements in the 2D array.
- void ConstructAccess()
-
Construct access for buffer.
This assumes a suitable amount of space has been allocated
in 'data'
- Array1dC<RangeBufferAccessC<DataC>> Copy() const
-
Creates a new physical copy of the array.
- Array1dC<RangeBufferAccessC<DataC>> & Copy(const Array1dC<RangeBufferAccessC<DataC>> & orig)
-
Copies values from the 'orig' array into this array.
Only items
from the overlapping part of the ranges are copied. The function
returns this array.
- Array1dC<RangeBufferAccessC<DataC>> & Copy(const IndexRangeC & r,const IndexT off)
-
Copies values from the index range 'r' into the new position with the offset 'off'.
Only those items
which original position and destination are inside of the index range
of this array are copied.
- Array1dC<RangeBufferAccessC<DataC>> & Copy(const IndexT off,const Array1dC<RangeBufferAccessC<DataC>> & a)
-
Copies the maximum possible part of array 'a' into this array.
The first element of array 'a' is placed into the element
of this array with index 'off'. The functio returns this array.
- const Array1dC<RangeBufferAccessC<DataC>> & operator=(const Array1dC<RangeBufferAccessC<DataC>> & vv)
-
Assigment, as for a BIG_OBJECT.
Access to the object elements.
------------------------------
- const Array1dC<RangeBufferAccessC<DataC>> & Array1d() const
-
Access to the whole array.
- Array1dC<RangeBufferAccessC<DataC>> & Array1d()
-
Access to the whole array.
- SArray1dC<RangeBufferAccessC<DataC>> SArray1d()
-
Create an access as an sarray.
NB. This does NOT copy the data, it only make a new access to it.
If the array does not have contain element '0' an error will
occure in check mode, when optimised is enabled an empty array
will be returned.
In anycase only elements 0 and above will be accessable.
Array representation modifications.
-----------------------------------
- Array1dC<RangeBufferAccessC<DataC>> Enlarge(const IntT factor = 2) const
-
Enlarges the array by item duplications.
Every item is duplicated
'factor' times. The return array is extended by adding of higher
indexes.
- Array1dC<RangeBufferAccessC<DataC>> Extend(const SizeT n) const
-
Returns the array whose range is extended by adding 'n' items with default value from both limits of the range.
This array value are
copied into the same index positions in the returned array.
- Array1dC<RangeBufferAccessC<DataC>> & Append(const Array1dC<RangeBufferAccessC<DataC>> & a)
-
This array is extended by the length of the array 'a' and the contents of both arrays are copied to it.
The function supports empty arrays.
Logical operations.
-------------------
- BooleanT IsSharing(const Array1dC<RangeBufferAccessC<DataC>> & arr) const
-
Returns TRUE if this array and the array 'arr' are subarrays of the the same array.
Special operations.
-------------------
- void DebugAddresses() const
-
Prints addresses into 'cerrAMMA'.
- const BodyRefCounterC & RefCounter() const
-
Returns access to reference counter.
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator=(RangeBufferAccessC<DataC> * bp)
-
Changes the reference element to the element pointed by 'bp'.
Access to the object
--------------------
- RangeBufferAccessC<DataC> * ReferenceElm(void) 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(void) 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.
- const BufferAccessC<RangeBufferAccessC<DataC>> & Access(void) const
-
Returns this object.
- RangeBufferAccessC<DataC> * DataStart()
-
Returns the address of the first element of the buffer..
- const RangeBufferAccessC<DataC> * DataStart() const
-
Returns the address of the first element of the buffer..
- SizeT N() const
-
Returns the number of elements of the array.
- SizeT Size() const
-
Returns the number of elements of the array.
- const IndexRangeC & Limits() const
-
Returns the usable range of indeces expressed by this object.
- const IndexRangeC & Range() const
-
Returns the usable range of indeces expressed by this object.
- IndexT IMin() const
-
Returns the minimum index of the range of this access.
- IndexT IMax() const
-
Returns the maximum index of the range of this access.
- const RangeBufferAccessC<DataC> & operator[](const IndexT i) const
-
Read-only access to the ('i'+1)-th element of the buffer.
- RangeBufferAccessC<DataC> & operator[](const IndexT i)
-
Read-write access to the ('i'+1)-th element of the buffer.
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & RAccess(void) const
-
Returns this object.
Logical functions
-----------------
- BooleanT IsValid() const
-
Returns TRUE if this buffer access is not a default access object.
- BooleanT IsEmpty() const
-
Returns TRUE if the size of the array is zero.
- BooleanT Contains(const IndexT i) const
-
Returns TRUE if the array contains an item with the index 'i'.
- BooleanT IsOverlapping(const RangeBufferAccessC<RangeBufferAccessC<DataC>> & acc) const
-
Returns TRUE if this access has an item with the same index as
an item of the access 'acc'.
Modifications of the access
---------------------------
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & operator+=(const SizeT i)
-
Changes indeces of the access to be 'i' units higher.
- RangeBufferAccessC<RangeBufferAccessC<DataC>> operator+(const SizeT i) const
-
Creates the new access object with the indeces 'i' units higher
than those used in this access object.
- const IndexRangeC & ShrinkHigh(const SizeT k)
-
Changes the number of elements by subtracting the last 'k' elements.
- void ShiftIndexes(const IndexT offset)
-
All indexes of the items will be changed by 'offset'.
The range will be shifted by -offset.
- void SetSubRange(const IndexT newMin,const IndexT newMax)
-
The range of indexes of this array will be constrained to cover
the index range at most.
- const RangeBufferAccessC<RangeBufferAccessC<DataC>> & Swap(RangeBufferAccessC<RangeBufferAccessC<DataC>> & a)
-
Exchanges the contents of this buffer with buffer 'a'.
- void Swap(const IndexT i1,const IndexT i2)
-
Exchanges the contents of elements with indeces 'i1' and 'i2'.
- void Attach(const RangeBufferAccessC<RangeBufferAccessC<DataC>> & b)
-
Changes this buffer access to have the same access rights as 'b'.
- void Attach(const BufferAccessC<RangeBufferAccessC<DataC>> & b,const IndexRangeC & r)
-
Changes this buffer access to have the access rights as 'b' limited
by range 'r'.
Modifications of the buffer contents
------------------------------------
- void Fill(const RangeBufferAccessC<DataC> & d)
-
'd' value is assigned to all elements of the buffer.
- RangeBufferAccessC<RangeBufferAccessC<DataC>> Copy(void) const
-
Returns a physical copy of this access pointing to the physical
copy of the accessed buffer in the range accessible by this access.
The new copy is necessary to attach to reference counted buffer
or to delete at the end of the life of this object.
|
Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001
|