The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fib::cFibMatrix Class Reference

#include <cFibMatrix.h>

Inheritance diagram for fib::cFibMatrix:
Collaboration diagram for fib::cFibMatrix:

List of all members.

Public Member Functions

 cFibMatrix (unsignedIntFib iuNumberOfDimensions, const unsignedIntFib iuNumberOfVectorElements, cFibElement *pInSubobject=NULL, cFibElement *pInSuperiorElement=NULL)
 cFibMatrix (const cFibMatrix &matrixElement)
virtual ~cFibMatrix ()
virtual char getType () const
virtual bool isValidFibElement () const
virtual bool evalueObject (iEvaluePosition &evaluePosition, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties) const
virtual bool evalueObject (iEvalueFibElement &evalueFibElement, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties, const list< char > &liCFibElementTyps)
virtual unsignedLongFib getTimeNeed (unsignedLongFib lMaxTime=0) const
virtual unsignedLongFib getCompressedSize () const
virtual bool isUsedVariable (const cFibVariable *variable, edDirection direction=ED_POSITION) const
virtual set< cFibVariable * > getUsedVariables (edDirection direction=ED_POSITION)
virtual bool replaceVariable (cFibVariable *pVariableOld, cFibVariable *pVariableNew)
virtual cFibElementcopyElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false) const
virtual bool storeXml (ostream &stream) const
unsignedIntFib getNumberOfMatrixDimensions () const
unsignedIntFib getNumberOfVectorElements () const
cFibVariablegetDefinedVariable (const unsignedLongFib uiPosition)
unsignedIntFib getDomainNr () const
void setDomainNr (const unsignedLongFib uiInDomainNumber)
cVectorAreagetArea (const unsignedIntFib uiDimension=1)
unsignedLongFib getNumberOfVectors () const
const vector< cVectorFibMatrixgetVectors ()
bool setVectors (const vector< cVectorFibMatrix > &vecMatrixVectors)
cVectorFibMatrixgetVector (const unsignedLongFib uiPosition)
bool setVector (const cVectorFibMatrix &vecMatrixVector, const unsignedLongFib uiPosition)
bool addVector (const cVectorFibMatrix &vecMatrixVector, const unsignedLongFib uiPosition=0)
bool deleteVector (const unsignedLongFib uiPosition)
- Public Member Functions inherited from fib::cFibLimb
virtual ~cFibLimb ()
virtual unsignedIntFib getNumberOfElements (char cType='u') const
virtual unsignedIntFib getNumberOfMovePoints () const
virtual unsignedIntFib getNumberOfObjectPoints () const
virtual unsignedIntFib objectPointToElementPoint (const unsignedIntFib uiObjectPoint, bool bAbsolute=false) const
virtual bool insertElement (cFibElement *fibElement, const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)
virtual bool insertObjectInElement (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool first=true, bool bAbsolute=false)
virtual bool overwriteObjectWithObject (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool bDeleteOld=true, bool bAbsolute=false)
virtual bool removeObject (const unsignedIntFib objectPoint, bool bDeleteOld=true, bool bAbsolute=false)
virtual bool hasUnderAllObjects () const
virtual cFibElementcutElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)
virtual bool isMovable () const
virtual intFib moveLimbElement (const char cType='u', const unsignedIntFib elementPoint=0, const intFib iHowfar=1, bool bAbsolute=false)
virtual bool equal (const cFibElement &fibObject) const
virtual bool isLimb () const
- Public Member Functions inherited from fib::cFibElement
virtual ~cFibElement ()
virtual cFibElementgetSuperiorFibElement ()
virtual cFibElementgetNextFibElement ()
virtual cFibElementgetNextFibElement (char cType)
virtual cFibElementgetConstFibElement (longFib lNumber, bool bAbsolute=false) const
virtual cFibElementgetConstFibElement (char cType, longFib lNumber, bool bAbsolute=false) const
cFibElementgetFibElement (longFib lNumber, bool bAbsolute=false)
cFibElementgetFibElement (char cType, longFib lNumber, bool bAbsolute=false)
list< cFibElement * > getAllFibElements (char cTypeBasis='u', longFib lNumber=1, char cType='u', edDirection direction=ED_ALL, unsignedLongFib lNumberOfMaxReturnedElements=0, bool bAbsolute=false)
bool evalueObjectSimple (iEvaluePosition &evaluePosition, const unsignedIntFib objectPoint=0) const
bool evalueObjectSimple (iEvalueFibElement &evalueFibElement, const unsignedIntFib objectPoint=0, const list< char > liCFibElementTyps=list< char >())
virtual bool isDefinedVariable (const cFibVariable *variable, edDirection direction=ED_POSITION) const
virtual list< cFibVariable * > getDefinedVariables (edDirection direction=ED_HIGHER)
bool variablesAreDefined (const set< cFibVariable * > &setVariable, edDirection direction=ED_HIGHER) const
virtual unsignedIntFib getNumberOfElement (bool bOfType=false) const
virtual unsignedIntFib getNumberOfMovePoint () const
virtual unsignedIntFib getNumberOfObjectPoint () const
virtual unsignedIntFib typeElementPointToElementPoint (const char cType, const unsignedIntFib elementPoint, bool bAbsolute=false) const
virtual list< unsignedIntFibelementPointToObjectPoints (const char cType, const unsignedIntFib elementPoint, bool bAbsolute=false) const
virtual list< unsignedIntFibgetObjectPointsForElement (const cFibElement *pFibElement, bool bAbsolute=false) const
virtual bool isRemovableElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true) const
virtual bool removeElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)
virtual cFibElementclone () const
virtual cFibElementcopy (const unsignedIntFib iObjectPoint=0) const
virtual bool equalElement (const cFibElement &fibElement) const =0
virtual bool equalValuesSet (const cFibVariable *variableOwn, const cFibElement &fibElement, const cFibVariable *variable) const
virtual bool store (ostream &stream) const
virtual cRootgetSuperiorRootElement ()
virtual const cRootgetSuperiorRootElement () const
virtual list< longFibgetAllRootObjectIdentifiers () const
virtual list< longFibgetAllDatabaseObjectIdentifiers () const
virtual cRootgetRootObject (longFib lIdentifier)
virtual list< longFibgetAllAccessibleRootObjectIdentifiers () const
virtual cRootgetAccessibleRootObject (longFib lIdentifier)
virtual cDomains getValidDomains () const
virtual cDomains getValidValueDomains () const
virtual unsignedIntFib getNumberOfDimensions () const
virtual unsignedIntFib getDimensionMapping (unsignedIntFib iDimensionNumber) const
virtual bool isBranch () const
virtual bool isLeaf () const

