#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 More... | |
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 More... | |
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! More... | |
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
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
T RaveVector< T >::w |
T RaveVector< T >::x |
T RaveVector< T >::y |
T RaveVector< T >::z |