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::cFibElement Class Reference

#include <cFibElement.h>

Inheritance diagram for fib::cFibElement:
Collaboration diagram for fib::cFibElement:

List of all members.

Public Member Functions

virtual ~cFibElement ()
virtual char getType () const =0
virtual bool isValidFibElement () const =0
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
virtual bool evalueObject (iEvaluePosition &evaluePosition, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties) const =0
bool evalueObjectSimple (iEvalueFibElement &evalueFibElement, const unsignedIntFib objectPoint=0, const list< char > liCFibElementTyps=list< char >())
virtual bool evalueObject (iEvalueFibElement &evalueFibElement, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties, const list< char > &liCFibElementTyps)=0
virtual unsignedLongFib getTimeNeed (unsignedLongFib lMaxTime=0) const =0
virtual unsignedLongFib getCompressedSize () const =0
virtual bool isUsedVariable (const cFibVariable *variable, edDirection direction=ED_POSITION) const =0
virtual set< cFibVariable * > getUsedVariables (edDirection direction=ED_POSITION)=0
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 bool replaceVariable (cFibVariable *variableOld, cFibVariable *variableNew)=0
virtual unsignedIntFib getNumberOfElement (bool bOfType=false) const
virtual unsignedIntFib getNumberOfMovePoint () const
virtual unsignedIntFib getNumberOfObjectPoint () const
virtual unsignedIntFib getNumberOfElements (char cType='u') const =0
virtual unsignedIntFib getNumberOfMovePoints () const =0
virtual unsignedIntFib getNumberOfObjectPoints () const =0
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 unsignedIntFib objectPointToElementPoint (const unsignedIntFib uiObjectPoint, bool bAbsolute=false) const =0
virtual bool insertElement (cFibElement *fibElement, const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)=0
virtual bool insertObjectInElement (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool first=true, bool bAbsolute=false)=0
virtual bool overwriteObjectWithObject (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool bDeleteOld=true, bool bAbsolute=false)=0
virtual bool removeObject (const unsignedIntFib objectPoint, bool bDeleteOld=true, bool bAbsolute=false)=0
virtual bool hasUnderAllObjects () const =0
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 cFibElementcutElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)=0
virtual bool isMovable () const
virtual intFib moveLimbElement (const char cType='u', const unsignedIntFib elementPoint=0, const intFib iHowfar=1, bool bAbsolute=false)=0
virtual cFibElementclone () const
virtual cFibElementcopy (const unsignedIntFib iObjectPoint=0) const
virtual cFibElementcopyElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false) const =0
virtual bool equal (const cFibElement &fibObject) const =0
virtual bool equalElement (const cFibElement &fibElement) const =0
virtual bool equalValuesSet (const cFibVariable *variableOwn, const cFibElement &fibElement, const cFibVariable *variable) const
virtual bool storeXml (ostream &stream) const =0
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 isLimb () const
virtual bool isLeaf () const

Static Public Member Functions

static string getTypeName (char cType)
static void deleteObject (cFibElement *fibObject)
static cFibElementrestoreXml (istream &stream, intFib *outStatus=NULL)
static cFibElementrestoreXml (const TiXmlNode *pXmlNode, intFib *outStatus=NULL)
static cFibElementrestoreXml (const TiXmlNode *pXmlNode, intFib &outStatus, list< cFibVariable * > &liDefinedVariables)
static cFibElementrestore (istream &stream, intFib *outStatus=NULL)

Protected Member Functions

 cFibElement (cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInNextFibElement=NULL)
 cFibElement (const cFibElement &fibElement)
virtual bool storeBit (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const =0
virtual bool registerNewFibElement (cFibElement *newFibElement, unsignedIntFib uINumberOfFibElement, bool bDirectionUp)=0
virtual bool registerNewFibObject (cFibElement *newfibObject, unsignedIntFib uILowerNumberOfFibElements, unsignedIntFib uIUpperNumberOfFibElements, bool bDirectionUp)=0
virtual bool updateAllValues ()
virtual void cutConnections (edDirection direction=ED_ALL)
virtual cFibElementupdateValues (cFibElement *previosFibElement=NULL, cFibElement *pNextArm=NULL)
virtual unsignedIntFib getNumberOfObjectPoint (unsignedIntFib uINumberOfStartFibElement) const
virtual list< unsignedIntFibelementPointToObjectPoints (const cFibElement *referencefibObject, const unsignedIntFib uiLastObjectPoint) const
virtual unsignedIntFib enumerateVariablesForStoring (unsignedIntFib uiLastVariableNumber=0)=0
intFib moveLimbElementUp (const char cType= 'u', const unsignedIntFib elementPoint=0, const unsignedIntFib uiHowfar=1, bool bAbsolute=false)
virtual cFibElementcopyInternal (const unsignedIntFib iObjectPoint=0) const =0
virtual list< cFibElement * > getAllFibElementsFromPosition (char cType, edDirection direction, unsignedLongFib lNumberOfMaxReturnedElements)=0
cFibElementgetMasterRoot ()
cFibElementgetMasterRoot () const
virtual bool isDefinedVariableInternal (const cFibVariable *variable, edDirection direction=ED_POSITION, const cFibElement *pCallingFibElement=NULL) const =0
virtual list< cFibVariable * > getDefinedVariablesInternal (edDirection direction=ED_HIGHER, const cFibElement *pCallingFibElement=NULL)=0

Static Protected Member Functions

static cFibElementrestoreXmlInternal (const TiXmlNode *pXmlNode, intFib &outStatus, list< cFibVariable * > &liDefinedVariables)
static cRootrestoreRootInternal (cReadBits &iBitStream, intFib &outStatus, cRoot *pNextRoot)
static cFibElementrestoreInternal (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomains &validDomains, cRoot *pNextRoot)

Protected Attributes

cFibElementpSuperiorElement
cFibElementpPreviousFibElement
cFibElementpNextFibElement
cRootpNextRootElement
unsignedIntFib uINumberOfFibElement

Friends

class cFibBranch
class cFibLimb
class cFibLeaf
class cRoot
class cList
class cIf
class cProperty
class cArea
class cFunction
class cComment
class cExtObject
class cFibSet
class cFibMatrix
class cFibVariable

Detailed Description

Definition at line 100 of file cFibElement.h.


Constructor & Destructor Documentation

fib::cFibElement::cFibElement ( cFibElement pInSuperiorElement = NULL,
cFibElement pInPreviousFibElement = NULL,
cFibElement pInNextFibElement = NULL 
)
protected

parameterconstructor

Parameters:
pInSuperiorElementthe Fib-Element in which this Fib-element is the subobject
pInPreviousFibElementthe Fib-Element which stands in th order of Fib-elements befor this Fib-element
pInNextFibElementthe Fib-Element which stands in th order of Fib-elements behind this Fib-element
fib::cFibElement::cFibElement ( const cFibElement fibElement)
protected

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

Parameters:
fibElementthe Fib-element to copy
virtual fib::cFibElement::~cFibElement ( )
virtual

destructor


Member Function Documentation

virtual cFibElement* fib::cFibElement::clone ( ) const
virtual

This method duplicates the whole Fib-object, beginning with it's highest root-element (the one which contains all the other elements).

Returns:
the cloned/ duplicates Fib-object
virtual cFibElement* fib::cFibElement::copy ( const unsignedIntFib  iObjectPoint = 0) const
virtual

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.

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
virtual cFibElement* fib::cFibElement::copyElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false 
) const
pure 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

