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

#include <cRoot.h>

Inheritance diagram for fib::cRoot:
Collaboration diagram for fib::cRoot:

List of all members.

Public Member Functions

 cRoot (cRoot *pInSuperiorRootElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInMainFibObject=NULL)
 cRoot (const cRoot &rootElement)
virtual ~cRoot ()
virtual char getType () const
virtual bool isValidFibElement () const
virtual bool hasUnderAllObjects () 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 unsignedLongFib getCompressedSize (bool bWriteOptionalPart) const
virtual bool isMovable () const
virtual cFibElementcopyElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false) const
virtual bool equal (const cFibElement &fibObject) const
virtual bool equalElement (const cFibElement &fibElement) const
virtual bool equalValuesSet (const cFibVariable *variableOwn, const cFibElement &fibElement, const cFibVariable *variable) const
virtual bool storeXml (ostream &stream) 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 cFibElementcutElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true)
virtual intFib moveLimbElement (const char cType='u', const unsignedIntFib elementPoint=0, const intFib iHowfar=1, bool bAbsolute=false)
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 getValidDomains (const bool bInherit) const
cDomains getValidPureValueDomains (const bool bInherit=false) const
virtual cDomains getValidValueDomains () const
virtual unsignedIntFib getNumberOfDimensions () const
virtual unsignedIntFib getDimensionMapping (unsignedIntFib iDimensionNumber) const
bool setMainFibObject (cFibElement *pInMainFibObject)
cMultimediaInfogetMultimediaInfo ()
cOptionalPartgetOptionalPart ()
cDomainsgetDomains ()
cDomainsgetValueDomains ()
void generateNeededDomains (const bool bAddAllValueDomains=false)
unsignedIntFib getNumberOfInputVariables () const
bool setNumberOfInputVariables (unsignedIntFib uiNumberOfInputVariables)
list< cFibVariable * > getInputVariables ()
cFibVariablegetInputVariable (unsignedIntFib uiNumberOfInputVariable)
doubleFib getStandardValueOfInputVariable (unsignedIntFib uiNumberOfInputVariable) const
bool setStandardValueOfInputVariable (unsignedIntFib uiNumberOfInputVariable, doubleFib dValue)
unsignedIntFib getNumberOfExternSubobjects () const
unsignedIntFib getNumberOfOutputVariables (unsignedIntFib uiNumberOfExtSubobject) const
bool setNumberOfExternSubobjects (unsignedIntFib uiNumberOfExternUnderObjects)
bool setNumberOfOutputVariables (unsignedIntFib uiNumberOfUnderObject, unsignedIntFib uiNumberOfVariables)
unsignedIntFib checkExternSubobjects (intFib *iErrorNumber=NULL)
unsignedIntFib generateExternSubobjectsDefinitions (intFib *iErrorNumber=NULL)
unsignedIntFib getNumberOfSubRootObjects () const
pair< longFib, cRoot * > getSubRootObject (unsignedIntFib uiNumberOfUnderObject)
unsignedIntFib getSubRootObjectNumber (longFib lIdentifier) const
cRootgetSubRootObjectForIdentifier (longFib lIdentifier)
bool addSubRootObject (longFib lIdentifier, cRoot *pRootObject, unsignedIntFib uiPosition=0)
bool deleteSubRootObject (unsignedIntFib uiSubRootObjectNumber, bool bDeleteOld=true)
list< longFibgetAllSubRootObjectIdentifiers () const
set< longFibgetUsedDatabaseIdentifiers () const
void addUsedDatabaseIdentifier (const longFib lIdentifier)
bool deleteUsedDatabaseIdentifier (const longFib lIdentifier)
cVectorChecksumgetChecksum ()
void setChecksum (const cVectorChecksum *checksum=NULL)
- Public Member Functions inherited from fib::cFibBranch
virtual ~cFibBranch ()
virtual bool isUsedVariable (const cFibVariable *variable, edDirection direction=ED_POSITION) const
virtual set< cFibVariable * > getUsedVariables (edDirection direction=ED_POSITION)
virtual bool replaceVariable (cFibVariable *variableOld, cFibVariable *variableNew)
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 removeObject (const unsignedIntFib objectPoint, bool bDeleteOld=true, bool bAbsolute=false)
virtual bool isRemovableElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true) const
bool isBranch () 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 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 store (ostream &stream) const
virtual cRootgetSuperiorRootElement ()
virtual const cRootgetSuperiorRootElement () const
virtual bool isLimb () const
virtual bool isLeaf () const

