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

#include <cList.h>

Inheritance diagram for fib::cList:
Collaboration diagram for fib::cList:

List of all members.

Public Member Functions

 cList (cFibElement *pFibObject1, cFibElement *pFibObject2, cFibElement *pInSuperiorElement=NULL, cFibElement *pInPreviousFibElement=NULL)
 cList (const cList &listElement)
virtual char getType () const
virtual bool isValidFibElement () const
virtual bool evalueObject (iEvaluePosition &evaluePosition, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties) const
virtual bool evalueObject (iEvalueFibElement &evalueFibElement, const unsignedIntFib objectPoint, list< cVectorProperty > &liVecProperties, const list< char > &liCFibElementTyps)
virtual unsignedLongFib getTimeNeed (unsignedLongFib lMaxTime=0) const
virtual bool hasUnderAllObjects () const
virtual unsignedLongFib getCompressedSize () const
virtual cFibElementcopyElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false) const
virtual bool equalElement (const cFibElement &fibElement) const
virtual bool storeXml (ostream &stream) const
virtual unsignedIntFib getNumberOfUnderobjects () const
virtual cFibElementgetUnderobject (unsignedIntFib iNumberOfUnderobject=1)
virtual list< cFibElement * > getUnderobjects (unsignedIntFib iNumberOfFirstUnderobject=1, unsignedIntFib iNumberOfToReturnUnderobjects=0)
virtual bool addUnderobject (cFibElement *pUnderobject, unsignedIntFib iPosition=1)
virtual unsignedIntFib addUnderobjects (list< cFibElement * > liUnderobjects, unsignedIntFib iPosition=1)
virtual bool deleteUnderobject (unsignedIntFib iPositionUnderobject, bool bDeleteOld=true)
- 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 insertElement (cFibElement *pFibElement, 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 isRemovableElement (const char cType='u', const unsignedIntFib elementPoint=0, bool bAbsolute=false, bool bCheckVariables=true) const
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 bool equal (const cFibElement &fibObject) 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 bool isMovable () const
virtual cFibElementclone () const
virtual cFibElementcopy (const unsignedIntFib iObjectPoint=0) const
virtual bool equalValuesSet (const cFibVariable *variableOwn, const cFibElement &fibElement, const cFibVariable *variable) const
virtual bool store (ostream &stream) const
virtual cRootgetSuperiorRootElement ()
virtual const cRootgetSuperiorRootElement () const
virtual list< longFibgetAllRootObjectIdentifiers () const
virtual list< longFibgetAllDatabaseObjectIdentifiers () const
virtual cRootgetRootObject (longFib lIdentifier)
virtual list< longFibgetAllAccessibleRootObjectIdentifiers () const
virtual cRootgetAccessibleRootObject (longFib lIdentifier)
virtual cDomains getValidDomains () const
virtual cDomains getValidValueDomains () const
virtual unsignedIntFib getNumberOfDimensions () const
virtual unsignedIntFib getDimensionMapping (unsignedIntFib iDimensionNumber) const
virtual bool isLimb () const
virtual bool isLeaf () const

Protected Member Functions

 cList (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables)
 cList (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomains &validDomains, cRoot *pNextRoot, unsignedIntFib uiBitsForUnderobjectCount=0)
virtual bool storeBit (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const
virtual cFibElementcopyInternal (const unsignedIntFib iObjectList=0) const
- 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)
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 updateAllValues ()
intFib moveLimbElementUp (const char cType= 'u', const unsignedIntFib elementPoint=0, const unsignedIntFib uiHowfar=1, bool bAbsolute=false)
cFibElementgetMasterRoot ()
cFibElementgetMasterRoot () const

Friends

class cFibElement

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 54 of file cList.h.


Constructor & Destructor Documentation

fib::cList::cList ( cFibElement pFibObject1,
cFibElement pFibObject2,
cFibElement pInSuperiorElement = NULL,
cFibElement pInPreviousFibElement = NULL 
)

parameterconstructor

Parameters:
pFibObject1the fib -Element which is the first underobject of this list-lement (it also stands next in the order of fib -elements)
pFibObject2the fib -Element which is the secound underobject of this listelement
pInSuperiorElementthe fib -Element in which this list -element is an underobject
pInPreviousFibElementthe fib -Element which stands in th order of Fib -elements befor this Fib -element
fib::cList::cList ( const cList listElement)

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

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

The constructor for restoring a listobject from an TinyXml element.

Parameters:
pXmlNodea pointer to the TinyXml node the wher 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::cList::cList ( cReadBits iBitStream,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables,
const cDomains validDomains,
cRoot pNextRoot,
unsignedIntFib  uiBitsForUnderobjectCount = 0 
)
protected

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

Parameters:
iBitStreamthe stream wher this listobject 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
uiBitsForUnderobjectCountthe number of bits of the count of the underobjects for the listelement

Member Function Documentation

virtual bool fib::cList::addUnderobject ( cFibElement pUnderobject,
unsignedIntFib  iPosition = 1 
)
virtual

This method adds the underobject pUnderobject on the given position iPosition to this listelement.

Parameters:
pUnderobjecta pointer to the underobject to add to the listelement
iPositionthe position on which to add the underobject, if this number is greater than the number of underobjects in the listelement, the underobject will be added to the end of the listelement
Returns:
true if the underobject was added, else false
virtual unsignedIntFib fib::cList::addUnderobjects ( list< cFibElement * >  liUnderobjects,
unsignedIntFib  iPosition = 1 
)
virtual

This method adds the underobjects liUnderobjects on the given position iPosition to this listelement.

Parameters:
liUnderobjectthe list with the pointers to the underobjects to add to the listelement
iPositionthe position on which to add the underobjects, if this number is greater than the number of underobjects in the listelement, the underobjects will be added to the end of the listelement
Returns:
the number of underobjects added
virtual cFibElement* fib::cList::copyElement ( const char  cType = 'u',
const unsignedIntFib  elementPoint = 0,
bool  bAbsolute = false 
) const
virtual

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

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

Implements fib::cFibElement.

virtual cFibElement* fib::cList::copyInternal ( const unsignedIntFib  iObjectList = 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:
iObjectListthe 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.

virtual bool fib::cList::deleteUnderobject ( unsignedIntFib  iPositionUnderobject,
bool  bDeleteOld = true 
)
virtual

This method deleted the underobject pUnderobject on the given position iPositionUnderobject from this listelement.

Parameters:
iPositionUnderobjectthe position from which to delete the underobject
bDeleteOldif true, delete the old Fib -object from the memory
Returns:
true if the underobject was deleted, else false
virtual bool fib::cList::equalElement ( const cFibElement fibElement) const
virtual

This method checks if the given fib -element is equal to this fib -element. The underobjects 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::cList::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::cList::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.

virtual unsignedLongFib fib::cList::getCompressedSize ( ) const
virtual

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

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

Implements fib::cFibElement.

virtual unsignedIntFib fib::cList::getNumberOfUnderobjects ( ) const
virtual
Returns:
the number of underobjects of this listelement
virtual unsignedLongFib fib::cList::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::cList::getType ( ) const
virtual
See also:
getTypeName
Returns:
a character for the typ of the Fib -element Types are:
  • u: element of unknown typ
  • p: point
  • l: list-element
    • y: property
    • c: comment
    • a: area
    • f: function
    • i: if-condition
    • o: extern object element
    • s: extern subobject element
    • v: set-element
    • m: matrix element
    • r: root-element

Implements fib::cFibElement.

virtual cFibElement* fib::cList::getUnderobject ( unsignedIntFib  iNumberOfUnderobject = 1)
virtual

This method return the iNumberOfUnderobject'th underobject of this listelement.

Parameters:
iNumberOfUnderobjectthe number of the underobject to return
Returns:
iNumberOfUnderobject'th underobject of this listelement or NULL, if non such exists
virtual list< cFibElement * > fib::cList::getUnderobjects ( unsignedIntFib  iNumberOfFirstUnderobject = 1,
unsignedIntFib  iNumberOfToReturnUnderobjects = 0 
)
virtual

This method returns a number of underobjects from this listelement, beginning from a first underobject.

See also:
getUnderobject()
Parameters:
iNumberOfFirstUnderobjectthe number of the first underobject to return
iNumberOfToReturnUnderobjectsthe number /count of underobjects to return; if 0 or greater equal the count of underobjects from first underobject, all underobjects to the listend will be returned
Returns:
a list with the underobjects to return
virtual bool fib::cList::hasUnderAllObjects ( ) const
virtual

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

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

Reimplemented from fib::cFibBranch.

virtual bool fib::cList::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 bool fib::cList::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. Beware: You need to call storeBit() of the root -elements with the domain for the list or the list will not be readebel.

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::cList::storeXml ( ostream &  stream) const
virtual

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

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

Implements fib::cFibElement.


Friends And Related Function Documentation

friend class cFibElement
friend

Reimplemented from fib::cFibBranch.

Definition at line 56 of file cList.h.


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