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::cHyperplaneBodySimple< tFactors > Class Template Reference

#include <cHyperplaneBodySimple.h>

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

List of all members.

Public Member Functions

 cHyperplaneBodySimple (unsigned int uiInDimensions, const tFactors maxValue=256 *256 *256)
 cHyperplaneBodySimple (const cHyperplaneBodySimple< tFactors > &hyperplaneBody)
virtual ~cHyperplaneBodySimple ()
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 cHyperplaneBodySimple
< 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 Types

typedef set< nBorder::cPoint
< tFactors >
*, nBorder::cPointPositionPointerCompare
< tFactors > > 
typeSetOfPoints

Protected Attributes

set< nBorder::cHyperplaneData
< tFactors > * > 
setBorders
set< nBorder::cLine< tFactors > * > setBorderLines
typeSetOfPoints setBorderPoints
list< nBorder::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::cHyperplaneBodySimple< tFactors >

Definition at line 306 of file cHyperplaneBodySimple.h.


Member Typedef Documentation

template<class tFactors>
typedef set< nBorder::cPoint< tFactors > *, nBorder::cPointPositionPointerCompare< tFactors > > fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >::typeSetOfPoints
protected

A set with the border points of this body.

Definition at line 323 of file cHyperplaneBodySimple.h.


Constructor & Destructor Documentation

template<class tFactors>
fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >::cHyperplaneBodySimple ( unsigned int  uiInDimensions,
const tFactors  maxValue = 256 *256 *256 
)

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::cHyperplaneBodySimple< tFactors >::cHyperplaneBodySimple ( const cHyperplaneBodySimple< tFactors > &  hyperplaneBody)

copy constructor

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

standard destructor


Member Function Documentation

template<class tFactors>
virtual bool fib::algorithms::nDn::cHyperplaneBodySimple< 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>
virtual cHyperplaneBodySimple<tFactors>* fib::algorithms::nDn::cHyperplaneBodySimple< 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::cHyperplaneBodySimple< 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::cHyperplaneBodySimple< 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::cHyperplaneBodySimple< 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::cHyperplaneBodySimple< 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< nBorder::cInequationData< tFactors > * > fib::algorithms::nDn::cHyperplaneBodySimple< 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 331 of file cHyperplaneBodySimple.h.

template<class tFactors>
set< nBorder::cLine< tFactors > * > fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >::setBorderLines
protected

A set with the border lines of this body.

Definition at line 317 of file cHyperplaneBodySimple.h.

template<class tFactors>
typeSetOfPoints fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >::setBorderPoints
protected

Definition at line 324 of file cHyperplaneBodySimple.h.

template<class tFactors>
set< nBorder::cHyperplaneData< tFactors > * > fib::algorithms::nDn::cHyperplaneBodySimple< tFactors >::setBorders
protected

A set with the border hyperplanes of this body.

Definition at line 312 of file cHyperplaneBodySimple.h.


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