Implemented in fib::cRoot, fib::cExtObject, fib::cExtSubobject, fib::cFibMatrix, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cProperty, fib::cFibSet, fib::cComment, and fib::cList.

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

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 helpmethod 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

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibMatrix, fib::cExtSubobject, fib::cFibSet, fib::cArea, fib::cList, fib::cFunction, fib::cPoint, fib::cProperty, and fib::cComment.

virtual void fib::cFibElement::cutConnections ( edDirection  direction = ED_ALL)
protectedvirtual

This method cuts the connections of this Fib-element to other Fib-elements.

Parameters:
directionthe direction into which the connections are to be cutted ED_HIGHER, ED_HIGHER_EQUAL, ED_ALL: will cut the conection to superior and previous Fib-elements ED_BELOW, ED_BELOW_EQUAL, ED_ALL: will cut the conection to next- Fib-element and the subobjects

Reimplemented in fib::cFibBranch, and fib::cFibLimb.

virtual cFibElement* fib::cFibElement::cutElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
)
pure virtual

This method cuts the Fib-element on the specified position. This works like removeElement(), except that the removed element is returned.

See also:
isDeletableElement()
removeElement()
getType()
Parameters:
cTypethe type of the Fib-element to cut
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, to cut
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
bCheckVariablesif true (standard value) it will be checked if the variables the Fib-element defines are needed, else the Fib-element will be removed even if its variables are needed elsewher
Returns:
the pointer to the cuted Fib-element or NULL, if the fib -element couldn't cut

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

static void fib::cFibElement::deleteObject ( cFibElement fibObject)
static

This method deletes the whool given Fib-object with all the fib elements it contains and is contained in. The memory for the fib -object is freed.

Parameters:
fibObjectthe Fib-object to delete
virtual list<unsignedIntFib> fib::cFibElement::elementPointToObjectPoints ( const char  cType,
const unsignedIntFib  elementPoint,
bool  bAbsolute = false 
) const
virtual

This method returns the numbers of all object points that contain the elementPoint Fib-element of the type cType.

See also:
getNumberOfElement()
getNumberOfElements()
getNumberOfObjectPoint()
getNumberOfObjectPoints()
getType()
Parameters:
cTypethe type the Fib-element has
elementPointthe number of the Fib-element in the order of Fib-elements of the type cType
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a list of the numbers of all object points that contain the elementPoint Fib-element of the type cType
virtual list<unsignedIntFib> fib::cFibElement::elementPointToObjectPoints ( const cFibElement referencefibObject,
const unsignedIntFib  uiLastObjectPoint 
) const
protectedvirtual

This method returns the numbers of all object points that contain the elementPoint Fib-element of the type cType.

See also:
elementPointToObjectPoints()
getNumberOfElement()
getNumberOfElements()
getNumberOfObjectPoint()
getNumberOfObjectPoints()
getType()
Parameters:
referencefibObjectthe Fib-element for which the object points are to returned
uiLastObjectPointthe number of the last object point to the referencefibObject
Returns:
a list of the numbers of all object points that contain the elementPoint Fib-element of the type cType

Reimplemented in fib::cFibBranch, and fib::cFibLeaf.

virtual unsignedIntFib fib::cFibElement::enumerateVariablesForStoring ( unsignedIntFib  uiLastVariableNumber = 0)
protectedpure virtual

This method sets the each variable, which is defined over an 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

Implemented in fib::cExtObject, fib::cFibBranch, fib::cFibLeaf, fib::cFibLimb, fib::cFibMatrix, fib::cFibSet, fib::cArea, fib::cFunction, and fib::cComment.

virtual bool fib::cFibElement::equal ( const cFibElement fibObject) const
pure virtual

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
Returns:
true if this Fib-object is equal to the given Fib-object, else false

Implemented in fib::cFibBranch, fib::cFibLimb, fib::cFibLeaf, fib::cRoot, fib::cExtObject, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cProperty, and fib::cComment.

virtual bool fib::cFibElement::equalElement ( const cFibElement fibElement) const
pure virtual

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

Parameters:
fibElementthe Fib-element to which this Fib-element should be equal
Returns:
true if this Fib-element is equal to the given Fib-object, else false

Implemented in fib::cRoot, fib::cExtObject, fib::cFunction, fib::cIf, fib::cArea, fib::cProperty, fib::cComment, and fib::cList.

virtual bool fib::cFibElement::equalValuesSet ( const cFibVariable variableOwn,
const cFibElement fibElement,
const cFibVariable variable 
) const
virtual

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

