|
Library of Assembled Shared Sources
|
4D Vector More...
#include <vector_4d.h>

Public Member Functions | |
| Vector4D::TConstReference | at (signed index) const |
| Wrap index around range. | |
| Vector4D::TReference | at (signed index) |
| Wrap index around range. | |
| const Vector4D< T > & | operator+ () const |
| A weird way to get back the same object. | |
| Vector4D< T > & | operator+= (const Vector4D< T > &other) |
| componentwise addition | |
| Vector4D< T > & | operator-= (const Vector4D< T > &other) |
| componentwise subtraction | |
| Vector4D< T > & | operator*= (const Vector4D< T > &other) |
| Componentwise multiplication. | |
| Vector4D< T > & | operator/= (const Vector4D< T > &other) |
| Componentwise division. | |
| Vector4D< T > & | operator+= (TParam other) |
| add other to each component of this. | |
| Vector4D< T > & | operator-= (TParam other) |
| subtract other of each component of this. | |
| Vector4D< T > & | operator*= (TParam other) |
| multiply each component of this with other. | |
| Vector4D< T > & | operator/= (TParam other) |
| divide each component of this by other. | |
| bool | isZero () const |
| Return true if all the components are (exactly!) zero. | |
| bool | isNaN () const |
| Return true if at least one of the components is NaN. | |
| const TValue | squaredNorm () const |
| Return squared norm of vector. | |
| const TValue | norm () const |
| Return norm of vector. | |
| const Vector4D< T > | normal () const |
| return a unit vector with same direction/sense as this vector. | |
| const Vector4D< T > | project (const Vector4D< T > &other) const |
| Project vector on this one. | |
| const Vector4D< T > | reject (const Vector4D< T > &other) const |
| Project vector on this one. | |
| const Vector4D< T > | transform (T(*op)(T)) const |
| apply a function to every component | |
| void | normalize () |
| Normalize vector. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<typename T> | |
| Vector4D< T >::TValue | dot (const Vector4D< T > &a, const Vector4D< T > &b) |
| dot product. | |
| template<typename T> | |
| Vector4D< T > | operator+ (const Vector4D< T > &a, const Vector4D< T > &b) |
| componentwise addition | |
| template<typename T> | |
| Vector4D< T > | operator- (const Vector4D< T > &a, const Vector4D< T > &b) |
| componentwise subtraction | |
| template<typename T> | |
| Vector4D< T > | operator* (const Vector4D< T > &a, const Vector4D< T > &b) |
| Componentwise multiplication. | |
| template<typename T> | |
| Vector4D< T > | operator/ (const Vector4D< T > &a, const Vector4D< T > &b) |
| Componentwise division. | |
| template<typename T> | |
| Vector4D< T > | operator+ (const Vector4D< T > &a, typename Vector4D< T >::TParam b) |
| add b to all components of a. | |
| template<typename T> | |
| Vector4D< T > | operator- (const Vector4D< T > &a, typename Vector4D< T >::TParam b) |
| subtract b of all components of a. | |
| template<typename T> | |
| Vector4D< T > | operator* (const Vector4D< T > &a, typename Vector4D< T >::TParam b) |
| muliply all components of a by b | |
| template<typename T> | |
| Vector4D< T > | operator/ (const Vector4D< T > &a, typename Vector4D< T >::TParam b) |
| divide all components of a by b | |
| template<typename T> | |
| Vector4D< T > | operator+ (typename Vector4D< T >::TParam a, const Vector4D< T > &b) |
| add a to all components of b | |
| template<typename T> | |
| Vector4D< T > | operator- (typename Vector4D< T >::TParam a, const Vector4D< T > &b) |
| subtract a of all components of b | |
| template<typename T> | |
| Vector4D< T > | operator* (typename Vector4D< T >::TParam a, const Vector4D< T > &b) |
| multiply all components of b with a | |
| template<typename T> | |
| Vector4D< T > | pointwiseMin (const Vector4D< T > &a, const Vector4D< T > &b) |
| return a vector with, for each coordinate, the minimum value of a and b | |
| template<typename T> | |
| Vector4D< T > | pointwiseMax (const Vector4D< T > &a, const Vector4D< T > &b) |
| return a vector with, for each coordinate, the maximum value of a and b | |
| template<typename T> | |
| Vector4D< T > | lerp (const Vector4D< T > &a, const Vector4D< T > &b, typename Vector4D< T >::TParam t) |
| interpolate linearly between two vectors: a + t * (b - a) | |
4D Vector
Definition at line 70 of file vector_4d.h.
| const Vector4D< T > lass::prim::Vector4D< T >::normal | ( | ) | const |
return a unit vector with same direction/sense as this vector.
The normalized vector of X is a vector in the same direction but with norm (length) 1. It is denoted X^ and given by X^ = X / |X|, http://mathworld.wolfram.com/NormalizedVector.html.
Definition at line 323 of file vector_4d.inl.
References normal(), and normalize().
Referenced by normal().