Protected Member Functions

 cFibMatrix (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables)
 cFibMatrix (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomains &validDomains, cRoot *pNextRoot)
virtual bool storeBit (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const
virtual unsignedIntFib enumerateVariablesForStoring (unsignedIntFib uiLastVariableNumber=0)
virtual cFibElementcopyInternal (const unsignedIntFib iObjectPoint=0) const
virtual bool isDefinedVariableInternal (const cFibVariable *pVariable, edDirection direction=ED_POSITION, const cFibElement *pCallingFibElement=NULL) const
virtual list< cFibVariable * > getDefinedVariablesInternal (edDirection direction=ED_HIGHER, const cFibElement *pCallingFibElement=NULL)
virtual bool equalInternal (const cFibElement &fibObject, map< const cRoot *, const cRoot * > &mapEqualRootObjects, map< const cFibElement *, const cFibElement * > &mapEqualDefinedVariables, const bool bCheckExternalObjects) const
virtual bool equalElementInternal (const cFibElement &fibElement, map< const cRoot *, const cRoot * > &matrixEqualRootObjects, map< const cFibElement *, const cFibElement * > &mapEqualDefinedVariables, const bool bCheckExternalObjects) const
virtual bool equalValuesSetInternal (const cFibVariable *pVariableOwn, const cFibElement &fibElement, const cFibVariable *pVariable, map< const cRoot *, const cRoot * > &matrixEqualRootObjects, map< const cFibElement *, const cFibElement * > &mapEqualDefinedVariables, const bool bCheckExternalObjects) const
- Protected Member Functions inherited from fib::cFibLimb
 cFibLimb (cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInUnderobject=NULL)
 cFibLimb (const cFibLimb &fibLimbElement)
virtual bool registerNewFibElement (cFibElement *newFibElement, unsignedIntFib uINumberOfFibElement, bool bDirectionUp)
virtual bool registerNewFibObject (cFibElement *newFibObject, unsignedIntFib uILowerNumberOfFibElements, unsignedIntFib uIUpperNumberOfFibElements, bool bDirectionUp)
virtual void cutConnections (edDirection direction=ED_ALL)
virtual cFibElementupdateValues (cFibElement *previosFibElement=NULL, cFibElement *pNextArm=NULL)
virtual list< cFibElement * > getAllFibElementsFromPosition (char cType, edDirection direction, unsignedLongFib lNumberOfMaxReturnedElements)
- Protected Member Functions inherited from fib::cFibElement
 cFibElement (cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInNextFibElement=NULL)
 cFibElement (const cFibElement &fibElement)
virtual bool updateAllValues ()
virtual unsignedIntFib getNumberOfObjectPoint (unsignedIntFib uINumberOfStartFibElement) const
virtual list< unsignedIntFibelementPointToObjectPoints (const cFibElement *referencefibObject, const unsignedIntFib uiLastObjectPoint) const
intFib moveLimbElementUp (const char cType= 'u', const unsignedIntFib elementPoint=0, const unsignedIntFib uiHowfar=1, bool bAbsolute=false)
cFibElementgetMasterRoot ()
cFibElementgetMasterRoot () const

Private Attributes

vector< cFibVariable * > vecVariablesDefined
vector< cVectorArea * > vecMatrixDimensionAreas
list< cVectorFibMatrixliFibMatrix
unsignedIntFib uiDomainNr

Friends

class cFibElement

Additional Inherited Members

- Protected Attributes inherited from fib::cFibLimb
cFibElementpUnderObject
- Protected Attributes inherited from fib::cFibElement
cFibElementpSuperiorElement
cFibElementpPreviousFibElement
cFibElementpNextFibElement
cRootpNextRootElement
unsignedIntFib uINumberOfFibElement

Detailed Description

Definition at line 74 of file cFibMatrix.h.


Constructor & Destructor Documentation

fib::cFibMatrix::cFibMatrix ( unsignedIntFib  iuNumberOfDimensions,
const unsignedIntFib  iuNumberOfVectorElements,
cFibElement pInSubobject = NULL,
cFibElement pInSuperiorElement = NULL 
)

parameter constructor

Parameters:
iuNumberOfDimensionsthe number of dimension (variables) (minimum is 1)
iuNumberOfVectorElementsthe number of elements in the vectors of the elements of the matrix of this matrix element should have
pInSubobjectthe Fib element which is the subobject of this Fib element (it also stands next in the order of Fib elements)
pInSuperiorElementthe Fib element in which this matrix element is a subobject
fib::cFibMatrix::cFibMatrix ( const cFibMatrix matrixElement)

copyconstructor This copyconstructor constructs a copy of the given matrix element. It dosn't copy other Fib elements than the given, even if ther are in the matrix element.

Parameters:
matrixElementthe matrix element to copy
fib::cFibMatrix::cFibMatrix ( const TiXmlElement *  pXmlElement,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables 
)
protected

The constructor for restoring a matrix object from an TinyXml element.

Parameters:
pXmlNodea pointer to the TinyXml node wher the Fib object is stored in
outStatusAn reference to an integervalue where the errorvalue can be stored to. possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
liDefinedVariablesa list with the defined variables for the to restore Fib element, every variable should have it's number (the number under which it is stored) as it's value
fib::cFibMatrix::cFibMatrix ( cReadBits iBitStream,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables,
const cDomains validDomains,
cRoot pNextRoot 
)
protected

This constructor restores a matrix object from the stream where it is stored in the compressed Fib format. This method is for internal use only.

Parameters:
iBitStreamthe stream wher the matrix object is stored in, because this stream is an cReadBits, any number of bits can be readed from it
outStatusAn reference to an integer value where the error value can be stored to. If the pointer is NULL no error value will be given back. possible error values are:
  • 0 loading successful
  • -1 loading error, invalid stream
  • -2 loading error, invalid data in stream
  • 1 loading warning, invalid data in stream, error could be corrected
  • 2 loading warning, invalid data in stream, maybe the loaded object is wrong
liDefinedVariablesa list with the defined variables for the to restore Fib element, every variable should have it's number (the number under which it is stored) as it's value
validDomainsthe domains valid for restoring the Fib elements
pNextRootthe next higher root-element for the to restore Fib elements, or the last restored root-element
virtual fib::cFibMatrix::~cFibMatrix ( )
virtual

destructor


Member Function Documentation

bool fib::cFibMatrix::addVector ( const cVectorFibMatrix vecMatrixVector,
const unsignedLongFib  uiPosition = 0 
)

This method adds the given vector to the existing vectors.

See also:
liSubFibMatrixs
Parameters:
vecMatrixVectora reference to the to add vector
uiPositionthe position wher the vecMatrix should be added (counting begins with 1); if 0 the vecMatrix or greater than the number of vectors the vector will be added to the end of the vector list
Returns:
true if the vecMatrix was added, else false
virtual cFibElement* fib::cFibMatrix::copyElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false 
) const
virtual