Parameters:
variableOwna pointer to a defined variable in this Fib-element, it is compared to the equivalent variable fibElement in the given Fib-element fibElement
fibElementthe Fib-element to which this Fib-element should be compared
variablea pointer to a defined variable in the other Fib-element fibElement
Returns:
true if this Fib-element sets the variable to the same values as this Fib-element

Reimplemented in fib::cRoot, and fib::cExtObject.

virtual bool fib::cFibElement::evalueObject ( iEvaluePosition evaluePosition,
const unsignedIntFib  objectPoint,
list< cVectorProperty > &  liVecProperties 
) const
pure virtual

This method evaluades the Fib-object.

strategy

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 partobjects to evalue
liVecPropertiesa list with the property vectors which should be global for the evalued object
Returns:
if the evalueation was successfull true, else false

Implemented in fib::cRoot, fib::cExtSubobject, fib::cExtObject, fib::cFibMatrix, fib::cComment, fib::cFunction, fib::cIf, fib::cList, fib::cArea, fib::cPoint, fib::cProperty, and fib::cFibSet.

virtual bool fib::cFibElement::evalueObject ( iEvalueFibElement evalueFibElement,
const unsignedIntFib  objectPoint,
list< cVectorProperty > &  liVecProperties,
const list< char > &  liCFibElementTyps 
)
pure 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 pointelement is given back. The type chars for pointelements don't need to be in the list liCFibElementTyps.

strategy

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 partobjects 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 evalueation was successfull true, else false

Implemented in fib::cRoot, fib::cExtSubobject, fib::cExtObject, fib::cFibMatrix, fib::cComment, fib::cFunction, fib::cIf, fib::cList, fib::cArea, fib::cPoint, fib::cProperty, and fib::cFibSet.

bool fib::cFibElement::evalueObjectSimple ( iEvaluePosition evaluePosition,
const unsignedIntFib  objectPoint = 0 
) const

This method evaluades the Fib-object.

strategy

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 partobjects to evalue
Returns:
if the evalueation was successfull true, else false
bool fib::cFibElement::evalueObjectSimple ( iEvalueFibElement evalueFibElement,
const unsignedIntFib  objectPoint = 0,
const list< char >  liCFibElementTyps = list< char >() 
)

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 pointelement is given back. The type chars for pointelements don't need to be in the list liCFibElementTyps.

strategy

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 partobjects to evalue
liCFibElementTypsa list with the type chars (
See also:
getType) of the Fib-elements to return
Returns:
if the evalueation was successfull true, else false
virtual cRoot* fib::cFibElement::getAccessibleRootObject ( longFib  lIdentifier)
virtual

This method returns the from this Fib-element accessible root -object for the given identifier. If non such exists the Nullpointer NULL is returned.

Parameters:
lIdentifierthe identifier of the root-object to return
Returns:
the accessible root-object for the given identifier or NULL if non such exists

Reimplemented in fib::cRoot.

virtual list<longFib> fib::cFibElement::getAllAccessibleRootObjectIdentifiers ( ) const
virtual

This method returns the identifiers of all from this Fib-element accessible root-objects of this object.

Returns:
the identifiers of all accessible root-objects

Reimplemented in fib::cRoot.

virtual list<longFib> fib::cFibElement::getAllDatabaseObjectIdentifiers ( ) const
virtual

This method returns the identifiers of all database -objects, in the actual database.

Returns:
the identifiers of all database -objects

Reimplemented in fib::cRoot.

list<cFibElement*> fib::cFibElement::getAllFibElements ( char  cTypeBasis = 'u',
longFib  lNumber = 1,
char  cType = 'u',
edDirection  direction = ED_ALL,
unsignedLongFib  lNumberOfMaxReturnedElements = 0,
bool  bAbsolute = false 
)

This method returns a number of (lNumberOfMaxReturnedElements) Fib-elements beginning from the reference Fib-element in the given direction of the given type cType.

Parameters:
cTypeBasisthe type of the reference Fib-element
lNumberthe number of the reference Fib-element to return
cTypethe type of the Fib-elements to return; 'w' stands for wrong/ not correct Fib-elements
directionthe direction, beginning from the reference Fib-element, in which the to return Fib-elements should stand
lNumberOfMaxReturnedElementsthe maximal number of Fib-elements to return
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a list with the pointers to the to returning Fib-elements
virtual list<cFibElement*> fib::cFibElement::getAllFibElementsFromPosition ( char  cType,
edDirection  direction,
unsignedLongFib  lNumberOfMaxReturnedElements 
)
protectedpure virtual

This method returns a number of (lNumberOfMaxReturnedElements) Fib-elements beginning from the actual Fib-element in the given direction of the given type cType. The actual Fib-element will never be included in the returned list.

Parameters:
cTypethe type of the Fib-elements to return; 'w' stands for wrong/ not correct Fib-elements
directionthe direction, beginning from the reference Fib-element, in which the to return Fib-elements should stand
lNumberOfMaxReturnedElementsthe maximal number of Fib-elements to return
Returns:
a list with the pointers to the to returning Fib-elements

Implemented in fib::cFibBranch, fib::cFibLeaf, and fib::cFibLimb.

virtual list<longFib> fib::cFibElement::getAllRootObjectIdentifiers ( ) const
virtual

This method returns the identifiers of all root-objects of this object.

Returns:
the identifiers of all root-objects of this object

Reimplemented in fib::cRoot.

virtual unsignedLongFib fib::cFibElement::getCompressedSize ( ) const
pure virtual

This method evaluades the size of the Fib-object in bits in the compressed file form. The optionalpart field of root-elements will be ignored.

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

Implemented in fib::cRoot, fib::cExtSubobject, fib::cExtObject, fib::cFibMatrix, fib::cComment, fib::cList, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cProperty, and fib::cFibSet.

virtual cFibElement* fib::cFibElement::getConstFibElement ( longFib  lNumber,
bool  bAbsolute = false 
) const
virtual

This method returns the lNumber'th Fib-element in the order of Fib-elements.

