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

  PUBLIC
Line3dPVArray1dC::Line3dPVArray1dC(void)
Line3dPVArray1dC::Line3dPVArray1dC(const SizeT)
Line3dPVArray1dC::Line3dPVArray1dC(const char *)
Line3dPVArray1dC::Line3dPVArray1dC(istream &)
Line3dPVArray1dC::Line3dPVArray1dC(const Array1dC &)
Line3dPVArray1dC::Line3dPVArray1dC(const Line3dPVArray1dC &)
Line3dPVArray1dC::Intersection(void) const
Line3dPVArray1dC::SaveAsGF(char *) const
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 &)
Line3dPVArray1dC
 
1 dimensional array of lines in 3D space
 
include "amma/ArLinPV3.hh"
User Level:Default
Library:Magarr
Example:exBnd.cc
Section:Containers.Arrays.1-D Arrays.Specialized Arrays
In Scope:std

Comments:
The class Line3dPVArray1dC represents 1-dimensional array of 3-dimensional lines represented by one point and direction vector.

Parent Classes: Typedefs:
typedef double RealT;
general real parameter.

Methods:
Line3dPVArray1dC()
Empty array of lines.

Line3dPVArray1dC(const SizeT n)
Creates an array of 'n' lines.

Line3dPVArray1dC(const char * filename)
Creates an array of lines from the input file 'filename'.

Line3dPVArray1dC(istream & s)
Creates an array of lines from the input stream s.

Line3dPVArray1dC(const Array1dC<Line3dPVC> & lines)
Constructs an array of lines from the array (as a big object).

Line3dPVArray1dC(const Line3dPVArray1dC & lines)
Another access to the array of lines.

Point3dC Intersection() const
Returns the point which has the smallest distance from the set of line. The criterion is Sum(dist^2(point, line)) -> min.

void SaveAsGF(char * filename) const
The array of lines is saved into the file with the name 'filename'.

#include "amma/Array1d.hh"
Array1dC<Line3dPVC> Copy() const
Creates a new physical copy of the array.

Array1dC<Line3dPVC> & Copy(const Array1dC<Line3dPVC> & 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<Line3dPVC> & 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<Line3dPVC> & Copy(const IndexT off,const Array1dC<Line3dPVC> & 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<Line3dPVC> & operator=(const Array1dC<Line3dPVC> & vv)
Assigment, as for a BIG_OBJECT.
Access to the object elements. ------------------------------

const Array1dC<Line3dPVC> & Array1d() const
Access to the whole array.

Array1dC<Line3dPVC> & Array1d()
Access to the whole array.

SArray1dC<Line3dPVC> 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<Line3dPVC> 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<Line3dPVC> 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<Line3dPVC> & Append(const Array1dC<Line3dPVC> & 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<Line3dPVC> & 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.

#include "amma/RBfAcc.hh"
const RangeBufferAccessC<Line3dPVC> & operator=(Line3dPVC * bp)
Changes the reference element to the element pointed by 'bp'.
Access to the object --------------------

Line3dPVC * 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<Line3dPVC> & Access(void) const
Returns this object.

Line3dPVC * DataStart()
Returns the address of the first element of the buffer..

const Line3dPVC * 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 Line3dPVC & operator[](const IndexT i) const
Read-only access to the ('i'+1)-th element of the buffer.

Line3dPVC & operator[](const IndexT i)
Read-write access to the ('i'+1)-th element of the buffer.

const RangeBufferAccessC<Line3dPVC> & 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<Line3dPVC> & 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<Line3dPVC> & operator+=(const SizeT i)
Changes indeces of the access to be 'i' units higher.

RangeBufferAccessC<Line3dPVC> 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<Line3dPVC> & Swap(RangeBufferAccessC<Line3dPVC> & 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<Line3dPVC> & b)
Changes this buffer access to have the same access rights as 'b'.

void Attach(const BufferAccessC<Line3dPVC> & 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 Line3dPVC & d)
'd' value is assigned to all elements of the buffer.


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