# Cinder

# cinder::Vec4< T > Class Template Reference

`#include <Vector.h>`

List of all members.

## Public Types
typedef T | TYPE
## Public Member Functions
| Vec4 ()
| Vec4 (T nx, T ny, T nz, T nw)
| Vec4 (const Vec3< T > &src, T aW)
| Vec4 (const Vec4< T > &src)
template<typename FromT >
| Vec4 (const Vec4< FromT > &src)
| Vec4 (const T *d)
Vec4< T > & | operator= (const Vec4< T > &rhs)
template<typename FromT >
Vec4< T > & | operator= (const Vec4< FromT > &rhs)
T & | operator[] (int n)
const T & | operator[] (int n) const
const Vec4< T > | operator+ (const Vec4< T > &rhs) const
const Vec4< T > | operator- (const Vec4< T > &rhs) const
const Vec4< T > | operator* (const Vec4< T > &rhs) const
const Vec4< T > | operator/ (const Vec4< T > &rhs) const
Vec4< T > & | operator+= (const Vec4< T > &rhs)
Vec4< T > & | operator-= (const Vec4< T > &rhs)
Vec4< T > & | operator*= (const Vec4< T > &rhs)
Vec4< T > & | operator/= (const Vec4< T > &rhs)
const Vec4< T > | operator/ (T rhs) const
Vec4< T > & | operator+= (T rhs)
Vec4< T > & | operator-= (T rhs)
Vec4< T > & | operator*= (T rhs)
Vec4< T > & | operator/= (T rhs)
Vec4< T > | operator- () const
bool | operator== (const Vec4< T > &rhs) const
bool | operator!= (const Vec4< T > &rhs) const
T | length () const
void | normalize ()
void | safeNormalize ()
T | lengthSquared () const
Vec4< T > | lerp (T fact, const Vec4< T > &r) const
| operator T * ()
| operator const T * () const
## Static Public Member Functions
static Vec4< T > | max ()
static Vec4< T > | zero ()
static Vec4< T > | one ()
static Vec4< T > | xAxis ()
static Vec4< T > | yAxis ()
static Vec4< T > | zAxis ()
static Vec4< T > | wAxis ()
## Public Attributes
T | x
T | y
T | z
T | w
## Static Public Attributes
static const int | DIM = 4
## Friends
std::ostream & | operator<< (std::ostream &lhs, const Vec4< T > &rhs)

### template<class T>
class cinder::Vec4< T >

## Member Typedef Documentation

template<class T>

typedef T cinder::Vec4< T >::TYPE

## Constructor & Destructor Documentation

template<class T>

cinder::Vec4< T >::Vec4 | ( |  | ) |

template<class T>

cinder::Vec4< T >::Vec4 | ( | T | nx,
|  | T | ny,
|  | T | nz,
|  | T | nw |
| ) |  |  |

template<class T>

cinder::Vec4< T >::Vec4 | ( | const Vec3< T > & | src,
|  | T | aW |
| ) |  |  |

template<class T>

cinder::Vec4< T >::Vec4 | ( | const Vec4< T > & | src | ) |

template<class T>
template<typename FromT >

cinder::Vec4< T >::Vec4 | ( | const Vec4< FromT > & | src | ) |

template<class T>

cinder::Vec4< T >::Vec4 | ( | const T * | d | ) | `[explicit]`

## Member Function Documentation

template<class T>

Vec4<T>& cinder::Vec4< T >::operator= | ( | const Vec4< T > & | rhs | ) |

template<class T>
template<typename FromT >

Vec4<T>& cinder::Vec4< T >::operator= | ( | const Vec4< FromT > & | rhs | ) |

template<class T>

T& cinder::Vec4< T >::operator[] | ( | int | n | ) |

template<class T>

const T& cinder::Vec4< T >::operator[] | ( | int | n | ) | const

template<class T>

const Vec4<T> cinder::Vec4< T >::operator+ | ( | const Vec4< T > & | rhs | ) | const

template<class T>

const Vec4<T> cinder::Vec4< T >::operator- | ( | const Vec4< T > & | rhs | ) | const

template<class T>

const Vec4<T> cinder::Vec4< T >::operator* | ( | const Vec4< T > & | rhs | ) | const

template<class T>

const Vec4<T> cinder::Vec4< T >::operator/ | ( | const Vec4< T > & | rhs | ) | const

template<class T>

Vec4<T>& cinder::Vec4< T >::operator+= | ( | const Vec4< T > & | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator-= | ( | const Vec4< T > & | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator*= | ( | const Vec4< T > & | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator/= | ( | const Vec4< T > & | rhs | ) |

template<class T>

const Vec4<T> cinder::Vec4< T >::operator/ | ( | T | rhs | ) | const

template<class T>

Vec4<T>& cinder::Vec4< T >::operator+= | ( | T | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator-= | ( | T | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator*= | ( | T | rhs | ) |

template<class T>

Vec4<T>& cinder::Vec4< T >::operator/= | ( | T | rhs | ) |

template<class T>

Vec4<T> cinder::Vec4< T >::operator- | ( |  | ) | const

template<class T>

bool cinder::Vec4< T >::operator== | ( | const Vec4< T > & | rhs | ) | const

template<class T>

bool cinder::Vec4< T >::operator!= | ( | const Vec4< T > & | rhs | ) | const

template<class T>

T cinder::Vec4< T >::length | ( |  | ) | const

template<class T>

void cinder::Vec4< T >::normalize | ( |  | ) |

template<class T>

void cinder::Vec4< T >::safeNormalize | ( |  | ) |

template<class T>

T cinder::Vec4< T >::lengthSquared | ( |  | ) | const

template<class T>

Vec4<T> cinder::Vec4< T >::lerp | ( | T | fact,
|  | const Vec4< T > & | r |
| ) |  |  | const

template<class T>

static Vec4<T> cinder::Vec4< T >::max | ( |  | ) | `[static]`

template<class T>

static Vec4<T> cinder::Vec4< T >::zero | ( |  | ) | `[static]`

template<class T>

static Vec4<T> cinder::Vec4< T >::one | ( |  | ) | `[static]`

template<class T>

cinder::Vec4< T >::operator T * | ( |  | ) |

template<class T>

cinder::Vec4< T >::operator const T * | ( |  | ) | const

template<class T>

static Vec4<T> cinder::Vec4< T >::xAxis | ( |  | ) | `[static]`

template<class T>

static Vec4<T> cinder::Vec4< T >::yAxis | ( |  | ) | `[static]`

template<class T>

static Vec4<T> cinder::Vec4< T >::zAxis | ( |  | ) | `[static]`

template<class T>

static Vec4<T> cinder::Vec4< T >::wAxis | ( |  | ) | `[static]`

## Friends And Related Function Documentation

template<class T>

std::ostream& operator<< | ( | std::ostream & | lhs,
|  | const Vec4< T > & | rhs |
| ) |  |  | `[friend]`

## Member Data Documentation

template<class T>

T cinder::Vec4< T >::x

template<class T>

T cinder::Vec4< T >::y

template<class T>

T cinder::Vec4< T >::z

template<class T>

T cinder::Vec4< T >::w

template<class T>

const int cinder::Vec4< T >::DIM = 4`[static]`

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

- include/cinder/Vector.h