Parameters:
lNumberthe number of the Fib-Element to return
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a pointer to the lNumber'th Fib-element in the order of Fib-elements or the NULL pointer if non such exists
virtual cFibElement* fib::cFibElement::getConstFibElement ( char  cType,
longFib  lNumber,
bool  bAbsolute = false 
) const
virtual

This method returns the lNumber'th Fib-element in the order of Fib-elements of the given type cTyp with the given type cTyp.

Parameters:
cTypethe type of the Fib-element to return
lNumberthe number of the Fib-element to return
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a pointer to the lNumber'th Fib-element in the order of Fib-elements with the given type or the NULL pointer if non such exists
virtual list<cFibVariable*> fib::cFibElement::getDefinedVariables ( edDirection  direction = ED_HIGHER)
virtual

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

See also:
cFibVariable
getUsedVariables()
isDefinedVariable()
Parameters:
directionthe direction from this Fib-element, in which the variable should be defined; standard value is ED_HIGHER so yust higher Fib-elements will be checked
Returns:
the set with all variables defined in the given direction from this Fib-element
virtual list< cFibVariable* > fib::cFibElement::getDefinedVariablesInternal ( edDirection  direction = ED_HIGHER,
const cFibElement pCallingFibElement = NULL 
)
protectedpure virtual

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; standard value is ED_POSITION so yust this Fib-element will be checked
pCallingFibElementthe Fib-Element which called this method
Returns:
the set with all variables used in the given direction from this Fib-element

Implemented in fib::cRoot, fib::cExtObject, fib::cFibBranch, fib::cFibLeaf, fib::cFibLimb, fib::cFibMatrix, fib::cFibSet, fib::cArea, and fib::cFunction.

virtual unsignedIntFib fib::cFibElement::getDimensionMapping ( unsignedIntFib  iDimensionNumber) const
virtual

This method returns in which direction the iDimensionNumber dimension is mapped.

Parameters:
iDimensionNumberthe number of the dimension for which the mapping is to be returned
Returns:
the direction in which the iDimensionNumber dimension is mapped

Reimplemented in fib::cRoot.

cFibElement* fib::cFibElement::getFibElement ( longFib  lNumber,
bool  bAbsolute = false 
)

This method returns the lNumber'th Fib-element in the order of Fib-elements.

Parameters:
lNumberthe number of the Fib-Element to return
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a pointer to the lNumber'th Fib-element in the order of Fib-elements or the NULL pointer if non such exists
cFibElement* fib::cFibElement::getFibElement ( char  cType,
longFib  lNumber,
bool  bAbsolute = false 
)

This method returns the lNumber'th Fib-element in the order of Fib-elements of the given type cTyp with the given type cTyp.

Parameters:
cTypethe type of the Fib-element to return
lNumberthe number of the Fib-element to return
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a pointer to the lNumber'th Fib-element in the order of Fib-elements with the given type or the NULL pointer if non such exists
cFibElement* fib::cFibElement::getMasterRoot ( )
protected
Returns:
the highest Fib-element in the wool Fib-object this Fib-element is part of
cFibElement* fib::cFibElement::getMasterRoot ( ) const
protected
Returns:
the highest Fib-element in the wool Fib-object this Fib-element is part of
virtual cFibElement* fib::cFibElement::getNextFibElement ( )
virtual

This method returns the next Fib-element in the order of Fib-elements.

Returns:
a pointer to the next Fib-element in the order of Fib-elements or the NULL pointer if non such exists
virtual cFibElement* fib::cFibElement::getNextFibElement ( char  cType)
virtual

This method returns the next Fib-element in the order of Fib-elements with the given type cTyp.

Parameters:
cTypethe type of the Fib-element to return
Returns:
a pointer to the next Fib-element in the order of Fib-elements with the given type or the NULL pointer if non such exists
virtual unsignedIntFib fib::cFibElement::getNumberOfDimensions ( ) const
virtual

This method returns the number of dimensions in this Fib-Multimediaobject.

Returns:
the number of dimensions in

Reimplemented in fib::cRoot.

virtual unsignedIntFib fib::cFibElement::getNumberOfElement ( bool  bOfType = false) const
virtual

This method returns the number of this Fib-element in the order of Fib-Elements or order of Fib-Elements of the same type if bOfType is true.

See also:
getNumberOfElements()
Parameters:
bOfTypeif true the returned number is the number the order of Fib-elements of the same type as this Fib-Element, else in the order of all Fib-elements
Returns:
the number of this Fib-element in the order of fib -Elements or order of Fib-Elements of the same type if bOfType is true
virtual unsignedIntFib fib::cFibElement::getNumberOfElements ( char  cType = 'u') const
pure virtual

This method returns the number of Fib-elements of a type in this fib -object.

See also:
getType()
getNumberOfElement()
Parameters:
cTypethe character of the type (
See also:
getType() ), for which the elements should be counted; u (the standartvalue) stands for Fib-Elements of any type
Returns:
the number of Fib-elements of a type in the Fib-object

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual unsignedIntFib fib::cFibElement::getNumberOfMovePoint ( ) const
virtual

This method returns the number of this Fib-element in the order of move points.

See also:
getNumberOfMovePoints()
Returns:
the number of this Fib-element in the order of move points
virtual unsignedIntFib fib::cFibElement::getNumberOfMovePoints ( ) const
pure virtual

This method returns the number of move points in this Fib-object.

See also:
getNumberOfMovePoint()
Returns:
the number of move points in this Fib-object

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual unsignedIntFib fib::cFibElement::getNumberOfObjectPoint ( ) const
virtual

This method returns the number of the next connected object point in the order of connected object points that conntains this fib -element.

See also:
getNumberOfObjectPoints()
Returns:
the number of the next connected object point for this fib -element
virtual unsignedIntFib fib::cFibElement::getNumberOfObjectPoint ( unsignedIntFib  uINumberOfStartFibElement) const
protectedvirtual

This method returns the number of the next connected object point in the order of connected object points that conntains this fib -element.

Parameters:
uINumberOfStartFibElementthe number, in the order of all Fib-elements, of the Fib-element for which the connected object point is to return
See also:
getNumberOfObjectPoint
getNumberOfObjectPoints()
Returns:
the number of the next connected object point for this fib -element

