The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cHyperplaneBody.h>
Public Member Functions | |
cHyperplaneBody (unsigned int uiInDimensions) | |
virtual | ~cHyperplaneBody () |
virtual bool | addInequiation (const cInequation< tFactors > &inequiation)=0 |
unsigned long | addInequiations (const vector< cInequation< tFactors > > &vecInequiations) |
unsigned int | getDimensions () const |
virtual unsigned long | getNumberOfBorderPoints () const =0 |
virtual vector< vector < tFactors > > | getBorderPoints () const =0 |
virtual bool | isPart (const vector< tFactors > &vecPoint) const =0 |
vector< tFactors > | getPointInBody (const unsigned int uiMinBitsToStoreMantissa=1) const |
virtual void | print (ostream &outputStream) const =0 |
virtual cHyperplaneBody < tFactors > * | clone () const =0 |
Protected Attributes | |
const unsigned int | uiDimensions |
Definition at line 75 of file cHyperplaneBody.h.
fib::algorithms::nDn::cHyperplaneBody< tFactors >::cHyperplaneBody | ( | unsigned int | uiInDimensions | ) |
standard constructor
uiInDimensions | the dimensions of the space for the hyperbody; all added inequiations should have this much factors |
|
virtual |
standard destructor
|
pure virtual |
With this method the hyperplane body can be restricted by the given inequiation, if the inequiation dosn't remove the body. If ther are points in this hyperplane body exists wich fulfill the inequiation, an hyperplane for the inequiation is created and added to this hyperplane body.
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
unsigned long fib::algorithms::nDn::cHyperplaneBody< tFactors >::addInequiations | ( | const vector< cInequation< tFactors > > & | vecInequiations | ) |
The inequiations of the given list of inequiations are added with
|
pure virtual |
This method duplicates this whole hyperplane body.
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
|
pure virtual |
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
unsigned int fib::algorithms::nDn::cHyperplaneBody< tFactors >::getDimensions | ( | ) | const |
|
pure virtual |
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
vector< tFactors > fib::algorithms::nDn::cHyperplaneBody< tFactors >::getPointInBody | ( | const unsigned int | uiMinBitsToStoreMantissa = 1 | ) | const |
This method evalues a point in the body. This point will have:
uiMinBitsToStoreMantissa | the minimal number of bits to store the mantissa of a vector element, when the element is in the form: mantissa * 2^exponent ; the method will try to reduce the bits, to store a element of the returned vector, to this value; if uiMinBitsToStoreMantissa is 0 the center points will be returned directly and no bits will be reduced |
|
pure virtual |
This method checks if the given point is part of the hyperbody. If the point is on one of the borders of the hyperbody or inside it, it is part of the hyperbody.
vecPoint | the point to check |
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
|
pure virtual |
This method print the hyperplane in a readebel form to the given output stream outputSream.
outputSream | the stream wher to print this inequation to |
Implemented in fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >, and fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >.
|
protected |
the dimensions of the space for the hyperbody; all added inequiations should have this much factors
Beware of the curse of dimensions! The complexity of the body will grow exponential with the number of dimensions. For example, just the number of border points of a newly created body will be 2^uiDimensions .
Definition at line 86 of file cHyperplaneBody.h.