The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cFibLeaf.h>
Public Member Functions | |
virtual bool | isValidFibElement () const |
virtual bool | isUsedVariable (const cFibVariable *variable, edDirection direction=ED_POSITION) const |
virtual set< cFibVariable * > | getUsedVariables (edDirection direction=ED_POSITION) |
virtual unsignedIntFib | getNumberOfElements (char cType='u') const |
virtual unsignedIntFib | getNumberOfMovePoints () const |
virtual bool | isMovable () const |
virtual unsignedIntFib | getNumberOfObjectPoints () const |
virtual unsignedIntFib | objectPointToElementPoint (const unsignedIntFib uiObjectPoint, bool bAbsolute=false) const |
virtual bool | insertElement (cFibElement *fibElement, const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true) |
virtual bool | insertObjectInElement (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool first=true, bool bAbsolute=false) |
virtual bool | overwriteObjectWithObject (cFibElement *fibObject, const char cType='u', const unsignedIntFib elementPoint=0, bool bDeleteOld=true, bool bAbsolute=false) |
virtual bool | removeObject (const unsignedIntFib objectPoint, bool bDeleteOld=true, bool bAbsolute=false) |
virtual bool | hasUnderAllObjects () const |
virtual bool | isRemovableElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true) const |
virtual cFibElement * | cutElement (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 bool | equal (const cFibElement &fibObject) const |
virtual bool | isLeaf () const |
Public Member Functions inherited from fib::cFibElement | |
virtual | ~cFibElement () |
virtual char | getType () const =0 |
virtual cFibElement * | getSuperiorFibElement () |
virtual cFibElement * | getNextFibElement () |
virtual cFibElement * | getNextFibElement (char cType) |
virtual cFibElement * | getConstFibElement (longFib lNumber, bool bAbsolute=false) const |
virtual cFibElement * | getConstFibElement (char cType, longFib lNumber, bool bAbsolute=false) const |
cFibElement * | getFibElement (longFib lNumber, bool bAbsolute=false) |
cFibElement * | getFibElement (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 | 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 | typeElementPointToElementPoint (const char cType, const unsignedIntFib elementPoint, bool bAbsolute=false) const |
virtual list< unsignedIntFib > | elementPointToObjectPoints (const char cType, const unsignedIntFib elementPoint, bool bAbsolute=false) const |
virtual list< unsignedIntFib > | getObjectPointsForElement (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 cFibElement * | clone () const |
virtual cFibElement * | copy (const unsignedIntFib iObjectPoint=0) const |
virtual cFibElement * | copyElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false) 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 cRoot * | getSuperiorRootElement () |
virtual const cRoot * | getSuperiorRootElement () const |
virtual list< longFib > | getAllRootObjectIdentifiers () const |
virtual list< longFib > | getAllDatabaseObjectIdentifiers () const |
virtual cRoot * | getRootObject (longFib lIdentifier) |
virtual list< longFib > | getAllAccessibleRootObjectIdentifiers () const |
virtual cRoot * | getAccessibleRootObject (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 |
Protected Member Functions | |
cFibLeaf (cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL, cFibElement *pInNextFibElement=NULL) | |
cFibLeaf (const cFibLeaf &fibLeafElement) | |
virtual bool | registerNewFibElement (cFibElement *newFibElement, unsignedIntFib uINumberOfFibElement, bool bDirectionUp) |
virtual bool | registerNewFibObject (cFibElement *newFibObject, unsignedIntFib uILowerNumberOfFibElements, unsignedIntFib uIUpperNumberOfFibElements, bool bDirectionUp) |
virtual cFibElement * | updateValues (cFibElement *previosFibElement=NULL, cFibElement *pNextArm=NULL) |
virtual unsignedIntFib | getNumberOfObjectPoint (unsignedIntFib uINumberOfStartFibElement) const |
virtual list< unsignedIntFib > | elementPointToObjectPoints (const cFibElement *referenceFibObject, const unsignedIntFib uiLastObjectPoint) const |
virtual unsignedIntFib | enumerateVariablesForStoring (unsignedIntFib uiLastVariableNumber=0) |
virtual list< cFibElement * > | getAllFibElementsFromPosition (char cType, edDirection direction, unsignedLongFib lNumberOfMaxReturnedElements) |
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) |
Protected Member Functions inherited from fib::cFibElement | |
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 | updateAllValues () |
virtual void | cutConnections (edDirection direction=ED_ALL) |
intFib | moveLimbElementUp (const char cType= 'u', const unsignedIntFib elementPoint=0, const unsignedIntFib uiHowfar=1, bool bAbsolute=false) |
virtual cFibElement * | copyInternal (const unsignedIntFib iObjectPoint=0) const =0 |
cFibElement * | getMasterRoot () |
cFibElement * | getMasterRoot () const |
Additional Inherited Members | |
Static Public Member Functions inherited from fib::cFibElement | |
static string | getTypeName (char cType) |
static void | deleteObject (cFibElement *fibObject) |
static cFibElement * | restoreXml (istream &stream, intFib *outStatus=NULL) |
static cFibElement * | restoreXml (const TiXmlNode *pXmlNode, intFib *outStatus=NULL) |
static cFibElement * | restoreXml (const TiXmlNode *pXmlNode, intFib &outStatus, list< cFibVariable * > &liDefinedVariables) |
static cFibElement * | restore (istream &stream, intFib *outStatus=NULL) |
Static Protected Member Functions inherited from fib::cFibElement | |
static cFibElement * | restoreXmlInternal (const TiXmlNode *pXmlNode, intFib &outStatus, list< cFibVariable * > &liDefinedVariables) |
static cRoot * | restoreRootInternal (cReadBits &iBitStream, intFib &outStatus, cRoot *pNextRoot) |
static cFibElement * | restoreInternal (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomains &validDomains, cRoot *pNextRoot) |
Protected Attributes inherited from fib::cFibElement | |
cFibElement * | pSuperiorElement |
cFibElement * | pPreviousFibElement |
cFibElement * | pNextFibElement |
cRoot * | pNextRootElement |
unsignedIntFib | uINumberOfFibElement |
Definition at line 76 of file cFibLeaf.h.
|
protected |
parameterconstructor
pInSuperiorElement | the fib -Element in which this fib -element is the underobject |
pInPreviousFibElement | the fib -Element which stands in th order of Fib -elements befor this Fib -element |
pInNextFibElement | the fib -Element which stands in th order of Fib -elements behind this Fib -element |
|
protected |
copyconstructor This copyconstructor constructs a copy of this Fib -Element. It dosn't copy other fib -elements than this, even if ther are in this fib -element.
fibLeafElement | the Fib -element to copy |
|
virtual |
This method cuts the Fib -element on the specified position. This works like removeElement(), except that the removed element is returned.
cType | the type of the Fib -element to cut |
elementPoint | the number of the Fib -element, in the order of Fib -elements of the given type cType, to cut |
bAbsolute | if the elementPoint is an absolute value for the wool fib -object |
bCheckVariables | if 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 |
Implements fib::cFibElement.
|
protectedvirtual |
This method returns the numbers of all object points that contain the elementPoint Fib -element.
referenceFibObject | the fib -element for which the object points are to returned |
uiLastObjectPoint | the number of the last object point to the referenceFibObject |
Reimplemented from fib::cFibElement.
|
protectedvirtual |
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.
uiLastVariableNumber | the number which was last use, this means also is the greatest used, in this limb. |
Implements fib::cFibElement.
|
virtual |
This method checks if the given Fib -object is equal to this Fib -object. Variables can be others, but must be defined and aused in equivalent Fib -elements.
fibObject | the Fib -object to which this Fib -object should be equal |
Implements fib::cFibElement.
Reimplemented in fib::cPoint.
|
protectedvirtual |
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.
cType | the type of the Fib -elements to return; 'w' stands for wrong/ not correct fib -elements |
direction | the direction, beginning from the reference Fib -element, in which the to return Fib -elements should stand |
lNumberOfMaxReturnedElements | the maximal number of Fib -elements to return |
Implements fib::cFibElement.
|
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..
direction | the direction from this Fib-element, in which the variable should be used; standardvalue is ED_POSITION so yust this Fib-element will be checked |
pCallingFibElement | the Fib-Element which called this method |
Implements fib::cFibElement.
|
virtual |
This method returns the number of Fib -elements of a type in this Fib -object.
cType | the character of the type ( |
Implements fib::cFibElement.
|
virtual |
This method returns the number of move points in this Fib -object.
Implements fib::cFibElement.
|
protectedvirtual |
This method returns the number of the next connected object point in the order of connected object points that conntains this Fib -element.
uINumberOfStartFibElement | the number, in the order of all fib -elements, of the fib -element for which the connected object point is to return |
Reimplemented from fib::cFibElement.
|
virtual |
This method returns the number of object points in this Fib -object.
Implements fib::cFibElement.
|
virtual |
This method returns all variables used in the given direction from this Fib -element.
direction | the direction from this Fib -element, in which the variable should be used; standardvalue is ED_POSITION so yust this Fib -element will be checked |
Implements fib::cFibElement.
Reimplemented in fib::cExtSubobject, and fib::cPoint.
|
virtual |
This method checks, if all Fib -elements of this Fib -object have the underobjects they need to be correct.
Implements fib::cFibElement.
|
virtual |
This method inserts the given Fib -element fibElement on the specified position. The replaced Fib -element will be the underobject of the inserted Fib -element fibElement.
cType | the type of the Fib -element insted of which the given Fib -element fibElement should be inserted |
elementPoint | the 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 |
fibElement | the Fib -element to insert |
bAbsolute | if the lNumber is an absolute value for the wool fib -object |
bCheckVariables | if 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 |
Implements fib::cFibElement.
|
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 underobjects.
cType | the type of the Fib -element, on which position the given Fib -object fibObject should be inserted |
elementPoint | the 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 |
fibObject | the Fib -object to insert |
first | if true, the inserted object will be the first underobject of the new listelement |
bAbsolute | if the lNumber is an absolute value for the wool fib -object |
Implements fib::cFibElement.
|
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.
pVariable | the variable to check if it is defined |
direction | the direction from this Fib-element, in which the variable should be defined; standardvalue is ED_POSITION so yust this Fib-element will be checked |
pCallingFibElement | the Fib-Element which called this method |
Implements fib::cFibElement.
|
virtual |
Reimplemented from fib::cFibElement.
|
virtual |
Reimplemented from fib::cFibElement.
|
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).
cType | the type of the Fib -element to check |
elementPoint | the number of the Fib -element, in the order of Fib -elements of the given type cType, to check |
bAbsolute | if the elementPoint is an absolute value for the wool fib -object |
bCheckVariables | if 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 |
Reimplemented from fib::cFibElement.
|
virtual |
This method checks if the given variable is used in the given direction from this Fib -element.
variable | the variable to check if it is used |
direction | the direction from this Fib -element, in which the variable should be used; standardvalue is ED_POSITION so yust this Fib -element will be checked |
Implements fib::cFibElement.
Reimplemented in fib::cExtSubobject, and fib::cPoint.
|
virtual |
This method checks, if this fib -element is an valid fib -element.
Implements fib::cFibElement.
Reimplemented in fib::cExtSubobject.
|
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 underobjects.
cType | the type of the Fib -element to move |
elementPoint | the number of the Fib -element, in the order of Fib -elements of the given type cType, to move |
iHowfar | the 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 |
bAbsolute | if the elementPoint is an absolute value for the wool fib -object |
Implements fib::cFibElement.
|
virtual |
This method returns the number of the Fib -element over wich the objectPoint object point is defined.
uiObjectPoint | the number of the object point for which the definig Fib -element number should be returned |
bAbsolute | if the lNumber is an absolute value for the wool fib -object |
Implements fib::cFibElement.
|
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.
cType | the type of the Fib -element, on which position the given Fib -object fibObject should be inserted |
elementPoint | the 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 |
fibObject | the Fib -object to insert |
bDeleteOld | if true, delete the old Fib -object from the memory |
bAbsolute | if the elementPoint is an absolute value for the wool fib -object |
Implements fib::cFibElement.
|
protectedvirtual |
With this method a new Fib -element in the Fib -Object is registert by the other Fib -elements in the Fib -Object.
newFibElement | the new Fib -element to register |
uINumberOfFibElement | the number of the new Fib -element in the order of all Fib -Elements in the Fib -object |
bDirectionUp | the 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 |
Implements fib::cFibElement.
|
protectedvirtual |
With this method a new part Fib -object in the Fib -Object is registert by the other Fib -elements in the Fib -Object.
newFibObject | the new part Fib -object to register |
uILowerNumberOfFibElements | the 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 |
uIUpperNumberOfFibElements | the 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 |
bDirectionUp | the direction in which the registration of the new part Fib -object is performed in the Fib -object tree; |
Implements fib::cFibElement.
|
virtual |
This method removes the connected object with the given number in the order of connected object points. For this the defining underobject in an listelement will be removed. If the listelement contains after the operation yust one underobject, the listelement will be replaced with the underobject.
objectPoint | the number of the connected object to remove |
bDeleteOld | if true, delete the connected object from the memory, else yust remove it's pointers |
bAbsolute | if the objectPoint is an absolute value for the wool fib -object |
Implements fib::cFibElement.
|
protectedvirtual |
This method updates the values/ properties off all fib -elements in this fib -object beginning with this fib -element. Every underobject should have all it's underobjects.
previosFibElement | the 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 |
pNextArm | the next arm fib -object in the next higher fib -brancheelement |
Reimplemented from fib::cFibElement.