This method copies the Fib element on the specified position. Variables which are not defined in the Fib element but used don't change ther reference.

See also:
getType()
Parameters:
cTypethe type of the Fib element to copy
elementPointthe number of the Fib element, in the order of Fib elements of the given type cType, to copy
bAbsoluteif the lNumber is an absolute value for the wool Fib object
Returns:
the copy of the Fib element

Implements fib::cFibElement.

virtual cFibElement* fib::cFibMatrix::copyInternal ( const unsignedIntFib  iObjectPoint = 0) const
protectedvirtual

This method copies the connected object with the given number in the order of connected objects. For this every Fib element, beginning from this Fib element, that is part of the connected object will be copied. Variables which are not defined in the connected object but used don't change ther reference. It is an help method for the copy method. It dosn't update the structural information of the created Fib object.

Parameters:
iObjectPointthe number of the connected object to copy; the standartvalue is 0 for coping the complet actual object
Returns:
the copy of the connected object or NULL if non such exists

Implements fib::cFibElement.

bool fib::cFibMatrix::deleteVector ( const unsignedLongFib  uiPosition)

This method deletes the uiPosition'th vector from the existing vectors.

Parameters:
uiPositionthe position, wher the vector should be deleted from (counting begins with 1)
Returns:
true if the vector was deleted, else false
virtual unsignedIntFib fib::cFibMatrix::enumerateVariablesForStoring ( unsignedIntFib  uiLastVariableNumber = 0)
protectedvirtual

