The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cDomainSingle.h>
Public Member Functions | |
virtual bool | isScalar () const |
virtual bool | isVector () const |
virtual bool | isElement (const doubleFib dValue) const =0 |
virtual bool | isInBoundaries (const doubleFib dValue) const =0 |
virtual doubleFib | round (const doubleFib dValue) const =0 |
virtual doubleFib | getMaximum () const =0 |
virtual doubleFib | getMinimum () const =0 |
virtual doubleFib | getNull () const =0 |
virtual cDomainSingle * | clone () const =0 |
virtual unsignedIntFib | getCompressedSizeForValue () const =0 |
virtual bool | storeValue (doubleFib dValue, ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const =0 |
virtual doubleFib | restoreValue (cReadBits &iBitStream, intFib &outStatus) const =0 |
Public Member Functions inherited from fib::cDomain | |
virtual | ~cDomain ()=0 |
virtual string | getType () const =0 |
virtual bool | isReference () const |
virtual bool | equal (const cDomain &domain) const |
virtual bool | operator== (const cDomain &domain) const |
virtual unsignedIntFib | getCompressedSize () const =0 |
virtual bool | storeXml (ostream &ostream) const =0 |
virtual intFib | restoreXml (const TiXmlElement *pXmlElement)=0 |
virtual bool | store (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const =0 |
virtual intFib | restore (cReadBits &iBitStream)=0 |
Static Public Member Functions | |
static cDomainSingle * | createGoodDomain (list< doubleFib > &liValues) |
Static Public Member Functions inherited from fib::cDomain | |
static cDomain * | restoreXml (const TiXmlElement *pXmlElement, intFib &outStatus) |
static cDomain * | restore (cReadBits &iBitStream, intFib &outStatus) |
Definition at line 54 of file cDomainSingle.h.
|
pure virtual |
This Method clones this object.
Implements fib::cDomain.
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, fib::cDomainRational, fib::cDomainIntegerBasis, and fib::cDomainRationalBasis.
|
static |
This function creates creates a good domain wich contains all the numbers of the given list liValues. A domain is better than an other domain, if it takes less storage bits to store the numbers and the domain. Beware: You have to care that the returned domain is deleted. (if one was returned)
liValues | the list with the values, for which a domain is to create |
|
pure virtual |
This method evaluades the size of values in the domain in bits in the compressed file form.
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method returns the biggest value in the domain.
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method returns the smalest value in the domain.
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method returns the nullvalue of the domain. The nullvalue is the value 0 rounded to an value in the domain.
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method checks if the given value is an element of the domain. If the value dValue is an element of the domain true is returned, else false.
dValue | the value for which to check, if it is an element of the domain |
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method checks if the given value is inside the domain boundaries. If the value dValue is inside of the domain boundaries true is returned, else false. A value is inside of the vector domain boudaries, if it is greater than the minimum value minus the scaling factor and lower than the maximum value plus the scaling factor.
dValue | the value for which to check, if it is inside of the domain boundaries |
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
inlinevirtual |
Reimplemented from fib::cDomain.
Definition at line 60 of file cDomainSingle.h.
|
inlinevirtual |
Reimplemented from fib::cDomain.
Definition at line 67 of file cDomainSingle.h.
|
pure virtual |
This method restores the a value of the domain from the stream iBitStream wher it is stored in the compressed fib -format.
iBitStream | the stream where this value 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:
|
Implemented in fib::cDomainRational, fib::cDomainIntegerBasis, and fib::cDomainRationalBasis.
This method round the given value dValue to an value in the domain of this object. The rounded value will be the value with the minimal distance to the given value dValue. If more of these exists the smales will be returned.
dValue | the value which should be rounded |
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, and fib::cDomainRational.
|
pure virtual |
This method stores the given value dValue in the compressed fib -format for the domain into the given stream. It is needed because 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.
dValue | the value to store |
stream | the stream where this domain 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 |
Implemented in fib::cDomainInteger, fib::cDomainIntegerBit, fib::cDomainNaturalNumber, fib::cDomainNaturalNumberBit, fib::cDomainRational, and fib::cDomainRationalBasis.