Static Public Member Functions

static std::string getDatabasePath ()
static bool setDatabasePath (const char *szInDatabasePath)
static bool setDatabasePath (const std::string szInDatabasePath)

Protected Member Functions

 cRoot (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables)
 cRoot (cReadBits &iBitStream, intFib &outStatus, cRoot *pNextRoot)
virtual bool storeBit (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const
virtual bool storeBit (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition, bool bWriteOptionalPart) const
void backupVariablesValues (bool bStoreValues=true)
void syncSubobjects ()
list< longFibgetAllDownRootObjectIdentifiers () const
cRootgetRootObjectDown (longFib lIdentifier)
list< longFibgetAllAccessibleRootObjectIdentifiers (const cRoot *pRoot) const
cRootgetAccessibleRootObject (longFib lIdentifier, const cRoot *pRoot)
bool createStorePropertyOrder ()
unsignedIntFib getBitsForStoredPropertyType () const
bool storePropertyType (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition, const cTypeProperty &propertyType) const
cTypeProperty restorePropertyType (cReadBits &iBitStream, intFib &outStatus) const
cOptionalPartexportCommentsIntoOptionalPart ()
void extractCommentsFromOptionalPart ()
virtual cRootcopyInternal (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)
cExtObjectgetCallingExtObject ()
void setCallingFibElement (cExtObject *pInExtObjectElm)
void unsetCallingFibElement ()
- Protected Member Functions inherited from fib::cFibBranch
 cFibBranch (cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInNextFibElement=NULL, list< cFibElement * > liFibUnderObjects=list< cFibElement * >())
 cFibBranch (const cFibBranch &fibBranchElement)
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 unsignedIntFib getNumberOfObjectPoint (unsignedIntFib uINumberOfStartFibElement) const
virtual list< unsignedIntFibelementPointToObjectPoints (const cFibElement *referenceFibObject, const unsignedIntFib uiLastObjectPoint) const
virtual unsignedIntFib enumerateVariablesForStoring (unsignedIntFib uiLastVariableNumber=0)
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 ()
intFib moveLimbElementUp (const char cType= 'u', const unsignedIntFib elementPoint=0, const unsignedIntFib uiHowfar=1, bool bAbsolute=false)
cFibElementgetMasterRoot ()
cFibElementgetMasterRoot () const

Private Attributes

cFibElementpMainFibObject
list< pair< longFib, cRoot * > > liSubRootObjects
cMultimediaInfo multimediaInfo
cOptionalPart optionalPart
cDomains domains
cDomains valueDomains
cVectorChecksumpChecksum
list< pair< cFibVariable
*, doubleFib > > 
liInputVariables
list< unsignedIntFibliExternSubobjects
set< longFibsetDatabaseIdentifiers
list< cTypePropertyliStorePropertyOrder
list< list< cFibVariable * > > liLiStoredInputVariables
list< cExtObject * > liPExtObjectElm
list< list< cFibVariable * > > liLiStoredBelowVariables

Static Private Attributes

static cFibDatabasepFibDatabase

Friends

class cFibElement
class cProperty
class cFibBranch
class cExtObject
class cExtSubobject

Additional Inherited Members

- Protected Attributes inherited from fib::cFibBranch
list< cFibElement * > fibUnderObjects
- Protected Attributes inherited from fib::cFibElement
cFibElementpSuperiorElement
cFibElementpPreviousFibElement
cFibElementpNextFibElement
cRootpNextRootElement
unsignedIntFib uINumberOfFibElement

Detailed Description

Definition at line 80 of file cRoot.h.


Constructor & Destructor Documentation

fib::cRoot::cRoot ( cRoot pInSuperiorRootElement = NULL,
cFibElement pInPreviousFibElement = NULL,
cFibElement pInMainFibObject = NULL 
)

parameterconstructor

Parameters:
pInSuperiorRootElementthe root-Element in which this root-element is an subobject
pInPreviousFibElementthe Fib Element which stands in th order of Fib-elements befor this Fib-element
pInMainFibObjectthe main Fib object of this root-element
fib::cRoot::cRoot ( const cRoot rootElement)

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

Parameters:
rootElementthe root-element to copy
fib::cRoot::cRoot ( const TiXmlElement *  pXmlElement,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables 
)
protected

The constructor for restoring a rootyelement from an TinyXml element.

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 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::cRoot::cRoot ( cReadBits iBitStream,
intFib outStatus,
cRoot pNextRoot 
)
protected

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
virtual fib::cRoot::~cRoot ( )
virtual

desstructor


Member Function Documentation

bool fib::cRoot::addSubRootObject ( longFib  lIdentifier,
cRoot pRootObject,
unsignedIntFib  uiPosition = 0 
)

This method adds the given root-object to the sub -root-object -list of this root-element. This will fail if:

  • ther is no root-object (rootObject=NULL)
  • the identifier lIdentifier is allready in use somewher in this wool object
Parameters:
lIdentifierthe identifier the root-object should have
pRootObjecta pointer to the root-object to add; the object will not be copied, so don't delete it
uiPositionthe position on which the root-object is to insert in this root-element sub -object -list (counting begins with 1)
Returns:
true if the root-object pRootObject was inserted, else false
void fib::cRoot::addUsedDatabaseIdentifier ( const longFib  lIdentifier)

This method adds the given database identifier to the used database identifiers of this root-element.

See also:
setDatabaseIdentifiers
Parameters:
lIdentifierthe identifer of a database object to add as used by this root-element
void fib::cRoot::backupVariablesValues ( bool  bStoreValues = true)
protected

This method stores the actual variables of this root element, so they can restored later. This method also restores the variable values. Yust one set of values can be stored.

Parameters:
bStoreValuesis true the variables values will be stored, else the stored variables will be restored.
unsignedIntFib fib::cRoot::checkExternSubobjects ( intFib iErrorNumber = NULL)

This method checks the extern subobject of this root-object. It is checked if:

  • every subobject in main -Fib object of this root-object is also defined in the root-object
  • the number of output variables in the definition and the subobject Fib element(s) are the same
  • ever subobject which is defined in this root-object is used somewhere in the main -Fib object
Parameters:
iErrorNumbera pointer to an integerfild, wher an errornumber can be stored; or NULL (standardvalue) if no errornumber should be given back possible errornumbers:
  • 0 no error, everything is OK
  • -1 no main -Fib object
  • -10 an subobject definition is missing
  • -11 different number of output variables
  • -12 not every defined subobject is used
  • -13 the numbers of the subobjects dosn't go from 1 till n
Returns:
the number of the first not correct extern subobject in this root-object or 0 if every subobject is OK
virtual cFibElement* fib::cRoot::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 cRoot* fib::cRoot::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 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

Implements fib::cFibElement.

bool fib::cRoot::createStorePropertyOrder ( )
protected

This method creates the propertytypelist, with the propertytypes in the order they will be counted when stored.

See also:
storeBit()
liStorePropertyOrder
virtual cFibElement* fib::cRoot::cutElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
)
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 (standardvalue) 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

