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::algorithms::nDn::cHyperplaneBodyFull< tFactors > Class Template Reference

#include <cHyperplaneBodyFull.h>

Inheritance diagram for fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >:
Collaboration diagram for fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >:

List of all members.

Public Member Functions

 cHyperplaneBodyFull (unsigned int uiInDimensions, const tFactors maxValue=1E+36)
 cHyperplaneBodyFull (const cHyperplaneBodyFull< tFactors > &hyperplaneBody)
virtual ~cHyperplaneBodyFull ()
virtual bool addInequiation (const cInequation< tFactors > &inequiation)
virtual unsigned long getNumberOfBorderPoints () const
virtual vector< vector
< tFactors > > 
getBorderPoints () const
virtual bool isPart (const vector< tFactors > &vecPoint) const
virtual void print (ostream &outputStream) const
virtual cHyperplaneBodyFull
< tFactors > * 
clone () const
- Public Member Functions inherited from fib::algorithms::nDn::cHyperplaneBody< tFactors >
 cHyperplaneBody (unsigned int uiInDimensions)
virtual ~cHyperplaneBody ()
unsigned long addInequiations (const vector< cInequation< tFactors > > &vecInequiations)
unsigned int getDimensions () const
vector< tFactors > getPointInBody (const unsigned int uiMinBitsToStoreMantissa=1) const

Protected Member Functions

list< cHyperplaneData
< tFactors > * > 
addIntersectionsFor (list< cHyperplaneData< tFactors > * > &liHyperplanes, const unsigned int uiDimensionality)

Protected Attributes

vector< list< cHyperplaneData
< tFactors > * > > 
vecBorders
list< cInequationData
< tFactors > * > 
liInequiations
- Protected Attributes inherited from fib::algorithms::nDn::cHyperplaneBody< tFactors >
const unsigned int uiDimensions

Detailed Description

template<class tFactors>
class fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >

Definition at line 248 of file cHyperplaneBodyFull.h.


Constructor & Destructor Documentation

template<class tFactors>
fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::cHyperplaneBodyFull ( unsigned int  uiInDimensions,
const tFactors  maxValue = 1E+36 
)

standard constructor

Parameters:
uiInDimensionsthe dimensions of the space for the hyperbody; all added inequiations should have this much factors
See also:
uiDimensions
Parameters:
maxValuethe maximum possible value in all directions the evalued hyperbody will allways inside a hypercubus of all vectors = (x_0,..., x_uiDimensions)^T, with -1 * maxValue <= x_i <= maxValue for 0 <= i <= uiDimensions
template<class tFactors>
fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::cHyperplaneBodyFull ( const cHyperplaneBodyFull< tFactors > &  hyperplaneBody)

copy constructor

Parameters:
hyperplaneBodythe body to copy
template<class tFactors>
virtual fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::~cHyperplaneBodyFull ( )
virtual

standard destructor


Member Function Documentation

template<class tFactors>
virtual bool fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::addInequiation ( const cInequation< tFactors > &  inequiation)
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.

See also:
addInequiations()
cInequation
cInequation::cHyperplane( const cInequation & inequation )
Returns:
if true this body was restricted by the given inequiation, else the inequiation would remove this body

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.

template<class tFactors>
list< cHyperplaneData< tFactors > * > fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::addIntersectionsFor ( list< cHyperplaneData< tFactors > * > &  liHyperplanes,
const unsigned int  uiDimensionality 
)
protected

This method evalues and inserts the intersections for the given hyperplanes liHyperplanes into this body. The hyperplanes of liHyperplanes should be allready in this body. The hyperplanes of liHyperplanes should also have the same dimensionality (number of directions) uiDimensionality. The containing hyperplanes of the hyperplanes in liHyperplanes, should be allready evalued.

Parameters:
liHyperplanesthe list with the hyperplanes, for which to evalue the intersections with this body
uiDimensionalitythe dimensionality (number of directions) of the hyperplanes in liHyperplanes; because the containing hyperplanes of the liHyperplanes should be allready evalued, it should be uiDimensionality <= iDimensions - 2
Returns:
a list with the pointers of the new created intersection hyperplanes
template<class tFactors>
virtual cHyperplaneBodyFull<tFactors>* fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::clone ( ) const
virtual

This method duplicates this whole hyperplane body.

Returns:
the cloned/ duplicates hyperplane body

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.

template<class tFactors>
virtual vector< vector< tFactors > > fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::getBorderPoints ( ) const
virtual
Returns:
a vector with the border points of the body

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.

template<class tFactors>
virtual unsigned long fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::getNumberOfBorderPoints ( ) const
virtual
Returns:
the number of border points of the body

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.

template<class tFactors>
virtual bool fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::isPart ( const vector< tFactors > &  vecPoint) const
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.

Parameters:
vecPointthe point to check
Returns:
true if the point vecPoint is part of the hyperbody, else false

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.

template<class tFactors>
virtual void fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::print ( ostream &  outputStream) const
virtual

This method print the hyperplane in a readebel form to the given output stream outputSream.

Parameters:
outputSreamthe stream wher to print this inequation to

Implements fib::algorithms::nDn::cHyperplaneBody< tFactors >.


Member Data Documentation

template<class tFactors>
list< cInequationData< tFactors > * > fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::liInequiations
protected

The list with the inequiations which constrain this body. (Ther are equivallent to the border hyperplanes, with the highest dimensionality.)

Definition at line 264 of file cHyperplaneBodyFull.h.

template<class tFactors>
vector< list< cHyperplaneData< tFactors > * > > fib::algorithms::nDn::cHyperplaneBodyFull< tFactors >::vecBorders
protected

A vector with the borders of this body. The index of the vector is the dimensionality of the borders of the list to the vectorelement. (e. g. vecBorders[0] contains the borderpoints of the body)

Definition at line 257 of file cHyperplaneBodyFull.h.


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