The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cHyperplane.h>
Public Member Functions | |
cHyperplane () | |
cHyperplane (const vector< tFactors > &vecInBase, const vector< vector< tFactors > > &vecInDirections) | |
cHyperplane (const nLinearInequation::cInequation< tFactors > &inequation) | |
cHyperplane (const nLinearInequation::cInequation< tFactors > &inequation, unsigned int uiNumberOfDimensions) | |
vector< tFactors > | getBase () const |
void | setBase (const vector< tFactors > &vecInBase) |
vector< tFactors > | getDirection (const unsigned int uiDirection) const |
vector< vector< tFactors > > | getDirections () const |
unsigned int | getNumberOfDirections () const |
bool | addDirection (const vector< tFactors > &vecInDirection) |
unsigned int | addDirections (vector< vector< tFactors > > vecInDirections) |
bool | deleteDirection (unsigned int uiDirection) |
unsigned int | getNumberOfDimensions () const |
unsigned int | setNumberOfDimensions (unsigned int uiDimensionality) |
void | makeDirectionsIndependent () |
void | convertToFormOne () |
cHyperplane< tFactors > * | evalueIntersection (const cHyperplane< tFactors > &hyperplane) const |
bool | equal (const cHyperplane< tFactors > &hyperplane) const |
void | print (ostream &outputStream) const |
Protected Types | |
enum | typeFillType { ALL, NONE, SOME } |
typedef vector< vector < tFactors > > | typeDirection |
typedef typeDirection::iterator | typeItrDirection |
typedef typeDirection::const_iterator | typeConstItrDirection |
Protected Member Functions | |
bool | compareVectorVectorDouble (const vector< vector< tFactors > > &vector1, const vector< vector< tFactors > > &vector2) const |
bool | createHyperplaneFromInequiation (const nLinearInequation::cInequation< tFactors > &inequation, unsigned int uiInNumberOfDimensions) |
Protected Attributes | |
vector< tFactors > | vecBase |
typeDirection | vecDirections |
typeFillType | fillType |
bool | bDirectionsLinearIndependent |
bool | bInFormOne |
Definition at line 66 of file cHyperplane.h.
|
protected |
The type for const iterators for the direction vectors.
Definition at line 87 of file cHyperplane.h.
|
protected |
The type for the direction vectors.
Definition at line 73 of file cHyperplane.h.
|
protected |
The type for iterators for the direction vectors.
Definition at line 80 of file cHyperplane.h.
|
protected |
This type specifies how much the hyperplane fills of the dimensions.
Values:
Definition at line 107 of file cHyperplane.h.
fib::algorithms::nDn::cHyperplane< tFactors >::cHyperplane | ( | ) |
standardconstructor
fib::algorithms::nDn::cHyperplane< tFactors >::cHyperplane | ( | const vector< tFactors > & | vecInBase, |
const vector< vector< tFactors > > & | vecInDirections | ||
) |
parameterconstructor
vecInBase | the base vector (B) for the hyperplane |
vecInDirections | the direction vectors (D_i) for the hyperplane |
fib::algorithms::nDn::cHyperplane< tFactors >::cHyperplane | ( | const nLinearInequation::cInequation< tFactors > & | inequation | ) |
parameterconstructor The number of dimensions will be the number of factors in the inequation.
inequation | the inequiation which defines this hyperplane; if the inequal sign of the inequation would be replaced by an equal sign, all points which fulfill the equiation are on the hyperplane |
fib::algorithms::nDn::cHyperplane< tFactors >::cHyperplane | ( | const nLinearInequation::cInequation< tFactors > & | inequation, |
unsigned int | uiNumberOfDimensions | ||
) |
parameterconstructor
inequation | the inequiation which defines this hyperplane; if the inequal sign of the inequation would be replaced by an equal sign, all points which fulfill the equiation are on the hyperplane |
uiNumberOfDimensions | the number of dimensions the hyperplane should be placed in |
bool fib::algorithms::nDn::cHyperplane< tFactors >::addDirection | ( | const vector< tFactors > & | vecInDirection | ) |
This method adds the given direction vector vecInDirection to this hyperplane.
vecInDirection | the direction vector to add |
unsigned int fib::algorithms::nDn::cHyperplane< tFactors >::addDirections | ( | vector< vector< tFactors > > | vecInDirections | ) |
This method adds the given direction vectors vecInDirections to this hyperplane.
vecInDirections | the direction vectors to add |
|
protected |
This functions compares two vectors of vectors with double numbers. Realy small differences betwean the vector element numbers will be ignored.
vector1 | the first vector of vectors to compare |
vector2 | the second vector of vectors to compare |
void fib::algorithms::nDn::cHyperplane< tFactors >::convertToFormOne | ( | ) |
This method will convert the given hyperplane into the form One form. Form One is a special hyperplane form, wich is uniqe and simpler to handle. Hyperplane form: Y = B + D_1 * x_1 + D_2 * x_2 + ... + D_d * x_d In form One:
|
protected |
This method recreates this hyperplane from the given inequation.
inequation | the inequiation which defines this hyperplane; if the inequal sign of the inequation would be replaced by an equal sign, all points which fulfill the equiation are on the hyperplane |
uiInNumberOfDimensions | the number of dimensions the hyperplane should be placed in |
bool fib::algorithms::nDn::cHyperplane< tFactors >::deleteDirection | ( | unsigned int | uiDirection | ) |
This method deletes the uiDirection'th direction vector of this hyperplane.
uiDirection | the number of the direction vector to delete (counting begins with 1) |
bool fib::algorithms::nDn::cHyperplane< tFactors >::equal | ( | const cHyperplane< tFactors > & | hyperplane | ) | const |
This method checks if this hyperplane is equal to the given hyperplane. Two hyperplanes are equal, if thy contain the same points.
hyperplane | the hyperplane , for wich to check if its equal to this hyperplane |
cHyperplane< tFactors >* fib::algorithms::nDn::cHyperplane< tFactors >::evalueIntersection | ( | const cHyperplane< tFactors > & | hyperplane | ) | const |
This method evalues the intersection of the given hyperplane with this hyperplan. If no intersection exists NULL is returned. Attention: You have to care, that the returned object is deleted.
hyperplane | the hyperplane, with wich this hyperplane should be intersected |
vector< tFactors > fib::algorithms::nDn::cHyperplane< tFactors >::getBase | ( | ) | const |
vector< tFactors > fib::algorithms::nDn::cHyperplane< tFactors >::getDirection | ( | const unsigned int | uiDirection | ) | const |
This method returns the uiDirection'th direction vector of this hyperplane.
uiDirection | the number of the direction vector to return (counting begins with 1) |
vector< vector< tFactors > > fib::algorithms::nDn::cHyperplane< tFactors >::getDirections | ( | ) | const |
unsigned int fib::algorithms::nDn::cHyperplane< tFactors >::getNumberOfDimensions | ( | ) | const |
unsigned int fib::algorithms::nDn::cHyperplane< tFactors >::getNumberOfDirections | ( | ) | const |
void fib::algorithms::nDn::cHyperplane< tFactors >::makeDirectionsIndependent | ( | ) |
This method will remove all not independent vectors from the direction vectors (a_i). So that the remaining direction vectors are linear undependent.
void fib::algorithms::nDn::cHyperplane< tFactors >::print | ( | ostream & | outputStream | ) | const |
This method print the hyperplane in a readebel form to the given output stream outputSream.
outputSream | the stream wher to print this inequation to |
void fib::algorithms::nDn::cHyperplane< tFactors >::setBase | ( | const vector< tFactors > & | vecInBase | ) |
This method sets the base of this hyperplane to the given vecInBase.
vecInBase | the base this hyperplane should have |
unsigned int fib::algorithms::nDn::cHyperplane< tFactors >::setNumberOfDimensions | ( | unsigned int | uiDimensionality | ) |
This method sets the number of dimensions this hyperplane is contained in. (
uiDimensionality | the number of dimensions of this hyperplane |
|
protected |
The directions of this hyperplane are linear independent.
Definition at line 119 of file cHyperplane.h.
|
protected |
The the hyperplane is in form One. Form One is a special hyperplane form, wich is uniqe and simpler to handle. Hyperplane form: Y = B + D_1 * x_1 + D_2 * x_2 + ... + D_d * x_d In form One:
Definition at line 132 of file cHyperplane.h.
|
protected |
This object specifies how much the hyperplane fills of the dimensions.
Definition at line 113 of file cHyperplane.h.
|
protected |
A point on the hyperplane as the base vector (B).
Definition at line 92 of file cHyperplane.h.
|
protected |
The (independent) direction vectors (D_i) for the hyperplane.
Definition at line 97 of file cHyperplane.h.