Reimplemented from fib::cFibBranch.

bool fib::cRoot::deleteSubRootObject ( unsignedIntFib  uiSubRootObjectNumber,
bool  bDeleteOld = true 
)

This method deletes the uiSubRootObjectNumber'th sub -root-object in this root-element.

Parameters:
uiSubRootObjectNumberthe number of the sub -root-object in the sub -root-object -list to delete
bDeleteOldif true the sub -root-object will be removed from the memory, else yust the reference will be removed from this root-element; default is true
Returns:
true if the uiSubRootObjectNumber'th sub root-object was deleted, else false
bool fib::cRoot::deleteUsedDatabaseIdentifier ( const longFib  lIdentifier)

This method deletes the given database identifier from the used database identifiers of this root-element.

See also:
setDatabaseIdentifiers
Parameters:
lIdentifierthe identifer of a database object to delete
Returns:
true if the identifier was deleted, else false
virtual bool fib::cRoot::equal ( const cFibElement fibObject) const
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

Reimplemented from fib::cFibBranch.

virtual bool fib::cRoot::equalElement ( const cFibElement fibElement) const
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

Implements fib::cFibElement.

virtual bool fib::cRoot::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 from fib::cFibElement.

virtual bool fib::cRoot::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 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

Implements fib::cFibElement.

virtual bool fib::cRoot::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 pointelement is given back. The type chars for pointelements 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 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