Reimplemented in fib::cFibBranch, and fib::cFibLeaf.

virtual unsignedIntFib fib::cFibElement::getNumberOfObjectPoints ( ) const
pure virtual

This method returns the number of object points in this Fib-object.

See also:
getNumberOfObjectPoint()
Returns:
the number of object points in this Fib-object

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual list<unsignedIntFib> fib::cFibElement::getObjectPointsForElement ( const cFibElement pFibElement,
bool  bAbsolute = false 
) const
virtual

This method returns the numbers of all object points that contain the elementPoint Fib-element of the type cType.

See also:
getNumberOfElement()
getNumberOfElements()
getNumberOfObjectPoint()
getNumberOfObjectPoints()
getType()
Parameters:
pFibElementthe Fib-element for which the object points are to evalue
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
a list of the numbers of all object points that contain the elementPoint Fib-element of the type cType
virtual cRoot* fib::cFibElement::getRootObject ( longFib  lIdentifier)
virtual

This method returns the root-object for the given identifier. If non such exists the Nullpoint NULL is returned.

Parameters:
lIdentifierthe identifier of the root-object to return
Returns:
the root-object for the given identifier or NULL if non such exists

Reimplemented in fib::cRoot.

virtual cFibElement* fib::cFibElement::getSuperiorFibElement ( )
virtual

This method returns the superior Fib-element of this Fib-element.

Returns:
the superior Fib-element of this Fib-element or the NULL pointer, if non such exists
virtual cRoot* fib::cFibElement::getSuperiorRootElement ( )
virtual
Returns:
a pointer to the next superior root element or NULL, if non such exists
virtual const cRoot* fib::cFibElement::getSuperiorRootElement ( ) const
virtual
Returns:
a pointer to the next superior root element or NULL, if non such exists
virtual unsignedLongFib fib::cFibElement::getTimeNeed ( unsignedLongFib  lMaxTime = 0) const
pure 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 exceed 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

Implemented in fib::cRoot, fib::cExtSubobject, fib::cExtObject, fib::cFibMatrix, fib::cComment, fib::cFunction, fib::cIf, fib::cList, fib::cArea, fib::cPoint, fib::cProperty, and fib::cFibSet.

virtual char fib::cFibElement::getType ( ) const
pure 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

Implemented in fib::cRoot, fib::cExtSubobject, fib::cExtObject, fib::cComment, fib::cFibMatrix, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cList, fib::cProperty, and fib::cFibSet.

static string fib::cFibElement::getTypeName ( char  cType)
static

This function converts a element type character into a string with the element name.

See also:
getType
Parameters:
cTypea character for the type of a Fib-element, like the getTyp() returns it
Returns:
a string with the name of the Fib-element for the given character
virtual set<cFibVariable*> fib::cFibElement::getUsedVariables ( edDirection  direction = ED_POSITION)
pure virtual

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

See also:
cFibVariable
isDefinedVariable()
Parameters:
directionthe direction from this Fib-element, in which the variable should be used; standard 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

Implemented in fib::cExtObject, fib::cExtSubobject, fib::cFibMatrix, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cProperty, fib::cFibSet, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual cDomains fib::cFibElement::getValidDomains ( ) const
virtual

This method returns the domains that are valid for this Fib-element.

Returns:
the domains that are valid for this Fib-element

Reimplemented in fib::cRoot.

virtual cDomains fib::cFibElement::getValidValueDomains ( ) const
virtual

This method returns the value domains that are valid for this Fib-element.

Returns:
the value domains that are valid for this Fib-element

Reimplemented in fib::cRoot.

virtual bool fib::cFibElement::hasUnderAllObjects ( ) const
pure virtual

This method checks, if all Fib-elements of this Fib-object have the subobjects they need to be correct.

Returns:
true if all Fib-elements of this Fib-object have the subobjects they need to be correct, else false

Implemented in fib::cIf, fib::cFibBranch, fib::cFibLimb, fib::cFibLeaf, fib::cRoot, and fib::cList.

virtual bool fib::cFibElement::insertElement ( cFibElement fibElement,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
)
pure virtual

This method inserts the given Fib-element fibElement on the specified position. The replaced Fib-element will be the subobject of the inserted Fib-element fibElement.

See also:
getNumberOfElement()
getNumberOfElements()
getType()
Parameters:
cTypethe type of the Fib-element instead of which the given Fib-element fibElement should be inserted
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, in which position the given Fib-element fibElement should be inserted; if 0 the given fibElement will be inserted under this Fib-element
fibElementthe Fib-element to insert
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
bCheckVariablesif true (standard value) it will be checked if the variables the Fib-element defines are needed, else the Fib-element will be removed even if its variables are needed elsewher
Returns:
true if the Fib-element fibElement was inserted, else false

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::insertObjectInElement ( cFibElement fibObject,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  first = true,
bool  bAbsolute = false 
)
pure virtual

This method inserts the given Fib-object fibObject on the specified position. On the specified position a listelement will be inserted, with the old Fib-object and the given Fib-object fibObject as its subobjects.

See also:
getNumberOfElement()
getNumberOfElements()
overwriteObjectWithObject()
getType()
Parameters:
cTypethe type of the Fib-element, on which position the given Fib-object fibObject should be inserted
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, on which position the given Fib-object fibObject should be inserted
fibObjectthe Fib-object to insert
firstif true, the inserted object will be the first subobject of the new listelement
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
true if the Fib-object fibObject was inserted, else false

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::isBranch ( ) const
virtual
Returns:
this method returns true if this Fib-element is an branchelement, alse false

Reimplemented in fib::cFibBranch.

virtual bool fib::cFibElement::isDefinedVariable ( const cFibVariable variable,
edDirection  direction = ED_POSITION 
) const
virtual

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