This method sets the each variable, which is defined above a leaf, to an uniqe integer number greater than the given number uiLastVariableNumber. While storing this number can be stored to identify the variable.

Parameters:
uiLastVariableNumberthe number which was last use, this means also is the greatest used, in this limb.
Returns:
the number which was last use, this means also is the greatest used, in this limb from the method

Reimplemented from fib::cFibLimb.

virtual bool fib::cFibMatrix::equalElementInternal ( const cFibElement fibElement,
map< const cRoot *, const cRoot * > &  matrixEqualRootObjects,
map< const cFibElement *, const cFibElement * > &  mapEqualDefinedVariables,
const bool  bCheckExternalObjects 
) const
protectedvirtual

This method checks if the given Fib element is equal to this Fib element. The subobjects are not compared, not even ther count is compared. Used variables can be others.

Parameters:
fibElementthe Fib element to which this Fib element should be equal
mapEqualRootObjectsthe root objects of this object that wher already checked as equal map entries: key: the root-element of this Fib object that was checked value: the to the key correspondending root-element of the fibObject that was checked and which is equal to the key root-element (it is empty if bCheckExternalObjects == false)
mapEqualDefinedVariablesthe Fib elements that defines variables and are equal; map entries: key: the Fib element of this Fib object that was checked value: the to the key correspondending Fib element of the fibObject that was checked and which sets its defined variables to the same values as the key Fib element
bCheckExternalObjectsif true the external objects of cExtObject will be compared
Returns:
true if this Fib element is equal to the given Fib element, else false
virtual bool fib::cFibMatrix::equalInternal ( const cFibElement fibObject,
map< const cRoot *, const cRoot * > &  mapEqualRootObjects,
map< const cFibElement *, const cFibElement * > &  mapEqualDefinedVariables,
const bool  bCheckExternalObjects 
) const
protectedvirtual

This method checks if the given Fib object is equal to this Fib object. Variables can be others, but must be defined and used in equivalent Fib elements.