Implements fib::cFibElement.

cOptionalPart* fib::cRoot::exportCommentsIntoOptionalPart ( )
protected

This method exports the comment values into the optional part. It also enumerates the comments. This functionality is for compressed storing of an Fib object.

See also:
storeBit()
cRoot( cReadBits & iBitStream, intFib & outStatus, cRoot * pNextRoot )
Returns:
a pointer to an optional part with the comments texts in it; Beware: You have to delete it after usage
void fib::cRoot::extractCommentsFromOptionalPart ( )
protected

This method removes all comment values from the optional part, which wher stored ther for compressed storing. It will also put the extracted comments into ther commentelements.

See also:
vecComments
getCommentValues()
storeBit()
cRoot( cReadBits & iBitStream, intFib & outStatus, cRoot * pNextRoot )
unsignedIntFib fib::cRoot::generateExternSubobjectsDefinitions ( intFib iErrorNumber = NULL)

This method generates the extern subobject definitions for this root-object. possible errors which aborts the generation process:

  • the number of output variables in the the subobject Fib elements are not the same -the numbers of the subobjects dosn't go from 1 till n
Parameters:
iErrorNumbera pointer to an integerfild, wher an errornumber can be stored; or NULL (standardvalue) if no errornumber should be given back possible errornumbers:
  • 0 no error, everything is OK
  • -1 no main -Fib object
  • -11 different number of output variables
  • -13 the numbers of the subobjects dosn't go from 1 till n
Returns:
the number of the first not correct extern subobject in this root-object or 0 if every subobject is OK
void fib::cRoot::generateNeededDomains ( const bool  bAddAllValueDomains = false)

This method generates all domains, wich are needed to store this Fib-object. Most generated domains are added as value domains of this root-element.

the generated domains are for the typs:

Parameters:
bAddAllValueDomainsif true all domains, which are added as value domains, are added without checking if they are needed
virtual cRoot* fib::cRoot::getAccessibleRootObject ( longFib  lIdentifier)
virtual

This method returns the from this Fib-element accessible 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 accessible root-object for the given identifier or NULL if non such exists

Reimplemented from fib::cFibElement.

cRoot* fib::cRoot::getAccessibleRootObject ( longFib  lIdentifier,
const cRoot pRoot 
)
protected

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

Parameters:
pRoota pointer to the root element, for which the root-elements should be accessible
lIdentifierthe identifier of the root-object to return
Returns:
the accessible root-object for the given identifier or NULL if non such exists
virtual list<longFib> fib::cRoot::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 from fib::cFibElement.

list<longFib> fib::cRoot::getAllAccessibleRootObjectIdentifiers ( const cRoot pRoot) const
protected

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

Parameters:
pRoota pointer to the root element, for which the root-elements should be accessible
Returns:
the identifiers of all accessible root-objects
virtual list<longFib> fib::cRoot::getAllDatabaseObjectIdentifiers ( ) const
virtual

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

Returns:
the identifiers of all database objects

Reimplemented from fib::cFibElement.

list<longFib> fib::cRoot::getAllDownRootObjectIdentifiers ( ) const
protected

This method returns the identifiers of all root-objects in the direction down of this root-element.

See also:
getAllRootObjectIdentifiers()
Returns:
the identifiers of all root-objects in the direction down
virtual list<longFib> fib::cRoot::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 from fib::cFibElement.

list< longFib > fib::cRoot::getAllSubRootObjectIdentifiers ( ) const

This method returns all identifiers of all sub -root-objects in this root-element.

Returns:
all identifiers of all sub -root-objects in this root-element
unsignedIntFib fib::cRoot::getBitsForStoredPropertyType ( ) const
protected

This method evalues the bits needed to store a property type.

See also:
storeBit()
storePropertyType()
createStorePropertyOrder()
liStorePropertyOrder
cExtObject* fib::cRoot::getCallingExtObject ( )
protected

This method returns the extern object element which calls /uses this root-object.

See also:
liPExtObjectElm
setCallingFibElement()
unsetCallingFibElement()
cExtObject
evalueObject()
Returns:
extern object element which calls /uses this root-object (if NULL non exists)
cVectorChecksum* fib::cRoot::getChecksum ( )
Returns:
the checksumvektor of this root-element or NULL if no such exists
virtual unsignedLongFib fib::cRoot::getCompressedSize ( ) const
virtual

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

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

