#include <math.h>
Public Member Functions | |
RaveVector< T > & | Cross (const RaveVector< T > &v) |
RaveVector< T > & | Cross (const RaveVector< T > &u, const RaveVector< T > &v) |
this = u x v | |
template<class U > | |
T | dot (const RaveVector< U > &v) const |
T | lengthsqr2 () const |
T | lengthsqr3 () const |
T | lengthsqr4 () const |
RaveVector< T > & | normalize () |
RaveVector< T > & | normalize3 () |
RaveVector< T > & | normalize4 () |
operator const T * () const | |
operator T * () | |
template<class U > | |
RaveVector< T > | operator* (const RaveVector< U > &r) const |
RaveVector< T > | operator* (T k) const |
template<class U > | |
RaveVector< T > & | operator*= (const RaveVector< U > &r) |
RaveVector< T > & | operator*= (const T k) |
template<class U > | |
RaveVector< T > | operator+ (const RaveVector< U > &r) const |
template<class U > | |
RaveVector< T > & | operator+= (const RaveVector< U > &r) |
RaveVector< T > | operator- () const |
template<class U > | |
RaveVector< T > | operator- (const RaveVector< U > &r) const |
template<class U > | |
RaveVector< T > & | operator-= (const RaveVector< U > &r) |
RaveVector< T > & | operator/= (const T _k) |
template<class U > | |
RaveVector< T > & | operator= (const RaveVector< U > &r) |
T | operator[] (int i) const |
T & | operator[] (int i) |
template<class U > | |
RaveVector< T > | operator^ (const RaveVector< U > &v) const |
cross product operator | |
RaveVector () | |
RaveVector (T x, T y, T z) | |
RaveVector (T x, T y, T z, T w) | |
template<class U > | |
RaveVector (const RaveVector< U > &vec) | |
template<class U > | |
RaveVector (const U *pf) | |
note, it only copes 3 values! | |
void | Set3 (const T *pvals) |
void | Set3 (T val1, T val2, T val3) |
void | Set4 (const T *pvals) |
void | Set4 (T val1, T val2, T val3, T val4) |
Public Attributes | |
T | w |
T | x |
T | y |
T | z |
Friends | |
template<class U > | |
RaveVector< U > | operator* (float f, const RaveVector< U > &v) |
template<class U > | |
RaveVector< U > | operator* (double f, const RaveVector< U > &v) |
template<class S , class U > | |
std::basic_ostream< S > & | operator<< (std::basic_ostream< S > &O, const RaveVector< U > &v) |
template<class S , class U > | |
std::basic_istream< S > & | operator>> (std::basic_istream< S > &I, RaveVector< U > &v) |
class used for 3 and 4 dim vectors and quaternions It is better to use this for a 3 dim vector because it is 16byte aligned and SIMD instructions can be used
RaveVector< T >::RaveVector | ( | ) | [inline] |
RaveVector< T >::RaveVector | ( | T | x, |
T | y, | ||
T | z | ||
) | [inline] |
RaveVector< T >::RaveVector | ( | T | x, |
T | y, | ||
T | z, | ||
T | w | ||
) | [inline] |
RaveVector< T >::RaveVector | ( | const RaveVector< U > & | vec | ) | [inline] |
RaveVector<T>& RaveVector< T >::Cross | ( | const RaveVector< T > & | v | ) | [inline] |
RaveVector<T>& RaveVector< T >::Cross | ( | const RaveVector< T > & | u, |
const RaveVector< T > & | v | ||
) | [inline] |
T RaveVector< T >::dot | ( | const RaveVector< U > & | v | ) | const [inline] |
T RaveVector< T >::lengthsqr2 | ( | ) | const [inline] |
T RaveVector< T >::lengthsqr3 | ( | ) | const [inline] |
T RaveVector< T >::lengthsqr4 | ( | ) | const [inline] |
RaveVector<T>& RaveVector< T >::normalize | ( | ) | [inline] |
RaveVector<T>& RaveVector< T >::normalize3 | ( | ) | [inline] |
RaveVector<T>& RaveVector< T >::normalize4 | ( | ) | [inline] |
RaveVector< T >::operator const T * | ( | ) | const [inline] |
RaveVector< T >::operator T * | ( | ) | [inline] |
RaveVector<T> RaveVector< T >::operator* | ( | const RaveVector< U > & | r | ) | const [inline] |
RaveVector<T> RaveVector< T >::operator* | ( | T | k | ) | const [inline] |
RaveVector<T>& RaveVector< T >::operator*= | ( | const RaveVector< U > & | r | ) | [inline] |
RaveVector<T>& RaveVector< T >::operator*= | ( | const T | k | ) | [inline] |
RaveVector<T> RaveVector< T >::operator+ | ( | const RaveVector< U > & | r | ) | const [inline] |
RaveVector<T>& RaveVector< T >::operator+= | ( | const RaveVector< U > & | r | ) | [inline] |
RaveVector<T> RaveVector< T >::operator- | ( | ) | const [inline] |
RaveVector<T> RaveVector< T >::operator- | ( | const RaveVector< U > & | r | ) | const [inline] |
RaveVector<T>& RaveVector< T >::operator-= | ( | const RaveVector< U > & | r | ) | [inline] |
RaveVector<T>& RaveVector< T >::operator/= | ( | const T | _k | ) | [inline] |
RaveVector<T>& RaveVector< T >::operator= | ( | const RaveVector< U > & | r | ) | [inline] |
T RaveVector< T >::operator[] | ( | int | i | ) | const [inline] |
T& RaveVector< T >::operator[] | ( | int | i | ) | [inline] |
RaveVector<T> RaveVector< T >::operator^ | ( | const RaveVector< U > & | v | ) | const [inline] |
void RaveVector< T >::Set3 | ( | const T * | pvals | ) | [inline] |
void RaveVector< T >::Set4 | ( | const T * | pvals | ) | [inline] |
RaveVector<U> operator* | ( | float | f, |
const RaveVector< U > & | v | ||
) | [friend] |
RaveVector<U> operator* | ( | double | f, |
const RaveVector< U > & | v | ||
) | [friend] |
std::basic_ostream<S>& operator<< | ( | std::basic_ostream< S > & | O, |
const RaveVector< U > & | v | ||
) | [friend] |
std::basic_istream<S>& operator>> | ( | std::basic_istream< S > & | I, |
RaveVector< U > & | v | ||
) | [friend] |