# TVector3Template< T > Class Template Reference
[Math classes]

Inheritance diagram for TVector3Template< T >:

List of all members.

## Public Member Functions
| TVector3Template (void)
template<class U >
| TVector3Template (const TVector3Template< U > &inVector)
| TVector3Template (const T &xx, const T &yy, const T &zz)
void | SetValues (const T xx, const T yy, const T zz)
uint32 | GetDimension (void) const
void | SetFromXY (const TVector2Template< T > &v, const T &z)
TVector2Template< T > & | CastToXY (void)
const TVector2Template< T > & | CastToXY (void) const
const T & | operator() (const uint32 elemNum) const
T & | operator() (const uint32 elemNum)
const T & | operator[] (const uint32 elemNum) const
T & | operator[] (const uint32 elemNum)
T & | X (void)
T & | Y (void)
T & | Z (void)
const T & | X (void) const
const T & | Y (void) const
const T & | Z (void) const
real64 | GetMagnitude (void) const
real64 | GetMagnitudeSquared (void) const
real64 | GetDistance (const TVector3Template< T > &rhs) const
boolean | SetMagnitude (const T &newMagnitude)
void | SetToCenter (const TVector3Template< T > &v0, const TVector3Template< T > &v1)
boolean | Normalize (const T &zeroTolerance=0.0f)
boolean | NormalizeOrReplaceWith (const TVector3Template< T > &replacement, const T &zeroTolerance=0.0f)
boolean | Normalized () const
boolean | IsEqual (const TVector3Template< T > &compareVec, const T &zeroTolerance=0.0f) const
boolean | IsEqualRelative (const TVector3Template< T > &compareVec, const T &zeroTolerance=0.0f) const
void | ClampValue (const TVector3Template< T > &min, const TVector3Template< T > &max)
void | Negate (void)
void | Interpolate (const TVector3Template< T > &vstart, const TVector3Template< T > &vend, const T &t)
void | Swap (TVector3Template< T > &v)
void | BuildOrthonormalBase (TVector3Template< T > &I, TVector3Template< T > &J) const
TVector3Template< T > & | operator= (const int32 i)
template<class U >
TVector3Template< T > & | operator= (const TVector3Template< U > &v)
TVector3Template< T > & | operator/= (const T &scalar)
TVector3Template< T > & | operator*= (const T &scalar)
TVector3Template< T > & | operator+= (const TVector3Template< T > &v)
TVector3Template< T > & | operator-= (const TVector3Template< T > &v)
real64 | operator* (const TVector3Template< T > &b) const
TVector3Template< T > | operator/ (const T &s) const
TVector3Template< T > | operator* (const T &s) const
T | Normalize (TVector3Template< T > &result) const
T | GetNorm () const
T | GetSquaredNorm () const
boolean | IsNull (const T &eps=(T) 1e-5) const
## Public Attributes
T | x
T | y
T | z
## Static Public Attributes
static const TVector3Template< T > | kZero
static const TVector3Template< T > | kOnes
static const TVector3Template< T > | kUnitX
static const TVector3Template< T > | kUnitY
static const TVector3Template< T > | kUnitZ
static const TVector3Template< T > | kNegativeX
static const TVector3Template< T > | kNegativeY
static const TVector3Template< T > | kNegativeZ

## Detailed Description

### template<class T>
class TVector3Template< T >

Defines a three dimensional vector.

## Constructor & Destructor Documentation

template<class T >

TVector3Template< T >::TVector3Template | ( | void |  | ) | `[inline]`

template<class T>
template<class U >

TVector3Template< T >::TVector3Template | ( | const TVector3Template< U > & | inVector | ) | `[inline]`

template<class T>

TVector3Template< T >::TVector3Template | ( | const T & | xx,
|  | const T & | yy,
|  | const T & | zz |
| ) |  |  | `[inline]`

## Member Function Documentation

template<class T>

void TVector3Template< T >::BuildOrthonormalBase | ( | TVector3Template< T > & | I,
|  | TVector3Template< T > & | J |
| ) |  |  | const

template<class T >

const TVector2Template< T > & TVector3Template< T >::CastToXY | ( | void |  | ) | const`[inline]`

template<class T >

TVector2Template< T > & TVector3Template< T >::CastToXY | ( | void |  | ) | `[inline]`

template<class T>

void TVector3Template< T >::ClampValue | ( | const TVector3Template< T > & | min,
|  | const TVector3Template< T > & | max |
| ) |  |  |

template<class T >

uint32 TVector3Template< T >::GetDimension | ( | void |  | ) | const`[inline]`

template<class T>

real64 TVector3Template< T >::GetDistance | ( | const TVector3Template< T > & | rhs | ) | const`[inline]`

template<class T >

real64 TVector3Template< T >::GetMagnitude | ( | void |  | ) | const`[inline]`

template<class T >

real64 TVector3Template< T >::GetMagnitudeSquared | ( | void |  | ) | const`[inline]`

template<class T>

T TVector3Template< T >::GetNorm | ( |  | ) | const`[inline]`