Implements fib::cFibElement.

virtual unsignedLongFib fib::cRoot::getCompressedSize ( bool  bWriteOptionalPart) const
virtual

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

See also:
store()
Parameters:
bWriteOptionalPartif true the size of the optionalpart is evalued, else it is ignored
Returns:
the size of the Fib-object in bits in the compressed form
static std::string fib::cRoot::getDatabasePath ( )
static
See also:
szDatabasePath
Returns:
a string to the actual set database path, the string is empty if no database path is set
virtual list< cFibVariable* > fib::cRoot::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; standardvalue 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

Reimplemented from fib::cFibBranch.

virtual unsignedIntFib fib::cRoot::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 from fib::cFibElement.

cDomains* fib::cRoot::getDomains ( )
Returns:
a pointer to the domains of this root-element
cFibVariable* fib::cRoot::getInputVariable ( unsignedIntFib  uiNumberOfInputVariable)
Parameters:
uiNumberOfInputVariablethe number of the input variable to return
Returns:
the uiNumberOfInputVariable input variable of this root-object
list<cFibVariable*> fib::cRoot::getInputVariables ( )
Returns:
a list with the input variables of this root-object.
cMultimediaInfo* fib::cRoot::getMultimediaInfo ( )
Returns:
a pointer to the multimediainfo of this root-element
virtual unsignedIntFib fib::cRoot::getNumberOfDimensions ( ) const
virtual

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

Returns:
the number of dimensions in

Reimplemented from fib::cFibElement.

unsignedIntFib fib::cRoot::getNumberOfExternSubobjects ( ) const
Returns:
the count of extern subobjects this root-object has
unsignedIntFib fib::cRoot::getNumberOfInputVariables ( ) const
Returns:
the count of input variables for the main Fib object of this root-object
unsignedIntFib fib::cRoot::getNumberOfOutputVariables ( unsignedIntFib  uiNumberOfExtSubobject) const

This method returns the number of output variables of the uiNumberOfExtSubobject'th extern subobject in this root-object, or 0 if the subobject dosn't exists.

Parameters:
uiNumberOfExtSubobjectthe number of the subobject for which the number of output variables is to be returned
Returns:
the count of output variables of the uiNumberOfExtSubobject'th extern subobject in this root-object, or 0 if the subobject dosn't exists
unsignedIntFib fib::cRoot::getNumberOfSubRootObjects ( ) const
Returns:
the count of sub -root-objects in this root-object
cOptionalPart* fib::cRoot::getOptionalPart ( )
Returns:
a pointer to the optionalpart of this root-element or NULL if non such exists.
virtual cRoot* fib::cRoot::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 from fib::cFibElement.

cRoot* fib::cRoot::getRootObjectDown ( longFib  lIdentifier)
protected

This method returns the root-object in the direction down 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
doubleFib fib::cRoot::getStandardValueOfInputVariable ( unsignedIntFib  uiNumberOfInputVariable) const
Parameters:
uiNumberOfInputVariablethe number of the input variable for which the standardvalue is to be return
Returns:
the standardvalue of the uiNumberOfInputVariable input variable of this root-object
pair<longFib, cRoot*> fib::cRoot::getSubRootObject ( unsignedIntFib  uiNumberOfUnderObject)

This method returns the uiNumberOfUnderObject sub -root-object of this root-element or the pair <0,NULL>, if non such exists. The returned pair first element is the identifier of the sub -root -object and the secound is a pointer to the sub -root-object.

Parameters:
uiNumberOfUnderObjectthe number of the sub -root-object to return
Returns:
the uiNumberOfUnderObject't sub -root-objects of this root-object as an (idenitifier, root-object -pointer) -pair or the pair <0,NULL>, if non such exists
cRoot* fib::cRoot::getSubRootObjectForIdentifier ( longFib  lIdentifier)

This method returns the sub -root-object with the identifier lIdentifier in this root-element or NULL if non such exists.

Parameters:
lIdentifieridentifier of the sub -root-object which should be returned return
Returns:
the sub -root-object with the identifier lIdentifier in this root-element or NULL if non such exists
unsignedIntFib fib::cRoot::getSubRootObjectNumber ( longFib  lIdentifier) const

This method returns the number of the sub -root-object with the identifier lIdentifier in this root-element or 0 if non such exists.

