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

#include <cDomainVectorBasis.h>

Inheritance diagram for fib::cDomainVectorBasis:
Collaboration diagram for fib::cDomainVectorBasis:

List of all members.

Public Member Functions

virtual bool isScalar () const
virtual bool isVector () const
virtual bool isElement (const cFibVector &fibVector) const =0
virtual bool isInBoundaries (const cFibVector &fibVector) const =0
virtual cFibVectorround (cFibVector &fibVector) const =0
virtual unsignedIntFib getNumberOfElements () const =0
virtual cDomaingetElementDomain (const unsignedIntFib iNumberOfElement)=0
virtual const cDomaingetElementDomain (const unsignedIntFib iNumberOfElement) const =0
virtual cDomainVectorBasisclone () 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 cDomainVectorBasiscreateGoodDomain (const list< cFibVector * > &liVectors)
- Static Public Member Functions inherited from fib::cDomain
static cDomainrestoreXml (const TiXmlElement *pXmlElement, intFib &outStatus)
static cDomainrestore (cReadBits &iBitStream, intFib &outStatus)

Detailed Description

Definition at line 51 of file cDomainVectorBasis.h.


Member Function Documentation

virtual cDomainVectorBasis* fib::cDomainVectorBasis::clone ( ) const
pure virtual

This Method clones this object.

Returns:
a clone of this object

Implements fib::cDomain.

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

static cDomainVectorBasis* fib::cDomainVectorBasis::createGoodDomain ( const list< cFibVector * > &  liVectors)
static

This function creates creates a good domain wich contains all the vectors of the given list liVectors . 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)

Parameters:
liVectorsthe list with the vectors, for which a domain is to create
Returns:
a new domain which contains all the given vectors liVectors
virtual cDomain* fib::cDomainVectorBasis::getElementDomain ( const unsignedIntFib  iNumberOfElement)
pure virtual

This method returns the domain of the iNumberOfElement'th element in the vectors of the domain.

Parameters:
iNumberOfElementthe elementnumber for which the domain is to return
Returns:
domain of the iNumberOfElement'th element in the vectors of the domain

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

virtual const cDomain* fib::cDomainVectorBasis::getElementDomain ( const unsignedIntFib  iNumberOfElement) const
pure virtual

This method returns the domain of the iNumberOfElement'th element in the vectors of the domain.

Parameters:
iNumberOfElementthe elementnumber for which the domain is to return
Returns:
domain of the iNumberOfElement'th element in the vectors of the domain

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

virtual unsignedIntFib fib::cDomainVectorBasis::getNumberOfElements ( ) const
pure virtual

This method returns the number of elements in the vectors of the domain.

Returns:
the number of elements in the vectors of the domain

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

virtual bool fib::cDomainVectorBasis::isElement ( const cFibVector fibVector) const
pure virtual

This method checks if the given vector is an element of the domain. If the value dValue is an element of the domain true is returned, else false.

Parameters:
fibVectorthe vector for which to check, if it is an element of the domain
Returns:
if the vector fibVector is an element of the domain true is returned, else false

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

virtual bool fib::cDomainVectorBasis::isInBoundaries ( const cFibVector fibVector) const
pure virtual

This method checks if the given vector is inside the domain boundaries. If the value dValue is inside of the domain boundaries true is returned, else false. A vector is inside of the vector domain boudaries, if all its elements are inside ther correspondending element domain boundaries.

Parameters:
fibVectorthe vector for which to check, if it is inside of the domain boundaries
Returns:
if the vector fibVector is inside of the domain boundaries true is returned, else false

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.

virtual bool fib::cDomainVectorBasis::isScalar ( ) const
virtual
Returns:
true if the object represents a scalar domain, else false

Reimplemented from fib::cDomain.

virtual bool fib::cDomainVectorBasis::isVector ( ) const
virtual
Returns:
true if the object represents a vector domain, else false

Reimplemented from fib::cDomain.

virtual cFibVector* fib::cDomainVectorBasis::round ( cFibVector fibVector) const
pure virtual

This method round the given value vector to an vector in the domain of this object. The rounded vector will be the vector, wich elements have the minimal summed distance to the elements of the given vector fibVector. If more than one such vector exists, the vector wich first n elements have the minimal summed distance to the first n elements of the given vector fibVector. Wher n is first the number of elements in the vector, and than is decrased to 1 in steps of 1. If again more such vectors exists, the one with the smalest k elements is choosen, wher k begins with 1 and is incrased to the number of vectorelements in the input vector. ATTENTION: The returned vector will not be deleted automaticly, you have to delete it.

Parameters:
fibVectorthe vector which should be rounded
Returns:
the rounded vector of fibVector

Implemented in fib::cDomainVectorOpenEnd, and fib::cDomainVector.


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