template<class T>

T TVector3Template< T >::GetSquaredNorm | ( |  | ) | const`[inline]`

template<class T>

void TVector3Template< T >::Interpolate | ( | const TVector3Template< T > & | vstart,
|  | const TVector3Template< T > & | vend,
|  | const T & | t |
| ) |  |  |

template<class T>

boolean TVector3Template< T >::IsEqual | ( | const TVector3Template< T > & | compareVec,
|  | const T & | zeroTolerance = `0.0f` |
| ) |  |  | const

template<class T>

boolean TVector3Template< T >::IsEqualRelative | ( | const TVector3Template< T > & | compareVec,
|  | const T & | zeroTolerance = `0.0f` |
| ) |  |  | const

template<class T>

boolean TVector3Template< T >::IsNull | ( | const T & | eps = `(T)1e-5` | ) | const`[inline]`

template<class T >

void TVector3Template< T >::Negate | ( | void |  | ) | `[inline]`

template<class T>

T TVector3Template< T >::Normalize | ( | TVector3Template< T > & | result | ) | const

template<class T>

boolean TVector3Template< T >::Normalize | ( | const T & | zeroTolerance = `0.0f` | ) | `[inline]`

template<class T >

boolean TVector3Template< T >::Normalized | ( |  | ) | const`[inline]`

template<class T>

boolean TVector3Template< T >::NormalizeOrReplaceWith | ( | const TVector3Template< T > & | replacement,
|  | const T & | zeroTolerance = `0.0f` |
| ) |  |  | `[inline]`

template<class T >

T & TVector3Template< T >::operator() | ( | const uint32 | elemNum | ) | `[inline]`

template<class T >

const T & TVector3Template< T >::operator() | ( | const uint32 | elemNum | ) | const`[inline]`

template<class T>

TVector3Template< T > TVector3Template< T >::operator* | ( | const T & | s | ) | const`[inline]`

template<class T>

real64 TVector3Template< T >::operator* | ( | const TVector3Template< T > & | b | ) | const`[inline]`

template<class T>

TVector3Template< T > & TVector3Template< T >::operator*= | ( | const T & | scalar | ) | `[inline]`

template<class T>

TVector3Template< T > & TVector3Template< T >::operator+= | ( | const TVector3Template< T > & | v | ) | `[inline]`

template<class T>

TVector3Template< T > & TVector3Template< T >::operator-= | ( | const TVector3Template< T > & | v | ) | `[inline]`

template<class T>

TVector3Template< T > TVector3Template< T >::operator/ | ( | const T & | s | ) | const`[inline]`

template<class T>

TVector3Template< T > & TVector3Template< T >::operator/= | ( | const T & | scalar | ) | `[inline]`

template<class T>
template<class U >

TVector3Template<T>& TVector3Template< T >::operator= | ( | const TVector3Template< U > & | v | ) | `[inline]`

template<class T>

TVector3Template<T>& TVector3Template< T >::operator= | ( | const int32 | i | ) | `[inline]`

template<class T >

T & TVector3Template< T >::operator[] | ( | const uint32 | elemNum | ) | `[inline]`

template<class T >

const T & TVector3Template< T >::operator[] | ( | const uint32 | elemNum | ) | const`[inline]`

template<class T>

void TVector3Template< T >::SetFromXY | ( | const TVector2Template< T > & | v,
|  | const T & | z |
| ) |  |  |

template<class T>

boolean TVector3Template< T >::SetMagnitude | ( | const T & | newMagnitude | ) |

template<class T>

void TVector3Template< T >::SetToCenter | ( | const TVector3Template< T > & | v0,
|  | const TVector3Template< T > & | v1 |
| ) |  |  |

template<class T>

void TVector3Template< T >::SetValues | ( | const T | xx,
|  | const T | yy,
|  | const T | zz |
| ) |  |  | `[inline]`

template<class T>

void TVector3Template< T >::Swap | ( | TVector3Template< T > & | v | ) |

template<class T >

const T & TVector3Template< T >::X | ( | void |  | ) | const`[inline]`

template<class T >

T & TVector3Template< T >::X | ( | void |  | ) | `[inline]`

template<class T >

const T & TVector3Template< T >::Y | ( | void |  | ) | const`[inline]`

template<class T >

T & TVector3Template< T >::Y | ( | void |  | ) | `[inline]`

template<class T >

const T & TVector3Template< T >::Z | ( | void |  | ) | const`[inline]`

template<class T >

T & TVector3Template< T >::Z | ( | void |  | ) | `[inline]`

## Member Data Documentation

template<class T>

const TVector3Template<T> TVector3Template< T >::kNegativeX`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kNegativeY`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kNegativeZ`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kOnes`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kUnitX`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kUnitY`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kUnitZ`[static]`

template<class T>

const TVector3Template<T> TVector3Template< T >::kZero`[static]`

template<class T>

T TVector3Template< T >::x

template<class T>

T TVector3Template< T >::y

template<class T>

T TVector3Template< T >::z

The documentation for this class was generated from the following file:

- Vector3.h