Parameters:
fibObjectthe Fib object to which this Fib object should be equal
mapEqualRootObjectsthe root objects of this object that wher already checked as equal map entries: key: the root-element of this Fib object that was checked value: the to the key correspondending root-element of the fibObject that was checked and which is equal to the key root-element (it is empty if bCheckExternalObjects == false)
mapEqualDefinedVariablesthe Fib elements that defines variables and are equal; map entries: key: the Fib element of this Fib object that was checked value: the to the key correspondending Fib element of the fibObject that was checked and which sets its defined variables to the same values as the key Fib element
bCheckExternalObjectsif true the external objects of cExtObject will be compared
Returns:
true if this Fib object is equal to the given Fib object, else false
virtual bool fib::cFibMatrix::equalValuesSetInternal ( const cFibVariable pVariableOwn,
const cFibElement fibElement,
const cFibVariable pVariable,
map< const cRoot *, const cRoot * > &  matrixEqualRootObjects,
map< const cFibElement *, const cFibElement * > &  mapEqualDefinedVariables,
const bool  bCheckExternalObjects 
) const
protectedvirtual

This method checks if the given Fib element sets the variable to the same values as this Fib element.

Parameters:
pVariableOwna pointer to a defined variable in this Fib element, it is compared to the equivalent variable pVariable in the given Fib element fibElement
fibElementthe Fib element, to which this Fib element should be compared
pVariablea pointer to a defined variable in the other Fib element fibElement
mapEqualRootObjectsthe root objects of this object that wher already checked as equal map entries: key: the root-element of this Fib object that was checked value: the to the key correspondending root-element of the fibObject that was checked and which is equal to the key root-element (it is empty if bCheckExternalObjects == false)
mapEqualDefinedVariablesthe Fib elements that defines variables and are equal; map entries: key: the Fib element of this Fib object that was checked value: the to the key correspondending Fib element of the fibObject that was checked and which sets its defined variables to the same values as the key Fib element
bCheckExternalObjectsif true the external objects of cExtObject will be compared
Returns:
true if this Fib element sets the variable to the same values as this Fib element
virtual bool fib::cFibMatrix::evalueObject ( iEvaluePosition evaluePosition,
const unsignedIntFib  objectPoint,
list< cVectorProperty > &  liVecProperties 
) const
virtual

This method evaluades the Fib object.

Parameters:
evaluePositiona reference to the object with the evaluePosition() method to evalue /store the positions and ther properties; everytime a point (to evalue) is reached in the evaluation, this method is called with the position and the properties of the point;
See also:
iEvaluePosition
Parameters:
objectPointthe object point in the order of true part objects to evalue
liVecPropertiesa list with the property vectors which should be global for the evalued object
Returns:
if the evaluation was successfull true, else false

Implements fib::cFibElement.

virtual bool fib::cFibMatrix::evalueObject ( iEvalueFibElement evalueFibElement,
const unsignedIntFib  objectPoint,
list< cVectorProperty > &  liVecProperties,
const list< char > &  liCFibElementTyps 
)
virtual

This method evaluades the Fib object. Evertime a Fib elements, with a type of the given type chars in liCFibElementTyps, is reached while evaluation, it is given back with the properties which it has. Ever point element is given back. The type chars for point elements don't need to be in the list liCFibElementTyps.

Parameters:
evalueFibElementa reference to the object with the evalueElement() method to evalue /store the Fib elements and ther properties; everytime a Fib element (with one of the type given in liCFibElementTyps) is reached in the evaluation, the method evalueElement() of this objects is called with the Fib element and the properties of the Fib element;
See also:
iEvalueFibElement
Parameters:
objectPointthe object point in the order of true part objects to evalue
liVecPropertiesa list with the property vectors which should be global for the evalued object
liCFibElementTypsa list with the type chars (
See also:
getType) of the Fib elements to return
Returns:
if the evaluation was successfull true, else false

Implements fib::cFibElement.

cVectorArea* fib::cFibMatrix::getArea ( const unsignedIntFib  uiDimension = 1)

This method returns the area for the uiDimension'th dimension.

See also:
vecMatrixDimensionAreas
Parameters:
uiDimensionthe dimension for which the area is to be returned (counting begins with 1)
Returns:
the area for the uiDimension'th dimension
virtual unsignedLongFib fib::cFibMatrix::getCompressedSize ( ) const
virtual

This method evaluades the size of the Fib object in bits in the compressed file form.

See also:
store()
Returns:
the size of the Fib object in bits in the compressed form

Implements fib::cFibElement.

cFibVariable* fib::cFibMatrix::getDefinedVariable ( const unsignedLongFib  uiPosition)

This method returns a pointer to the uiPosition'th from this matrix element defined variable.