See also:
cFibVariable
isUsedVariable()
Parameters:
variablethe variable to check if it is defined
directionthe direction from this Fib-element, in which the variable should be defined; standard value is ED_POSITION so yust this Fib-element will be checked
Returns:
true if the variable is defined, else false
virtual bool fib::cFibElement::isDefinedVariableInternal ( const cFibVariable variable,
edDirection  direction = ED_POSITION,
const cFibElement pCallingFibElement = NULL 
) const
protectedpure virtual

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:
variablethe variable to check if it is defined
directionthe direction from this Fib-element, in which the variable should be defined; standard 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

Implemented in fib::cRoot, fib::cExtObject, fib::cFibBranch, fib::cFibLeaf, fib::cFibLimb, fib::cFibMatrix, fib::cFibSet, fib::cArea, and fib::cFunction.

virtual bool fib::cFibElement::isLeaf ( ) const
virtual
Returns:
this method returns true if this Fib-element is an leafelement, alse false

Reimplemented in fib::cFibLeaf.

virtual bool fib::cFibElement::isLimb ( ) const
virtual
Returns:
this method returns true if this Fib-element is an limbelement, alse false

Reimplemented in fib::cFibLimb.

virtual bool fib::cFibElement::isMovable ( ) const
virtual
Returns:
true if this Fib-element is movebel else false

Reimplemented in fib::cFibLimb, fib::cRoot, fib::cExtObject, and fib::cFibLeaf.

virtual bool fib::cFibElement::isRemovableElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
) const
virtual

This method checks, if the Fib-element on the specified position is deletable. An deletable Fib-element doesn't make the Fib-object invalid if it is deleted (e.g. points- and listelements are never deletable).

See also:
removeElement()
cutElement()
getType()
Parameters:
cTypethe type of the Fib-element to check
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, to check
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
bCheckVariablesif true (standard value) it will be checked if the variables the Fib-element defines are needed, else the Fib-element will be removed even if its variables are needed elsewher
Returns:
true if the Fib-element is deletable, else false

Reimplemented in fib::cFibBranch, and fib::cFibLeaf.

virtual bool fib::cFibElement::isUsedVariable ( const cFibVariable variable,
edDirection  direction = ED_POSITION 
) const
pure 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; standard value is ED_POSITION so yust this Fib-element will be checked
Returns:
true if the variable is used, else false

Implemented in fib::cExtObject, fib::cExtSubobject, fib::cFibMatrix, fib::cFunction, fib::cIf, fib::cArea, fib::cPoint, fib::cProperty, fib::cFibSet, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::isValidFibElement ( ) const
pure 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

Implemented in fib::cRoot, fib::cExtObject, fib::cFibMatrix, fib::cExtSubobject, fib::cList, fib::cFibSet, fib::cFunction, fib::cIf, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual intFib fib::cFibElement::moveLimbElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
const intFib  iHowfar = 1,
bool  bAbsolute = false 
)
pure virtual

This method moves a Fib-limb -element (cFibLimb) on the specified position over iHowfar Fib-elements. Moving is stoped if an invalid Fib-object would result (e.g. no fib -element can be moved over an Fib-elements that defines a variable the moved Fib-element uses). Moving an Fib-element into an listelement will result in an listelement with the moved element in everyone of it's subobjects.

See also:
isDeletableElement()
removeElement()
getType()
Parameters:
cTypethe type of the Fib-element to move
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, to move
iHowfarthe number of Fib-elements over which the to move Fib-element should be moved; if this value is positiv the fib -element will be moved over Fib-elements it contains else over Fib-elements it is contained in
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
Returns:
the number of Fib-Elements over which the to move fib -element was moved; if this value is positiv the Fib-element was moved over Fib-elements it contains else over Fib-elements it is contained in

Implemented in fib::cRoot, fib::cExtObject, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

intFib fib::cFibElement::moveLimbElementUp ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
const unsignedIntFib  uiHowfar = 1,
bool  bAbsolute = false 
)
protected

This method moves a Fib-limb -element (cFibLimb) on the specified position over uiHowfar Fib-elements up. Moving is stoped if an invalid Fib-object would result (e.g. no fib -element can be moved over an Fib-elements that defines a variable the moved Fib-element uses). Moving an Fib-element into an listelement will result in an listelement with the moved element in everyone of it's subobjects.

See also:
moveLimbElement()
isDeletableElement()
removeElement()
getType()
Parameters:
cTypethe type of the Fib-element to move
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, to move
uiHowfarthe number of Fib-elements over which the to move Fib-element should be moved up
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
Returns:
the number of Fib-Elements over which the to move fib -element was moved
virtual unsignedIntFib fib::cFibElement::objectPointToElementPoint ( const unsignedIntFib  uiObjectPoint,
bool  bAbsolute = false 
) const
pure virtual

This method returns the number of the Fib-element over wich the objectPoint object point is defined.

See also:
getNumberOfElement()
getNumberOfElements()
getNumberOfObjectPoint()
getNumberOfObjectPoints()
Parameters:
uiObjectPointthe number of the object point for which the definig Fib-element number should be returned
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
the number of the Fib-element over wich the objectPoint object point is defined

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::overwriteObjectWithObject ( cFibElement fibObject,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bDeleteOld = true,
bool  bAbsolute = false 
)
pure virtual

This method overwrites the Fib-object on specified position with the given Fib-object fibObject. The Fib-object on specified position will be replaced with the given Fib-object fibObject.

See also:
getNumberOfElement()
getNumberOfElements()
insertObjectInElement()
getType()
Parameters:
cTypethe type of the Fib-element, on which position the given Fib-object fibObject should be inserted
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, on which position the given Fib-object fibObject should be inserted
fibObjectthe Fib-object to insert
bDeleteOldif true, delete the old Fib-object from the memory
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
Returns:
true if the old Fib-object was overwritten and the given Fib-object fibObject was inserted, else false

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::registerNewFibElement ( cFibElement newFibElement,
unsignedIntFib  uINumberOfFibElement,
bool  bDirectionUp 
)
protectedpure virtual

With this method a new Fib-element in the Fib-Object is registert by the other Fib-elements in the Fib-Object.