Parameters:
lIdentifieridentifier of the sub -root-object for which the number should be returned return
Returns:
the number of the sub -root-object with the identifier lIdentifier in this root-element or 0 if non such exists
virtual unsignedLongFib fib::cRoot::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 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

Implements fib::cFibElement.

virtual char fib::cRoot::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.

set< longFib > fib::cRoot::getUsedDatabaseIdentifiers ( ) const
Returns:
a set with all database identifiers that are given in this root-element as used database objects
See also:
setDatabaseIdentifiers
virtual cDomains fib::cRoot::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 from fib::cFibElement.

virtual cDomains fib::cRoot::getValidDomains ( const bool  bInherit) const
virtual

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

Parameters:
bInheritif true just inherited domains of this root element will be returned else if false all domains will be returned
Returns:
the domains that are valid for this Fib-element
cDomains fib::cRoot::getValidPureValueDomains ( const bool  bInherit = false) const

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

See also:
getValidValueDomains()
getValidDomains()
Parameters:
bInheritif true just inherited domains of this root element will be returned else if false all domains will be returned
Returns:
the value domains that are valid for this Fib-element
virtual cDomains fib::cRoot::getValidValueDomains ( ) const
virtual

This method returns the domains for value that are valid for this Fib element. Missing value domains are added from the (non value) domains.

See also:
getValidPureValueDomains()
getValidDomains()
Returns:
the value domains that are valid for this Fib-element

Reimplemented from fib::cFibElement.

cDomains* fib::cRoot::getValueDomains ( )
Returns:
a pointer to the compressed/ value domains of this root-element
virtual bool fib::cRoot::hasUnderAllObjects ( ) const
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

Reimplemented from fib::cFibBranch.

virtual bool fib::cRoot::insertElement ( cFibElement fibElement,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false,
bool  bCheckVariables = true 
)
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 insted 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 (standardvalue) 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

Reimplemented from fib::cFibBranch.

virtual bool fib::cRoot::insertObjectInElement ( cFibElement fibObject,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  first = true,
bool  bAbsolute = false 
)
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

Reimplemented from fib::cFibBranch.

virtual bool fib::cRoot::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; standardvalue 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::cFibBranch.

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

Reimplemented from fib::cFibElement.

virtual bool fib::cRoot::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::cFibBranch.

virtual intFib fib::cRoot::moveLimbElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
const intFib  iHowfar = 1,
bool  bAbsolute = false 
)
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

Reimplemented from fib::cFibBranch.

virtual bool fib::cRoot::overwriteObjectWithObject ( cFibElement fibObject,
const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bDeleteOld = true,
bool  bAbsolute = false 
)
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

Reimplemented from fib::cFibBranch.

cTypeProperty fib::cRoot::restorePropertyType ( cReadBits iBitStream,
intFib outStatus 
) const
protected

This method restores a propertytype from a stream in the compressed file format.

See also:
storePropertyType()
storeBit()
createStorePropertyOrder()
liStorePropertyOrder
Parameters:
iBitStreamthe stream where this propertytype 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
Returns:
the restored property or the propertytype NONE if it couldn't be restored
void fib::cRoot::setCallingFibElement ( cExtObject pInExtObjectElm)
protected

This method sets the given extern object element as the element which calls /uses this root-object.

See also:
liPExtObjectElm
unsetCallingFibElement()
cExtObject
evalueObject()
Parameters:
pInExtObjectElmextern object element which calls /uses this root-object (if NULL
See also:
unsetCallingFibElement() will be called)
void fib::cRoot::setChecksum ( const cVectorChecksum checksum = NULL)

This method sets the checksumm for this root-element. If no checksumvektor or a NULL -pointer is given, the checksum property for this root-element is disabled.

Parameters:
checksumthe checksumvektor this root-element should have; if NULL (standardvalue ) the checksum will be disabled for this root-element
static bool fib::cRoot::setDatabasePath ( const char *  szInDatabasePath)
static

This function sets the Fib database path to the given path if possible.

See also:
szDatabasePath
Parameters:
szInDatabasePaththe path to the folder with the Fib database objects
Returns:
true if the given Fib database path exists and was set, else false and the database path is not changed
static bool fib::cRoot::setDatabasePath ( const std::string  szInDatabasePath)
static

This function sets the Fib database path to the given path if posible.

