ML Reference
|
Forward declarations to resolve header file dependencies. More...
#include <mlVector5.h>
Public Types | |
typedef FloatingPointVector< DT, 5 > | Superclass |
A typedef as a shorthand for the base class. | |
typedef DT | ComponentType |
A typedef to "export" the type of components. | |
Public Types inherited from ml::FloatingPointVector< DT, 5 > | |
enum | |
This enum grants access to the size during compile time, e.g. More... | |
typedef DT | ComponentType |
A typedef to "export" the type of components. | |
Public Member Functions | |
constructors | |
Tvec5 (const DT value=0) | |
Default and value constructor. | |
Tvec5 (const Superclass &v) | |
Copy constructor from FloatingPointVector. | |
Tvec5 (const DT x, const DT y, const DT z, const DT c, const DT t) | |
Builds the vector from the scalars x, y, z, c and t to the components 0 to 4, respectively. | |
Tvec5 (const Tvec2< DT > &v, const DT z, const DT c, const DT t) | |
Casts Tvec2 to Tvec5. Last components are set to z, c and t. | |
Tvec5 (const Tvec3< DT > &v, const DT c, const DT t) | |
Casts Tvec3 to Tvec5. Last components are set to c and t. | |
Tvec5 (const Tvec4< DT > &v, const DT t) | |
Casts Tvec4 to Tvec5. Last component is set to t and u. | |
Other operators and methods | |
void | assign (const DT x, const DT y, const DT z, const DT c, const DT t) |
Sets all components to the passed values. | |
Tvec5< DT > & | operator+= (const Tvec2< DT > &v) |
Incrementation by a Tvec2. | |
Tvec5< DT > & | operator+= (const Tvec3< DT > &v) |
Incrementation by a Tvec3. | |
Tvec5< DT > & | operator+= (const Tvec4< DT > &v) |
Incrementation by a Tvec4. | |
const Tvec3< DT > | getVec3 () const |
Returns a Tvec3 from components 0,1, and 2. | |
const Tvec4< DT > | getVec4 () const |
Returns a Tvec4 from components 0, 1, 2, and 3. | |
Public Member Functions inherited from ml::FloatingPointVector< DT, 5 > | |
FloatingPointVector (DT value=DT(0)) | |
Default and value constructor. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator= (DT value) |
Assignment of scalar value to all components. | |
bool | operator== (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Returns whether *this and buffer are component wise equal. | |
bool | operator!= (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Returns whether any components of *this and buffer are not equal. | |
bool | operator< (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Defines an artificial order for use in sort algorithms (lexicographical order). | |
const DT & | operator[] (const size_t i) const |
Constant indexing operators. | |
DT & | operator[] (const size_t i) |
Indexing operators. | |
size_t | getSize () const |
Returns the number of elements of value buffer. | |
DT | norm2 () const |
Returns the Euclidean norm (the vector length), i.e., square root of sum of squares of all components. | |
DT | norm2 (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &weight) const |
Returns the weighted Euclidean norm, i.e., square root of sum of squares of all components multiplied with corresponding squared component of weight. | |
DT | dot (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Returns the dot product, i.e., sum of all components multiplied with corresponding components of buffer. | |
DT | normalize () |
Normalizes the buffer and returns the Euclidean length of vector before normalization, i.e., norm2. | |
DT | length () const |
Returns the length of the vector, i.e. norm2(). | |
DT | distance (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Returns the distance of this vector to a given one. | |
DT | distanceSquared (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const |
Returns the squared distance of this vector to a given one. | |
DT | lengthSquared () const |
Returns the squared length of the vector. | |
DT | compSum () const |
Returns the sum of all components. | |
DT | compMul () const |
Returns the product of all vector components. | |
DT | compMaxAbs () const |
Returns the maximum of absolute component values. | |
void | compMin (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer) |
Sets the component wise minimum of *this and buffer in *this. | |
void | compMax (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer) |
Sets the component wise maximum of *this and buffer in *this. | |
void | compAbs () |
Kills negative signs from all components. | |
void | compDiv (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &d) |
Divides each vector component by the corresponding one of d. | |
void | compSqr () |
Calculates and sets the square of all components. | |
void | compSqrt () |
Calculates and sets square root of all components. | |
void | clampMin (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &lower) |
Calculates and sets all components clamped to lower, i.e., if any component is smaller than the corresponding one in lower then it is set to the one from lower. | |
void | clampMax (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &upper) |
Calculates and sets all components clamped to upper, i.e., if any component is greater than the corresponding one in upper then it is set to the one from upper. | |
void | clamp (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &lower, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &upper) |
Calculates and sets all components of *this so that they are between minimum min and maximum max. | |
void | compRound () |
Rounds all components of this vector using floor(component + 0.5). | |
void | compFloor () |
Rounds all components of this vector using floor(component). | |
void | compCeil () |
Rounds all components of this vector to integer using ceil(component). | |
FloatingPointVector< DT, 3, FloatingPointVectorDataContainerBase< DT, size > > | cross (const FloatingPointVector< DT, 3, FloatingPointVectorDataContainerBase< DT, size > > &b) const |
Returns the cross product for elements, i.e., return vector vertical to *this and b. | |
void | apply (ML_LA_FROM_DOUBLE_TO_DOUBLE f) |
Applies the function f to each component starting from index 0 to index size-1. | |
std::ostream & | writeOut (std::ostream &os) const |
Writes all components to ostream os starting from index 0 to size-1. | |
std::istream & | readIn (std::istream &is) |
Reads all components from istream is starting starting from index 0 to size-1. | |
Additional Inherited Members | |
Protected Attributes inherited from ml::FloatingPointVectorDataContainerBase< DT, size > | |
DT | _buffer [size] |
Related Symbols inherited from ml::FloatingPointVector< DT, 5 > | |
DT | compMul (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &vec) |
Returns the product of all components. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compMin (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer2) |
Component wise minimum of buffer1 and buffer2. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compMax (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer2) |
Component wise maximum of buffer1 and buffer2. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compAbs (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec) |
Returns a vector with all components from vec without negative sign. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compDiv (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &d) |
Component wise division of vec / d. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compSqr (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec) |
Returns a vector with all components from vec squared. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | compSqrt (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec) |
Returns a vector with all components from vec square-rooted. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | clampMin (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &m) |
Returns a new vector with all components from vec clamped to minimum m. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | clampMax (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &m) |
Returns a new vector with all components from vec clamped to maximum m. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | clamp (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > vec, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &lower, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &upper) |
Returns a new vector with all components from vec clamped to range [lower, upper]. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator+= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) |
Arithmetic assignment: Component wise addition. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator-= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) |
Arithmetic assignment: Component wise subtraction of buffer from *this. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator*= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, MLdouble value) |
Arithmetic assignment: Component wise multiplication *this with specialized MLdouble scalar value. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator*= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op2) |
Arithmetic assignment: Component wise multiplication *this with a vector of the same size. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator/= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, MLdouble value) |
Arithmetic assignment: Component wise division of *this by scalar value. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & | operator/= (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op1, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &op2) |
Arithmetic assignment: Component wise division of *this by the values of a vector of the same size. | |
bool | operator! (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &a) |
Returns whether all components are 0. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator+ (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > lhs, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &rhs) |
Return value is the component wise addition of lhs and rhs. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator+ (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) |
Unary plus, for completeness and for those who really want to use that... | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator- (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > lhs, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &rhs) |
Return value is the component wise subtraction of rhs from lhs. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator- (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) |
Unary minus, all components of the vector are multiplied with -1. | |
DT | operator* (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &a, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &b) |
Dot product, returns a.dot(b). | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator* (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > lhs, MLdouble rhs) |
Component wise multiplication of lhs with rhs. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator* (MLdouble lhs, FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > rhs) |
Component wise multiplication of rhs with lhs. | |
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > | operator/ (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > lhs, MLdouble rhs) |
Component wise division of lhs by specialized rhs of type MLdouble. | |
Forward declarations to resolve header file dependencies.
A five dimensional vector class for floating point types.
A five dimensional vector class.
Definition at line 47 of file mlVector5.h.
typedef DT ml::Tvec5< DT >::ComponentType |
A typedef to "export" the type of components.
Definition at line 55 of file mlVector5.h.
typedef FloatingPointVector<DT,5> ml::Tvec5< DT >::Superclass |
A typedef as a shorthand for the base class.
Definition at line 52 of file mlVector5.h.
|
inlineexplicit |
Default and value constructor.
Sets all entries to a user given value. value is the init value for all entries. 0 is the default value.
Definition at line 63 of file mlVector5.h.
|
inline |
Copy constructor from FloatingPointVector.
Definition at line 68 of file mlVector5.h.
|
inline |
Builds the vector from the scalars x, y, z, c and t to the components 0 to 4, respectively.
Definition at line 74 of file mlVector5.h.
|
inline |
Casts Tvec2 to Tvec5. Last components are set to z, c and t.
Definition at line 84 of file mlVector5.h.
Casts Tvec3 to Tvec5. Last components are set to c and t.
Definition at line 94 of file mlVector5.h.
Casts Tvec4 to Tvec5. Last component is set to t and u.
Definition at line 104 of file mlVector5.h.
|
inline |
Sets all components to the passed values.
Definition at line 119 of file mlVector5.h.
Returns a Tvec3 from components 0,1, and 2.
Definition at line 156 of file mlVector5.h.
Returns a Tvec4 from components 0, 1, 2, and 3.
Definition at line 164 of file mlVector5.h.
Incrementation by a Tvec2.
Definition at line 129 of file mlVector5.h.
Incrementation by a Tvec3.
Definition at line 137 of file mlVector5.h.
Incrementation by a Tvec4.
Definition at line 146 of file mlVector5.h.