Parameters:
newFibElementthe new Fib-element to register
uINumberOfFibElementthe number of the new Fib-element in the order of all Fib-Elements in the Fib-object
bDirectionUpthe direction in which the registration of the new Fib-element is performed in the Fib-object tree; from the position on which the new Fib-Element is added the method is called for both directions
Returns:
true if the registration was successfull, else false

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::registerNewFibObject ( cFibElement newfibObject,
unsignedIntFib  uILowerNumberOfFibElements,
unsignedIntFib  uIUpperNumberOfFibElements,
bool  bDirectionUp 
)
protectedpure virtual

With this method a new part Fib-object in the Fib-Object is registert by the other Fib-elements in the Fib-Object.

Parameters:
newfibObjectthe new part Fib-object to register
uILowerNumberOfFibElementsthe number of the Fib-element in the new part Fib-object with the lowest number in the order of all Fib-Elements in the entire Fib-object
uIUpperNumberOfFibElementsthe number of the Fib-element in the new part Fib-object with the highest number in the order of all Fib-Elements in the entire Fib-object
bDirectionUpthe direction in which the registration of the new part Fib-object is performed in the Fib-object tree;
Returns:
true if the registration was successfull, else false

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::removeElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
)
virtual

This method removes the Fib-element on the specified position.

See also:
isDeletableElement()
getType()
Parameters:
cTypethe type of the Fib-element to remove
elementPointthe number of the Fib-element, in the order of Fib-elements of the given type cType, to remove
bAbsoluteif the elementPoint is an absolute value for the wool Fib-object
bCheckVariablesif true (standard value) it will be checked if the variables the Fib-element defines are needed, else the Fib-element will be removed even if its variables are needed elsewher
Returns:
true if the Fib-element was removed, else false
virtual bool fib::cFibElement::removeObject ( const unsignedIntFib  objectPoint,
bool  bDeleteOld = true,
bool  bAbsolute = false 
)
pure virtual

This method removes the connected object with the given number in the order of connected object points. For this the defining subobject in an listelement will be removed. If the listelement contains after the operation yust one subobject, the listelement will be replaced with the subobject.

Parameters:
objectPointthe number of the connected object to remove
bDeleteOldif true, delete the connected object from the memory, else yust remove it's pointers
bAbsoluteif the objectPoint is an absolute value for the wool Fib-object
Returns:
true if the connected Fib-object was removed, else false

Implemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

virtual bool fib::cFibElement::replaceVariable ( cFibVariable variableOld,
cFibVariable variableNew 
)
pure virtual

This method replace the variable variableOld with the variable variableNew in the object. Don't touch variable definitions, just the uses of the varaible variableOld will be changed.

See also:
cFibVariable
isUsedVariable()
isDefinedVariable()
Parameters:
variableOldthe variable to replace
variableNewthe variable with which the variable variableOld is to replace
Returns:
true if the variable variableOld is replaced with variableNew, else false

Implemented in fib::cExtSubobject, fib::cFibMatrix, fib::cFunction, fib::cIf, fib::cExtObject, fib::cArea, fib::cPoint, fib::cProperty, fib::cFibSet, fib::cFibBranch, and fib::cFibLimb.

static cFibElement* fib::cFibElement::restore ( istream &  stream,
intFib outStatus = NULL 
)
static

This method restores this Fib-object from the stream where it is stored in the compressed Fib-format.

Factory Method

Parameters:
streamthe stream where this Fib-object is stored to in
outStatusAn pointer to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues 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
Returns:
the readed Fib-object or the Nullpointer NULL, if reading was not possible
static cFibElement* fib::cFibElement::restoreInternal ( cReadBits iBitStream,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables,
const cDomains validDomains,
cRoot pNextRoot 
)
staticprotected

This method restores a (non root) Fib-object from the stream where it is stored in the compressed Fib -format. This method is for internal use only.

Parameters:
iBitStreamthe stream where this Fib-object is stored to in, because this stream is an cReadBits, any number of bits can be readed from it
outStatusAn reference to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues 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
Returns:
the readed Fib -object or the Nullpointer NULL, if reading was not possible
static cRoot* fib::cFibElement::restoreRootInternal ( cReadBits iBitStream,
intFib outStatus,
cRoot pNextRoot 
)
staticprotected

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

Parameters:
iBitStreamthe stream where this rootobject is stored to in, because this stream is an cReadBits, any number of bits can be readed from it
outStatusAn reference to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues 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
pNextRootthe next higher root-element for the to restore Fib-elements, or the last restored root-element; if NULL the next Fib-element restored will be an root-element
Returns:
the readed rootobject or the Nullpointer NULL, if reading was not possible
static cFibElement* fib::cFibElement::restoreXml ( istream &  stream,
intFib outStatus = NULL 
)
static

This method restores this Fib-object from the stream where it is stored in the XML -format.

Factory Method

Parameters:
streamthe stream where the Fib-object is stored in
outStatusAn pointer to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues 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
Returns:
the readed Fib-object or the Nullpointer NULL, if reading was not possible
static cFibElement* fib::cFibElement::restoreXml ( const TiXmlNode *  pXmlNode,
intFib outStatus = NULL 
)
static

This method restores this Fib-object from the TinyXml handle where it is stored.

Factory Method

Parameters:
pXmlNodea pointer to the TinyXml node the Fib-object is stored in
outStatusAn pointer to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid node
  • -2 loading error, invalid data in node
  • 1 loading warning, invalid data in node, error could be corrected
  • 2 loading warning, invalid data in node, maybe the loaded object is wrong
Returns:
the readed Fib-object or the Nullpointer NULL, if reading was not possible
static cFibElement* fib::cFibElement::restoreXml ( const TiXmlNode *  pXmlNode,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables 
)
static

This method restores this Fib-object from the TinyXml node where it is stored.

Factory Method

Parameters:
pXmlNodea pointer to the TinyXml node 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 node
  • -2 loading error, invalid data in node
  • 1 loading warning, invalid data in node, error could be corrected
  • 2 loading warning, invalid data in node, 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