See also:
szDatabasePath
Parameters:
szInDatabasePaththe path to the folder with the Fib database objects
Returns:
true if the given Fib database path exists and was set, else false and the database path is not changed
bool fib::cRoot::setMainFibObject ( cFibElement pInMainFibObject)

This method sets the main -Fib object to the given pInMainFibObject.

Parameters:
pInMainFibObjecta pointer to the main -Fib object to set
Returns:
true if the main -Fib object is set to pInMainFibObject, else false
bool fib::cRoot::setNumberOfExternSubobjects ( unsignedIntFib  uiNumberOfExternUnderObjects)

This method sets the number of the extern subobjects this root-object has to the given value uiNumberOfExternUnderObjects. It automaticly creates or delets extern subobjects to or from the end of the extern subobjectslist, till uiNumberOfExternUnderObjects subobjects exsists or the operation is not possible. Underobjects wich are still in use/ still exists in the main -fib -object of this root-object can't be deleted. The number of output variables of the created subobjects will be set to 0.

Parameters:
uiNumberOfExternUnderObjectsthe number of extern subobjects this root-object should have
Returns:
true if the number of extern subobjects is set to uiNumberOfExternUnderObjects, else false
bool fib::cRoot::setNumberOfInputVariables ( unsignedIntFib  uiNumberOfInputVariables)

This method sets the number of input variables, the main Fib object of this root-object should have, to the given number. It will create or delete variables as necessary. Standardvalue of new varibles is the nullvalue of the standarddomain for input variables. Variables which are still in use can't be deleted. The delete process will beginn on the end of the input variablen list and stop if enght variables are deleted or an variable can't be deleted.

Parameters:
uiNumberOfInputVariablesthe number of input variables the main Fib object of this root-object should have
Returns:
true if the number of input variables is set to the given value, else false
bool fib::cRoot::setNumberOfOutputVariables ( unsignedIntFib  uiNumberOfUnderObject,
unsignedIntFib  uiNumberOfVariables 
)

This method sets the number of output variables of the uiNumberOfUnderObject extern subobject in this root-object to the given value uiNumberOfVariables.

Parameters:
uiNumberOfUnderObjectthe number of the subobject for which the number of output variables is to be set
uiNumberOfVariablesthe number of output variables the uiNumberOfUnderObject subobject of this root-object should have
Returns:
true if the number of output variables of the uiNumberOfUnderObject subobject was set to uiNumberOfVariables, else false
bool fib::cRoot::setStandardValueOfInputVariable ( unsignedIntFib  uiNumberOfInputVariable,
doubleFib  dValue 
)

This Method sets the standardvalue of uiNumberOfInputVariable input variable.

Parameters:
uiNumberOfInputVariablethe number of the input variable for which the standardvalue is to be set
dValuethe value to which the standardvalue is to be set
Returns:
true if the standardvalue of the uiNumberOfInputVariable input variable of this root-object is set do dValue, else false
virtual bool fib::cRoot::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 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

Implements fib::cFibElement.

virtual bool fib::cRoot::storeBit ( ostream &  stream,
char &  cRestBits,
unsigned char &  uiRestBitPosition,
bool  bWriteOptionalPart 
) const
protectedvirtual

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
bWriteOptionalPartif true the optionalpart is written
Returns:
true if this Fib-object is stored, else false
bool fib::cRoot::storePropertyType ( ostream &  stream,
char &  cRestBits,
unsigned char &  uiRestBitPosition,
const cTypeProperty propertyType 
) const
protected

This method stores the given propertytype in the compressed file format.

See also:
restorePropertyType()
storeBit()
createStorePropertyOrder()
liStorePropertyOrder
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
propertyTypethe propertytype to store
Returns:
true if this Fib-object is stored, else false
virtual bool fib::cRoot::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.

void fib::cRoot::syncSubobjects ( )
protected

This method syncronises the subobjects of this cRoot -class with the subobjectslist fibUnderObjects of the cFibBranch class.

void fib::cRoot::unsetCallingFibElement ( )
protected

This Method unsets the actual calling / using Fib-element.

See also:
liPExtObjectElm
setCallingFibElement()
evalueObject()

Friends And Related Function Documentation

friend class cExtObject
friend

Reimplemented from fib::cFibElement.

Definition at line 85 of file cRoot.h.

friend class cExtSubobject
friend