Parameters:
uiPositionthe number of the from this matrix element defined variable to return (counting begins with 1)
Returns:
a pointer to the uiPosition'th from this matrix element defined variable, or NULL if non such exists
virtual list< cFibVariable* > fib::cFibMatrix::getDefinedVariablesInternal ( edDirection  direction = ED_HIGHER,
const cFibElement pCallingFibElement = NULL 
)
protectedvirtual

This method returns all variables defined in the given direction from this Fib element. This is for intern use to get the correct data from getDefinedVariables() without pCallingFibElement.

See also:
cFibVariable
getUsedVariables()
isDefinedVariable()
Parameters:
directionthe direction from this Fib element, in which the variable should be used; default value is ED_POSITION so yust this Fib element will be checked
pCallingFibElementthe Fib element which called this method
Returns:
the matrix with all variables used in the given direction from this Fib element

Reimplemented from fib::cFibLimb.

unsignedIntFib fib::cFibMatrix::getDomainNr ( ) const
See also:
uiDomainNr
Returns:
the number of the matrix element domain for this matrix element
unsignedIntFib fib::cFibMatrix::getNumberOfMatrixDimensions ( ) const
Returns:
the number of dimensions (variables) the matrix of this matrix element has
See also:
vecMatrixDimensionAreas
unsignedIntFib fib::cFibMatrix::getNumberOfVectorElements ( ) const
Returns:
the number of elements of the matrix entry vectors of the matrix of this matrix element has
See also:
liFibMatrix
unsignedLongFib fib::cFibMatrix::getNumberOfVectors ( ) const
See also:
liFibMatrix
Returns:
the number of vectors or sets of values this matrix element contains
virtual unsignedLongFib fib::cFibMatrix::getTimeNeed ( unsignedLongFib  lMaxTime = 0) const
virtual

This method evaluades a value for the time needed to evalue the object. This value should not exceed lMaxTime, if the value for the time is greater than lMaxTime the evaluation will be stopt and lMaxTime returned. If lMaxTime is 0 (for infinity) the evaluation won't be stoped, this is the standard case.

See also:
evalueObject()
Parameters:
lMaxTimethe maximum time for the evaluation, the returned value will not be greater than this value; the value 0 stands for infinity, so the evaluation won't be stoped
Returns:
a value for the time needed to evalue the object

Implements fib::cFibElement.

virtual char fib::cFibMatrix::getType ( ) const
virtual
See also:
getTypeName
Returns:
a character for the typ of the Fib element Types are:
  • u: element of unknown typ
  • p: point
  • l: list-element
    • y: property
    • c: comment
    • a: area
    • f: function
    • i: if-condition
    • o: extern object element
    • s: extern subobject element
    • v: set-element
    • m: matrix element
    • r: root-element

Implements fib::cFibElement.

virtual set<cFibVariable*> fib::cFibMatrix::getUsedVariables ( edDirection  direction = ED_POSITION)
virtual

This method returns all variables used in the given direction from this Fib element.

See also:
cFibVariable
isUsedVariable()
isDefinedVariable()
Parameters:
directionthe direction from this Fib element, in which the variable should be used; default value is ED_POSITION so yust this Fib element will be checked
Returns:
the set with all variables used in the given direction from this Fib element

Reimplemented from fib::cFibLimb.

cVectorFibMatrix* fib::cFibMatrix::getVector ( const unsignedLongFib  uiPosition)

This method returns a pointer to the uiPosition'th vector of this matrix element.

See also:
liFibMatrix
Parameters:
uiPositionthe number of the vector to return (counting begins with 1)
Returns:
a pointer to the uiPosition'th vector, or NULL if non such exists
const vector< cVectorFibMatrix > fib::cFibMatrix::getVectors ( )
Returns:
a vector with all vectors / sets of values of this matrix element
See also:
liFibMatrix
virtual bool fib::cFibMatrix::isDefinedVariableInternal ( const cFibVariable pVariable,
edDirection  direction = ED_POSITION,
const cFibElement pCallingFibElement = NULL 
) const
protectedvirtual

This method checks if the given variable is defined in the given direction from this Fib element. This is for intern use to get the correct data from isDefinedVariable() without pCallingFibElement.

See also:
cFibVariable
isUsedVariable()
Parameters:
pVariablethe variable to check if it is defined
directionthe direction from this Fib element, in which the variable should be defined; default value is ED_POSITION so yust this Fib element will be checked
pCallingFibElementthe Fib element which called this method
Returns:
true if the variable is used, else false