Returns:
the readed Fib -object or the Nullpointer NULL, if reading was not possible
static cFibElement* fib::cFibElement::restoreXmlInternal ( const TiXmlNode *  pXmlNode,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables 
)
staticprotected

This method restores this Fib-object from the TinyXml node where it is stored.

Parameters:
pXmlNodea pointer to the TinyXml node 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 node
  • -2 loading error, invalid data in node
  • 1 loading warning, invalid data in node, error could be corrected
  • 2 loading warning, invalid data in node, 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
Returns:
the readed Fib -object or the Nullpointer NULL, if reading was not possible
virtual bool fib::cFibElement::store ( ostream &  stream) const
virtual

This method stores this Fib-object in the compressed Fib-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
virtual bool fib::cFibElement::storeBit ( ostream &  stream,
char &  cRestBits,
unsigned char &  uiRestBitPosition 
) const
protectedpure virtual

This method stores this Fib-object in the compressed Fib-format into the given stream. It is needed becouse 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

Implemented in fib::cRoot, fib::cExtObject, fib::cIf, fib::cFibMatrix, fib::cExtSubobject, fib::cFibSet, fib::cArea, fib::cList, fib::cFunction, fib::cPoint, fib::cProperty, and fib::cComment.

virtual bool fib::cFibElement::storeXml ( ostream &  stream) const
pure 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

Implemented in fib::cRoot, fib::cExtObject, fib::cFunction, fib::cIf, fib::cExtSubobject, fib::cArea, fib::cPoint, fib::cProperty, fib::cFibMatrix, fib::cComment, fib::cFibSet, and fib::cList.

virtual unsignedIntFib fib::cFibElement::typeElementPointToElementPoint ( const char  cType,
const unsignedIntFib  elementPoint,
bool  bAbsolute = false 
) const
virtual

This method converts the number of the elementPoint Fib-element of the type cType in this Fib-object to the number it has in the order of all Fib-elements.

See also:
getNumberOfElement()
getNumberOfElements()
getType()
Parameters:
cTypethe type the original Fib-element has
elementPointthe number of the original Fib-element in the order of Fib-elements of the type cType
bAbsoluteif the lNumber is an absolute value for the wool Fib-object
Returns:
the number of the elementPoint Fib-element of the type cType in this Fib-object has in the order of all Fib-elements
virtual bool fib::cFibElement::updateAllValues ( )
protectedvirtual

This method updates the values/ properties off all Fib-elements in the whool Fib-object this Fib-element is part of.

The highest Fib-element needs to be reachebel from this Fib-element and every subobject should have all it's subobjects.

virtual cFibElement* fib::cFibElement::updateValues ( cFibElement previosFibElement = NULL,
cFibElement pNextArm = NULL 
)
protectedvirtual

This method updates the values/ properties off all Fib-elements in this Fib-object beginning with this Fib-element. Every subobject should have all it's subobjects.

Parameters:
previosFibElementthe prvios Fib-element to this Fib-element in the order of Fib-elements; if it is NULL ther is no previos Fib-element to this
pNextArmthe next arm Fib-object in the next higher Fib-brancheelement
Returns:
a pointer to the last evalued Fib-element; if NULL an error has occured

Reimplemented in fib::cFibBranch, fib::cFibLimb, and fib::cFibLeaf.

bool fib::cFibElement::variablesAreDefined ( const set< cFibVariable * > &  setVariable,
edDirection  direction = ED_HIGHER 
) const

This method checks if the variables in the given variableset are defined in the given direction from this Fib-element.

See also:
cFibVariable
isUsedVariable()
Parameters:
setVariablethe set with the variable to check, if it is defined
directionthe direction from this Fib-element, in which the variables should be defined; standard value is ED_HIGHER so yust higher Fib-elements will be checked
Returns:
true if the variables is are all defined, else false

Friends And Related Function Documentation

friend class cArea
friend

Definition at line 110 of file cFibElement.h.

friend class cComment
friend

Definition at line 112 of file cFibElement.h.

friend class cExtObject
friend

Reimplemented in fib::cRoot.

Definition at line 113 of file cFibElement.h.

friend class cFibBranch
friend

Reimplemented in fib::cRoot, fib::cFibLimb, fib::cExtObject, and fib::cIf.

Definition at line 103 of file cFibElement.h.

friend class cFibLeaf
friend

Definition at line 105 of file cFibElement.h.

friend class cFibLimb
friend

Definition at line 104 of file cFibElement.h.

friend class cFibMatrix
friend

Definition at line 115 of file cFibElement.h.

friend class cFibSet
friend

Definition at line 114 of file cFibElement.h.

friend class cFibVariable
friend

Definition at line 116 of file cFibElement.h.

friend class cFunction
friend

Definition at line 111 of file cFibElement.h.

friend class cIf
friend

Definition at line 108 of file cFibElement.h.

friend class cList
friend

Definition at line 107 of file cFibElement.h.

friend class cProperty
friend

Reimplemented in fib::cRoot.

Definition at line 109 of file cFibElement.h.

friend class cRoot
friend

Reimplemented in fib::cExtObject, and fib::cComment.

Definition at line 106 of file cFibElement.h.


Member Data Documentation

cFibElement* fib::cFibElement::pNextFibElement
protected

the next Fib-element in the order of Fib-elements or the Nullpointer NULL if ther is non such

Definition at line 138 of file cFibElement.h.

cRoot* fib::cFibElement::pNextRootElement
protected

the next root-element; This is the next root-element this Element is contained in.

Definition at line 144 of file cFibElement.h.

cFibElement* fib::cFibElement::pPreviousFibElement
protected

the previous Fib-element in the order of Fib-elements or the Nullpointer NULL if ther is non such

Definition at line 132 of file cFibElement.h.

cFibElement* fib::cFibElement::pSuperiorElement
protected

the Fib-element in which this Fib-element is the subobject or the Nullpointer NULL if ther is non such

Definition at line 122 of file cFibElement.h.

unsignedIntFib fib::cFibElement::uINumberOfFibElement
protected

the number of this Fib-element in the order of all Fib-elements

Definition at line 149 of file cFibElement.h.


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