The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cFunctionIf.h>
Public Member Functions | |
cFunctionIf (const cCondition &condition, const cUnderFunction &firstUnderfunction, const cUnderFunction &secondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionIf (cCondition *pInCondition, cUnderFunction *pInFirstUnderfunction, cUnderFunction *pInSecondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionIf (const cFunctionIf &underfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionIf (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionIf (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomainSingle *pInDomainValue, const cDomainSingle *pInDomainVariable, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
virtual | ~cFunctionIf () |
virtual bool | isValid () const |
virtual bool | isUsedVariable (const cFibVariable *pVariable) const |
virtual set< cFibVariable * > | getUsedVariables () |
virtual bool | replaceVariable (cFibVariable *pVariableOld, cFibVariable *pVariableNew) |
virtual void | setDefiningFibElement (cFibElement *fibElement=NULL, bool bCheckDomains=true) |
virtual unsignedLongFib | getTimeNeed (unsignedLongFib lMaxTime=0) const |
virtual unsignedLongFib | getCompressedSize () const |
virtual doubleFib | getValue () const |
virtual bool | store (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const |
virtual unsignedIntFib | getType () const |
virtual string | getUnderFunctionName () const |
virtual cFunctionIf * | clone (cUnderFunction *pInSuperiorUnderFunction=NULL, cFibElement *pInDefiningFibElement=NULL) const |
virtual bool | storeXml (ostream &stream) const |
virtual bool | equal (const cUnderFunction &underfunction) const |
cCondition * | getCondition () |
const cCondition * | getCondition () const |
bool | setCondition (const cCondition &inCondition, bool bDeleteOld=true) |
bool | setCondition (cCondition *pInCondition, bool bDeleteOld=true) |
Public Member Functions inherited from fib::cFunctionTwoValue | |
cFunctionTwoValue (const cUnderFunction &firstUnderfunction, const cUnderFunction &secondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionTwoValue (cUnderFunction *pInFirstUnderfunction, cUnderFunction *pInSecondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionTwoValue (const cFunctionTwoValue &underfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionTwoValue (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
cFunctionTwoValue (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomainSingle *pInDomainValue, const cDomainSingle *pInDomainVariable, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) | |
virtual | ~cFunctionTwoValue () |
cUnderFunction * | getFirstUnderFunction () |
const cUnderFunction * | getFirstUnderFunction () const |
void | setFirstUnderFunction (const cUnderFunction &underFunction, bool bDeleteOld=true) |
cUnderFunction * | getSecondUnderFunction () |
const cUnderFunction * | getSecondUnderFunction () const |
void | setSecondUnderFunction (const cUnderFunction &underFunction, bool bDeleteOld=true) |
virtual unsignedIntFib | getNumberOfUnderFunctions () const |
Public Member Functions inherited from fib::cUnderFunction | |
virtual | ~cUnderFunction () |
virtual cTypeElement * | getElementType () const |
virtual cDomainSingle * | getDomain () const |
virtual cDomainSingle * | getValueDomain () const |
virtual cDomainSingle * | getStandardDomain () const |
virtual cDomainSingle * | getVariableDomain () const |
cFibElement * | getDefiningFibElement () const |
cUnderFunction * | getSuperiorUnderFunction () const |
virtual bool | operator== (const cUnderFunction &underfunction) const |
bool | operator!= (const cUnderFunction &underfunction) const |
Private Attributes | |
cCondition * | pCondition |
Additional Inherited Members | |
Protected Attributes inherited from fib::cFunctionTwoValue | |
cUnderFunction * | pFirstUnderfunction |
cUnderFunction * | pSecondUnderfunction |
Protected Attributes inherited from fib::cUnderFunction | |
cUnderFunction * | pSuperiorUnderFunction |
cFibElement * | pDefiningFibElement |
Definition at line 52 of file cFunctionIf.h.
fib::cFunctionIf::cFunctionIf | ( | const cCondition & | condition, |
const cUnderFunction & | firstUnderfunction, | ||
const cUnderFunction & | secondUnderfunction, | ||
cUnderFunction * | pInSuperiorFunction = NULL , |
||
cFibElement * | pInDefiningFibElement = NULL |
||
) |
The constructor of the underfunction.
condition | the condition for the function |
firstUnderfunction | the first underfunction for the function |
secondUnderfunction | the second underfunction for the function |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
fib::cFunctionIf::cFunctionIf | ( | cCondition * | pInCondition, |
cUnderFunction * | pInFirstUnderfunction, | ||
cUnderFunction * | pInSecondUnderfunction, | ||
cUnderFunction * | pInSuperiorFunction = NULL , |
||
cFibElement * | pInDefiningFibElement = NULL |
||
) |
The constructor of the underfunction.
pInCondition | a pointer to the condition for the function Beware: It (pInCondition) won't be copied. |
pInFirstUnderfunction | a pointer to the first underfunction for the function Beware: It (pInFirstUnderfunction) won't be copied. |
pInSecondUnderfunction | a pointer to the second underfunction for the function Beware: It (pInSecondUnderfunction) won't be copied. |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
fib::cFunctionIf::cFunctionIf | ( | const cFunctionIf & | underfunction, |
cUnderFunction * | pInSuperiorFunction = NULL , |
||
cFibElement * | pInDefiningFibElement = NULL |
||
) |
The copy constructor of the underfunction. This constructor will also copy the underfunctions of the given function.
underfunction | the underfunction which to copy |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
fib::cFunctionIf::cFunctionIf | ( | const TiXmlElement * | pXmlElement, |
intFib & | outStatus, | ||
list< cFibVariable * > & | liDefinedVariables, | ||
cUnderFunction * | pInSuperiorFunction = NULL , |
||
cFibElement * | pInDefiningFibElement = NULL |
||
) |
The constructor for restoring a value underfunction from an TinyXml element.
pXmlNode | a pointer to the TinyXml node the underfunction is stored in |
outStatus | An reference to an integervalue where the errorvalue can be stored to. possible errorvalues are:
|
liDefinedVariables | a 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 |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
fib::cFunctionIf::cFunctionIf | ( | cReadBits & | iBitStream, |
intFib & | outStatus, | ||
list< cFibVariable * > & | liDefinedVariables, | ||
const cDomainSingle * | pInDomainValue, | ||
const cDomainSingle * | pInDomainVariable, | ||
cUnderFunction * | pInSuperiorFunction = NULL , |
||
cFibElement * | pInDefiningFibElement = NULL |
||
) |
This constructor restores a value underfunction from the stream where it is stored in the compressed fib -format. Beware: The bits for the functiontype should be allready readed, this constructor reads yust the two underfunctions.
iBitStream | the stream where this underfunction is stored to in, because this stream is an cReadBits, any number of bits can be readed from it |
outStatus | An 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:
|
liDefinedVariables | a 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 |
pInDomainValue | the domain for value underfunction |
pInDomainVariable | the domain for variables |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
|
virtual |
The destructor of the underfunction.
|
virtual |
This method duplicates this whole underfunction. Underfunctions of this underfunction are also cloned.
pSuperiorUnderFunction | the underfunction which contains |
pInDefiningFibElement | the Fib -element which defines/ uses |
Implements fib::cUnderFunction.
|
virtual |
This Method checks if the given underfunction is equal to this underfunction.
underfunction | the underfunction to compare with this underfunction |
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
This method evaluades the size of the Fib -object in bits in the compressed file form. The optionalpart field of point -elements will be ignored.
Reimplemented from fib::cFunctionTwoValue.
cCondition* fib::cFunctionIf::getCondition | ( | ) |
const cCondition* fib::cFunctionIf::getCondition | ( | ) | const |
|
virtual |
This method evaluades a value for the time needed to evalue the underfunction. 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.
lMaxTime | the maximum time for the evaluation, the returned exceed this value; the value 0 stands for infinity, so the evaluation won't be stoped |
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
Implements fib::cUnderFunction.
|
virtual |
Implements fib::cUnderFunction.
|
virtual |
This method returns all variables used in this underfunction.
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
Returns the value of the underfunction or 0 if non such exists.
Implements fib::cUnderFunction.
|
virtual |
This method checks if the given variable is used in this underfunction.
pVariable | the variable to check if it is used |
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
This method returns if this underfunction is valid, else false. All values in the underfunction and it's underfunctions must be inside the underfunction domain. All variables must be defined over this underfunction. No underfunction should contain itselfor should be contained in one of its underfunctions (no cycles allowed).
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
This method replace the variable variableOld with the variable variableNew in the underfunction.
pVariableOld | the variable to replace |
pVariableNew | the variable with which the variable variableOld is to replace |
Reimplemented from fib::cFunctionTwoValue.
bool fib::cFunctionIf::setCondition | ( | const cCondition & | inCondition, |
bool | bDeleteOld = true |
||
) |
This methods sets the condition of this function.
inCondition | the condition, which should be set as the condition of this function; the condition will be copied and the copy will be inserted |
bDeleteOld | if true the old condition will be deleted from memory, else the old condition should be deleted elsewhere |
bool fib::cFunctionIf::setCondition | ( | cCondition * | pInCondition, |
bool | bDeleteOld = true |
||
) |
This methods sets the condition of this function.
pInCondition | a pointer to the condition, which should be set as the condition of this function; the condition will be copied and the copy will be inserted Beware: It (pInCondition) won't be copied. |
bDeleteOld | if true the old condition will be deleted from memory, else the old condition should be deleted elsewhere |
|
virtual |
Sets the Fib -element which defines/ uses this underfunction. If the given pointer is the nullpointer (standardvalue), no Fib -element defines this underfunction.
definingFibElement | a pointer to the Fib -element which defines/ uses this underfunction |
bCheckDomains | getthe domains of the defining element and check the underfunctionelements with it |
Reimplemented from fib::cFunctionTwoValue.
|
virtual |
This method stores this Fib -object in the compressed Fib -format into the given stream. It is needed becouse the stream can yust store byts but the size of fib -elements can be any number of bits. Because of that ther have to be a possibility to exchange the missing bits betwean the fib -elements.
stream | the stream where this Fib -object should be stored to |
cRestBits | the not yet writen bits which should be stored |
uiRestBitPosition | the number of bits in the cRestBits which should be writen respectively containing valid information |
Implements fib::cUnderFunction.
|
virtual |
This method stores this underfunction in the XML -format into the given stream. Variables should have ther number as ther value.
stream | the stream where this underfunctionshould be stored to |
Reimplemented from fib::cFunctionTwoValue.
|
private |
A pointer to the condition of the if-function.
Definition at line 57 of file cFunctionIf.h.