HyperspaceExplorer 0.7.1
|
Classes | |
class | VecMath::Matrix< D, N > |
Matrix<D, N>: a D x D matrix of numbers of type N. More... | |
class | VecMath::MultiDimensionalVector< T, D > |
A D -dimensionally nested std::vector of objects of type T . More... | |
struct | VecMath::NumAxes< D > |
Determine number of rotation axes in D-dimensional space. More... | |
class | VecMath::RotationAxes< D > |
How to generate a Rotation matrix from a Rotation component. More... | |
class | VecMath::Rotation< D, N > |
Rotation in D-dimensional space defined by angles about the main axes. More... | |
class | VecMath::Vector< D, N > |
Vector<D, N>: a D-dimensional vector of numbers of type N. More... | |
Functions | |
template<unsigned D, typename N > | |
Matrix< D, N > | VecMath::operator* (const Matrix< D, N > &A, const Matrix< D, N > &B) |
Matrix multiplication. | |
template<unsigned D, typename N > | |
Vector< D, N > | VecMath::operator* (const Matrix< D, N > &M, const Vector< D, N > &V) |
Apply the Matrix on a vector. | |
template<unsigned D, typename N > | |
std::ostream & | VecMath::operator<< (std::ostream &, const Matrix< D, N > &) |
Matrix output operator. | |
template<typename T , unsigned D> | |
std::ostream & | VecMath::operator<< (std::ostream &s, MultiDimensionalVector< T, D > const &v) |
Print a MultiDimensionalVector<T, D> on a std::ostream. | |
template<typename T , unsigned D> | |
MultiDimensionalVector< T, D > ::iterator | VecMath::find (MultiDimensionalVector< T, D-1 > const &find_me, MultiDimensionalVector< T, D > &v) |
Find an element in a MultiDimensionalVector. | |
template<typename T > | |
std::ostream & | VecMath::operator<< (std::ostream &s, MultiDimensionalVector< T, 1 > const &v) |
Print a MultiDimensionalVector<T, 1> on a std::ostream. | |
std::ostream & | VecMath::operator<< (std::ostream &o, const RotationBase &) |
RotationBase output operator. | |
template<unsigned D, typename N > | |
std::ostream & | VecMath::operator<< (std::ostream &o, const Rotation< D, N > &v) |
Rotation output operator. | |
template<unsigned D, typename N > | |
std::istringstream & | VecMath::operator>> (std::istringstream &in, Rotation< D, N > &v) |
Rotation input operator. | |
template<unsigned D, typename N > | |
std::ostream & | VecMath::operator<< (std::ostream &s, const Vector< D, N > &v) |
Vector output operator. | |
template<unsigned D, typename N > | |
std::istringstream & | VecMath::operator>> (std::istringstream &in, Vector< D, N > &v) |
Vector input operator. | |
template<typename N > | |
Vector< 3, N > | VecMath::vcross (Vector< 3, N > a, Vector< 3, N > b) |
Cross product of two 3-Vectors. | |
template<typename N > | |
Vector< 4, N > | VecMath::vcross (Vector< 4, N > a, Vector< 4, N > b, Vector< 4, N > c) |
Cross product of three 4-Vectors. | |
template<unsigned D, typename N > | |
Vector< D, N > | VecMath::vnormalize (const Vector< D, N > &x) |
Normalizes a 3-Vector out-of-place. | |
template<typename N > | |
Vector< 2, N > | VecMath::makeVector (N const &x0, N const &x1) |
Generator function for a 2-dimensional Vector. | |
template<typename N > | |
Vector< 3, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2) |
Generator function for a 3-dimensional Vector. | |
template<typename N > | |
Vector< 4, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3) |
Generator function for a 4-dimensional Vector. | |
template<typename N > | |
Vector< 5, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4) |
Generator function for a 5-dimensional Vector. | |
template<typename N > | |
Vector< 6, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4, N const &x5) |
Generator function for a 6-dimensional Vector. | |
template<typename N > | |
Vector< 7, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4, N const &x5, N const &x6) |
Generator function for a 7-dimensional Vector. | |
template<typename N > | |
Vector< 8, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4, N const &x5, N const &x6, N const &x7) |
Generator function for a 8-dimensional Vector. | |
template<typename N > | |
Vector< 9, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4, N const &x5, N const &x6, N const &x7, N const &x8) |
Generator function for a 9-dimensional Vector. | |
template<typename N > | |
Vector< 10, N > | VecMath::makeVector (N const &x0, N const &x1, N const &x2, N const &x3, N const &x4, N const &x5, N const &x6, N const &x7, N const &x8, N const &x9) |
Generator function for a 10-dimensional Vector. |
MultiDimensionalVector< T, D >::iterator VecMath::find | ( | MultiDimensionalVector< T, D-1 > const & | find_me, |
MultiDimensionalVector< T, D > & | v | ||
) |
Find an element in a MultiDimensionalVector.
find_me | The element to find in the vector v |
v | The vector to search for element find_me |
MultiDimensionalVector<T,D>::iterator
pointing to the element or v.end()
if it is not in v
References VecMath::MultiDimensionalVector< T, D >::begin(), and VecMath::MultiDimensionalVector< T, D >::end().
Vector< 10, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4, | ||
N const & | x5, | ||
N const & | x6, | ||
N const & | x7, | ||
N const & | x8, | ||
N const & | x9 | ||
) |
Generator function for a 10-dimensional Vector.
N | numerical type of the vector elements. |
x0 | first element of the Vector. |
x1 | second element of the Vector. |
x2 | third element of the Vector. |
x3 | fourth element of the Vector. |
x4 | fifth element of the Vector. |
x5 | sixth element of the Vector. |
x6 | seventh element of the Vector. |
x7 | eighth element of the Vector. |
x8 | ninth element of the Vector. |
x9 | tenth element of the Vector. |
Vector< 3, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2 | ||
) |
Vector< 4, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3 | ||
) |
Vector< 5, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4 | ||
) |
Vector< 6, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4, | ||
N const & | x5 | ||
) |
Generator function for a 6-dimensional Vector.
N | numerical type of the vector elements. |
Vector< 7, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4, | ||
N const & | x5, | ||
N const & | x6 | ||
) |
Generator function for a 7-dimensional Vector.
N | numerical type of the vector elements. |
Vector< 8, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4, | ||
N const & | x5, | ||
N const & | x6, | ||
N const & | x7 | ||
) |
Generator function for a 8-dimensional Vector.
N | numerical type of the vector elements. |
Vector< 9, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1, | ||
N const & | x2, | ||
N const & | x3, | ||
N const & | x4, | ||
N const & | x5, | ||
N const & | x6, | ||
N const & | x7, | ||
N const & | x8 | ||
) |
Generator function for a 9-dimensional Vector.
N | numerical type of the vector elements. |
Vector< 2, N > VecMath::makeVector | ( | N const & | x0, |
N const & | x1 | ||
) |
Matrix< D, N > VecMath::operator* | ( | const Matrix< D, N > & | A, |
const Matrix< D, N > & | B | ||
) |
std::ostream & VecMath::operator<< | ( | std::ostream & | o, |
const Vector< D, N > & | v | ||
) |
Vector output operator.
D | dimension of the vector |
N | numerical type of the vector elements |
o | ostream to push into |
v | Vector to print |
o
; a new ostream to push Vectors and stuff into References std::setprecision().
std::ostream & VecMath::operator<< | ( | std::ostream & | o, |
const Rotation< D, N > & | v | ||
) |
std::ostream & VecMath::operator<< | ( | std::ostream & | s, |
MultiDimensionalVector< T, D > const & | v | ||
) |
Print a MultiDimensionalVector<T, D> on a std::ostream.
s | The ostream to which v is sent |
v | The vector to print |
s
References copy().
std::ostream & VecMath::operator<< | ( | std::ostream & | o, |
const RotationBase & | r | ||
) |
RotationBase output operator.
This operator is not intended to be used in a production environment. It is defined so it can be overridden using late binding by a Rotation. In fact, it simply prints the typeid of the class.
o | ostream to push into |
r | the RotationBase to print |
std::ostream & VecMath::operator<< | ( | std::ostream & | s, |
MultiDimensionalVector< T, 1 > const & | v | ||
) |
Print a MultiDimensionalVector<T, 1> on a std::ostream.
s | The ostream to which v is sent |
v | The vector to print |
s
References copy().
std::ostream & VecMath::operator<< | ( | std::ostream & | o, |
const Matrix< D, N > & | M | ||
) |
Matrix output operator.
D | dimension of the matrix |
N | numerical type of the matrix elements |
o | ostream to push into |
M | Matrix to print |
References std::endl(), std::setprecision(), and std::setw().
std::istringstream & VecMath::operator>> | ( | std::istringstream & | in, |
Vector< D, N > & | v | ||
) |
Vector input operator.
D | dimension of the vector |
N | numerical type of the vector elements |
in | istringstream to read from |
v | Vector to read |
in
- a new istringstream to read stuff from References VecMath::Vector< D, N >::dimension().
std::istringstream & VecMath::operator>> | ( | std::istringstream & | in, |
Rotation< D, N > & | v | ||
) |
Rotation input operator.
in | istringstream to read from |
v | Rotation to read |
References VecMath::Rotation< D, N >::r().
Cross product of two 3-Vectors.
Specialization of the function template for D
= 3.
N | numerical type of the vector elements |
a | first operand of cross product |
b | second operand of cross product |
a
x
b
Referenced by RealFunction::normal().
Vector< 4, N > VecMath::vcross | ( | Vector< 4, N > | a, |
Vector< 4, N > | b, | ||
Vector< 4, N > | c | ||
) |
Cross product of three 4-Vectors.
Specialization of the function template for D
= 4.
N | numerical type of the vector elements. |
a | first operand of cross product. |
b | second operand of cross product. |
c | third operand of cross product. |
a
x
b
x
c
Normalizes a 3-Vector out-of-place.
D | dimension of the vector |
N | numerical type of the vector elements |
x | Vector to be normalized |
References norm(), sqnorm(), and sqrt().
Referenced by RealFunction::normal().