Definition at line 86 of file cRoot.h.

friend class cFibBranch
friend

Reimplemented from fib::cFibElement.

Definition at line 84 of file cRoot.h.

friend class cFibElement
friend

Reimplemented from fib::cFibBranch.

Definition at line 82 of file cRoot.h.

friend class cProperty
friend

Reimplemented from fib::cFibElement.

Definition at line 83 of file cRoot.h.


Member Data Documentation

cDomains fib::cRoot::domains
private

The domains of this root-element.

Definition at line 123 of file cRoot.h.

list< unsignedIntFib > fib::cRoot::liExternSubobjects
private

This is the list for extern subobjects. The list entries are the number of output varaibles for the extern subobjects.

Definition at line 150 of file cRoot.h.

list< pair< cFibVariable *, doubleFib > > fib::cRoot::liInputVariables
private

This list contains the input variables of the root-element. The first value of an entry pair ist the Variable and the secound is the standardvalue for the variable.

Definition at line 141 of file cRoot.h.

list< list< cFibVariable * > > fib::cRoot::liLiStoredBelowVariables
private

The stored input variables of this root-object. It is neccessary to store the values of the input variables, while storing the object, because the values of the input variables will be set to ther number for storing, but the values of the input variables could be change from a user beforhand and shouldn't change while storing. This is not real class data, but helpdata for storing. (const methods shouldn't fear to change this.)

See also:
cExtObject
liPExtObjectElm()
setCallingFibElement()
unsetCallingFibElement()
evalueObject()

Definition at line 212 of file cRoot.h.

list< list< cFibVariable * > > fib::cRoot::liLiStoredInputVariables
private

The stored input variables of this root-object. It is neccessary to store the values of the input variables, while storing the object, because the values of the input variables will be set to ther number for storing, but the values of the input variables could be change from a user beforhand and shouldn't change while storing. This is not real class data, but helpdata for storing. (const methods shouldn't fear to change this.)

See also:
backupVariablesValues()

Definition at line 183 of file cRoot.h.

list< cExtObject * > fib::cRoot::liPExtObjectElm
private

A pointer to the extern object element which calls /uses this root-object.

See also:
cExtObject
getCallingExtObject()
setCallingFibElement()
unsetCallingFibElement()
evalueObject()

Definition at line 194 of file cRoot.h.

list< cTypeProperty > fib::cRoot::liStorePropertyOrder
private

The propertytypes, in the order they will be counted when stored. This list will be created when storeBit() is called, so the properties can be stored. This is not real class data, but helpdata for storing. (const methods shouldn't fear to change this.)

See also:
storeBit()

Definition at line 169 of file cRoot.h.

list< pair< longFib, cRoot * > > fib::cRoot::liSubRootObjects
private

The sub -root-objects of this root-object. The first element of the pair is the sub -root-object identifier and the secound a pointer to the sub -root-object. The pointers to the sub -root-objects should also be stored in the same order in the fibUnderObjects property of the cFibBranch class. So a lot methods can be implemented ther and don't have to overwritten in this cRoot class.

Definition at line 108 of file cRoot.h.

cMultimediaInfo fib::cRoot::multimediaInfo
private

The multimediainfo of this root-element.

Definition at line 113 of file cRoot.h.

cOptionalPart fib::cRoot::optionalPart
private

The optionalpart of this root-element.

Definition at line 118 of file cRoot.h.

cVectorChecksum* fib::cRoot::pChecksum
private

The pointer to the checksumvektor of this root-element or NULL if non such exists.

Definition at line 134 of file cRoot.h.

cFibDatabase* fib::cRoot::pFibDatabase
staticprivate

The object for the Fib database.

Definition at line 218 of file cRoot.h.

cFibElement* fib::cRoot::pMainFibObject
private

The main -Fib object of this root-object. The pointer to the main -Fib object should also be stored as the first element in the fibUnderObjects property of the cFibBranch class. So a lot methods can be implemented ther and don't have to overwritten in this cRoot class.

Definition at line 97 of file cRoot.h.

set< longFib > fib::cRoot::setDatabaseIdentifiers
private

This set contains the identifiers of used database objects.

Definition at line 156 of file cRoot.h.

cDomains fib::cRoot::valueDomains
private

The domains for elementvalues of this root-element.

Definition at line 128 of file cRoot.h.


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