Reimplemented from fib::cFibLimb.

virtual bool fib::cFibMatrix::isUsedVariable ( const cFibVariable variable,
edDirection  direction = ED_POSITION 
) const
virtual

This method checks if the given variable is used in the given direction from this Fib element.

See also:
cFibVariable
isDefinedVariable()
Parameters:
variablethe variable to check if it is used
directionthe direction from this Fib element, in which the variable should be used; default value is ED_POSITION so yust this Fib element will be checked
Returns:
true if the variable is used, else false

Reimplemented from fib::cFibLimb.

virtual bool fib::cFibMatrix::isValidFibElement ( ) const
virtual

This method checks, if this Fib-element is an valid Fib-element.

Returns:
true if this Fib-element is an valid Fib-element, else false

Reimplemented from fib::cFibLimb.

virtual bool fib::cFibMatrix::replaceVariable ( cFibVariable pVariableOld,
cFibVariable pVariableNew 
)
virtual

This method replace the variable pVariableOld with the variable pVariableNew in the object.

See also:
cFibVariable
isUsedVariable()
isDefinedVariable()
Parameters:
pVariableOldthe variable to replace
pVariableNewthe variable with which the variable pVariableOld is to be replace
Returns:
true if the variable pVariableOld is replaced with pVariableNew, else false

Reimplemented from fib::cFibLimb.

void fib::cFibMatrix::setDomainNr ( const unsignedLongFib  uiInDomainNumber)

This method sets the number of the matrix element domain for this matrix element.

See also:
uiDomainNr
Parameters:
uiInDomainNumberthe number of the matrix element domain for this matrix element
bool fib::cFibMatrix::setVector ( const cVectorFibMatrix vecMatrixVector,
const unsignedLongFib  uiPosition 
)

This method sets the uiPosition'th vector of this matrix element to the given vector.

See also:
liFibMatrix
Parameters:
vecMatrixVectorthe vector to set
uiPositionthe position wher the to matrix vector should stand in this matrix element (counting begins with 1)
Returns:
true if the vector wher set, else false and the vectors of this matrix element unchanged
bool fib::cFibMatrix::setVectors ( const vector< cVectorFibMatrix > &  vecMatrixVectors)

This method sets all vectors / sets of values of this matrix element to the given vectors.

See also:
liFibMatrix
Parameters:
vecMatrixVectorsa vector with all vectors / sets of values this matrix element should contain
Returns:
true if the vectors wher set, else false and the vectors of this matrix element unchanged
virtual bool fib::cFibMatrix::storeBit ( ostream &  stream,
char &  cRestBits,
unsigned char &  uiRestBitPosition 
) const
protectedvirtual

This method stores this Fib object in the compressed Fib-format into the given stream. It is needed because the stream can yust store byts but the size of Fib elements can be any number of bits. Because of that ther have to be a possibility to exchange the missing bits betwean the Fib elements.

See also:
store
Parameters:
streamthe stream where this Fib object should be stored to
cRestBitsthe not yet writen bits which should be stored
uiRestBitPositionthe number of bits in the cRestBits which should be writen respectively containing valid information
Returns:
true if this Fib object is stored, else false

Implements fib::cFibElement.

virtual bool fib::cFibMatrix::storeXml ( ostream &  stream) const
virtual

This method stores this Fib object in the XML format into the given stream.

Parameters:
streamthe stream where this Fib object should be stored to
Returns:
true if this Fib object is stored, else false

Implements fib::cFibElement.


Friends And Related Function Documentation

friend class cFibElement
friend

Definition at line 76 of file cFibMatrix.h.


Member Data Documentation

list< cVectorFibMatrix > fib::cFibMatrix::liFibMatrix
private

The list with the vectors of the matrix element.

Definition at line 94 of file cFibMatrix.h.

unsignedIntFib fib::cFibMatrix::uiDomainNr
private

The number of the matrix element domain for this matrix element.

Definition at line 99 of file cFibMatrix.h.

vector< cVectorArea * > fib::cFibMatrix::vecMatrixDimensionAreas
private

The vector with the area vectors for the dimensions of the matrix. The vector element i is for dimension i .

Definition at line 89 of file cFibMatrix.h.

vector< cFibVariable * > fib::cFibMatrix::vecVariablesDefined
private

The variables, which this matrix element defines.

Definition at line 83 of file cFibMatrix.h.


The documentation for this class was generated from the following file: