Cinder  0.8.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
cinder::Vec3< T > Class Template Reference

#include <Vector.h>

Public Types

typedef T TYPE
 
typedef T value_type
 

Public Member Functions

 Vec3 ()
 
 Vec3 (T nx, T ny, T nz)
 
 Vec3 (const Vec3< T > &src)
 
 Vec3 (const Vec2< T > &v2, T aZ)
 
 Vec3 (const Vec2< T > &v2)
 
 Vec3 (const T *d)
 
template<typename FromT >
 Vec3 (const Vec3< FromT > &src)
 
template<typename Y >
 Vec3 (const Y &v)
 
void set (T ax, T ay, T az)
 
void set (const Vec3< T > &rhs)
 
Vec3< T > & operator= (const Vec3< T > &rhs)
 
template<typename FromT >
Vec3< T > & operator= (const Vec3< FromT > &rhs)
 
T & operator[] (int n)
 
const T & operator[] (int n) const
 
T * ptr () const
 
const Vec3< T > operator+ (const Vec3< T > &rhs) const
 
const Vec3< T > operator- (const Vec3< T > &rhs) const
 
const Vec3< T > operator* (const Vec3< T > &rhs) const
 
const Vec3< T > operator/ (const Vec3< T > &rhs) const
 
Vec3< T > & operator+= (const Vec3< T > &rhs)
 
Vec3< T > & operator-= (const Vec3< T > &rhs)
 
Vec3< T > & operator*= (const Vec3< T > &rhs)
 
Vec3< T > & operator/= (const Vec3< T > &rhs)
 
const Vec3< T > operator/ (T rhs) const
 
Vec3< T > & operator+= (T rhs)
 
Vec3< T > & operator-= (T rhs)
 
Vec3< T > & operator*= (T rhs)
 
Vec3< T > & operator/= (T rhs)
 
Vec3< T > operator- () const
 
bool operator== (const Vec3< T > &rhs) const
 
bool operator!= (const Vec3< T > &rhs) const
 
dot (const Vec3< T > &rhs) const
 
Vec3< T > cross (const Vec3< T > &rhs) const
 
distance (const Vec3< T > &rhs) const
 
distanceSquared (const Vec3< T > &rhs) const
 
length () const
 
lengthSquared () const
 
void limit (T maxLength)
 Limits the length of a Vec3 to maxLength, scaling it proportionally if necessary. More...
 
Vec3< T > limited (T maxLength) const
 Returns a copy of the Vec3 with its length limited to maxLength, scaling it proportionally if necessary. More...
 
void invert ()
 
Vec3< T > inverse () const
 
void normalize ()
 
Vec3< T > normalized () const
 
void safeNormalize ()
 
Vec3< T > safeNormalized () const
 
Vec3< T > getOrthogonal () const
 Returns a vector which is orthogonal to this. More...
 
void rotateX (T angle)
 
void rotateY (T angle)
 
void rotateZ (T angle)
 
void rotate (Vec3< T > axis, T angle)
 
Vec3< T > lerp (T fact, const Vec3< T > &rhs) const
 
void lerpEq (T fact, const Vec3< T > &rhs)
 
Vec3< T > slerp (T fact, const Vec3< T > &r) const
 
Vec3< T > squad (T t, const Vec3< T > &tangentA, const Vec3< T > &tangentB, const Vec3< T > &end) const
 
Vec2< T > xx () const
 
Vec2< T > xy () const
 
Vec2< T > xz () const
 
Vec2< T > yx () const
 
Vec2< T > yy () const
 
Vec2< T > yz () const
 
Vec2< T > zx () const
 
Vec2< T > zy () const
 
Vec2< T > zz () const
 
Vec3< T > xxx () const
 
Vec3< T > xxy () const
 
Vec3< T > xxz () const
 
Vec3< T > xyx () const
 
Vec3< T > xyy () const
 
Vec3< T > xyz () const
 
Vec3< T > xzx () const
 
Vec3< T > xzy () const
 
Vec3< T > xzz () const
 
Vec3< T > yxx () const
 
Vec3< T > yxy () const
 
Vec3< T > yxz () const
 
Vec3< T > yyx () const
 
Vec3< T > yyy () const
 
Vec3< T > yyz () const
 
Vec3< T > yzx () const
 
Vec3< T > yzy () const
 
Vec3< T > yzz () const
 
Vec3< T > zxx () const
 
Vec3< T > zxy () const
 
Vec3< T > zxz () const
 
Vec3< T > zyx () const
 
Vec3< T > zyy () const
 
Vec3< T > zyz () const
 
Vec3< T > zzx () const
 
Vec3< T > zzy () const
 
Vec3< T > zzz () const
 

Static Public Member Functions

static Vec3< T > max ()
 
static Vec3< T > zero ()
 
static Vec3< T > one ()
 
static Vec3< T > xAxis ()
 
static Vec3< T > yAxis ()
 
static Vec3< T > zAxis ()
 
static Vec3< T > NaN ()
 

Public Attributes

x
 
y
 
z
 

Static Public Attributes

static const int DIM = 3
 

Friends

std::ostream & operator<< (std::ostream &lhs, const Vec3< T > rhs)
 

Member Typedef Documentation

template<typename T>
typedef T cinder::Vec3< T >::TYPE
template<typename T>
typedef T cinder::Vec3< T >::value_type

Constructor & Destructor Documentation

template<typename T>
cinder::Vec3< T >::Vec3 ( )
template<typename T>
cinder::Vec3< T >::Vec3 ( nx,
ny,
nz 
)
template<typename T>
cinder::Vec3< T >::Vec3 ( const Vec3< T > &  src)
template<typename T>
cinder::Vec3< T >::Vec3 ( const Vec2< T > &  v2,
aZ 
)
template<typename T>
cinder::Vec3< T >::Vec3 ( const Vec2< T > &  v2)
explicit
template<typename T>
cinder::Vec3< T >::Vec3 ( const T *  d)
explicit
template<typename T>
template<typename FromT >
cinder::Vec3< T >::Vec3 ( const Vec3< FromT > &  src)
template<typename T>
template<typename Y >
cinder::Vec3< T >::Vec3 ( const Y &  v)
explicit

Member Function Documentation

template<typename T>
void cinder::Vec3< T >::set ( ax,
ay,
az 
)
template<typename T>
void cinder::Vec3< T >::set ( const Vec3< T > &  rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator= ( const Vec3< T > &  rhs)
template<typename T>
template<typename FromT >
Vec3<T>& cinder::Vec3< T >::operator= ( const Vec3< FromT > &  rhs)
template<typename T>
T& cinder::Vec3< T >::operator[] ( int  n)
template<typename T>
const T& cinder::Vec3< T >::operator[] ( int  n) const
template<typename T>
T* cinder::Vec3< T >::ptr ( ) const
template<typename T>
const Vec3<T> cinder::Vec3< T >::operator+ ( const Vec3< T > &  rhs) const
template<typename T>
const Vec3<T> cinder::Vec3< T >::operator- ( const Vec3< T > &  rhs) const
template<typename T>
const Vec3<T> cinder::Vec3< T >::operator* ( const Vec3< T > &  rhs) const
template<typename T>
const Vec3<T> cinder::Vec3< T >::operator/ ( const Vec3< T > &  rhs) const
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator+= ( const Vec3< T > &  rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator-= ( const Vec3< T > &  rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator*= ( const Vec3< T > &  rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator/= ( const Vec3< T > &  rhs)
template<typename T>
const Vec3<T> cinder::Vec3< T >::operator/ ( rhs) const
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator+= ( rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator-= ( rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator*= ( rhs)
template<typename T>
Vec3<T>& cinder::Vec3< T >::operator/= ( rhs)
template<typename T>
Vec3<T> cinder::Vec3< T >::operator- ( ) const
template<typename T>
bool cinder::Vec3< T >::operator== ( const Vec3< T > &  rhs) const
template<typename T>
bool cinder::Vec3< T >::operator!= ( const Vec3< T > &  rhs) const
template<typename T>
T cinder::Vec3< T >::dot ( const Vec3< T > &  rhs) const
template<typename T>
Vec3<T> cinder::Vec3< T >::cross ( const Vec3< T > &  rhs) const
template<typename T>
T cinder::Vec3< T >::distance ( const Vec3< T > &  rhs) const
template<typename T>
T cinder::Vec3< T >::distanceSquared ( const Vec3< T > &  rhs) const
template<typename T>
T cinder::Vec3< T >::length ( ) const
template<typename T>
T cinder::Vec3< T >::lengthSquared ( ) const
template<typename T>
void cinder::Vec3< T >::limit ( maxLength)

Limits the length of a Vec3 to maxLength, scaling it proportionally if necessary.

template<typename T>
Vec3<T> cinder::Vec3< T >::limited ( maxLength) const

Returns a copy of the Vec3 with its length limited to maxLength, scaling it proportionally if necessary.

template<typename T>
void cinder::Vec3< T >::invert ( )
template<typename T>
Vec3<T> cinder::Vec3< T >::inverse ( ) const
template<typename T>
void cinder::Vec3< T >::normalize ( )
template<typename T>
Vec3<T> cinder::Vec3< T >::normalized ( ) const
template<typename T>
void cinder::Vec3< T >::safeNormalize ( )
template<typename T>
Vec3<T> cinder::Vec3< T >::safeNormalized ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::getOrthogonal ( ) const

Returns a vector which is orthogonal to this.

template<typename T>
void cinder::Vec3< T >::rotateX ( angle)
template<typename T>
void cinder::Vec3< T >::rotateY ( angle)
template<typename T>
void cinder::Vec3< T >::rotateZ ( angle)
template<typename T>
void cinder::Vec3< T >::rotate ( Vec3< T >  axis,
angle 
)
template<typename T>
Vec3<T> cinder::Vec3< T >::lerp ( fact,
const Vec3< T > &  rhs 
) const
template<typename T>
void cinder::Vec3< T >::lerpEq ( fact,
const Vec3< T > &  rhs 
)
template<typename T>
static Vec3<T> cinder::Vec3< T >::max ( )
static
template<typename T>
static Vec3<T> cinder::Vec3< T >::zero ( )
static
template<typename T>
static Vec3<T> cinder::Vec3< T >::one ( )
static
template<typename T>
Vec3<T> cinder::Vec3< T >::slerp ( fact,
const Vec3< T > &  r 
) const
template<typename T>
Vec3<T> cinder::Vec3< T >::squad ( t,
const Vec3< T > &  tangentA,
const Vec3< T > &  tangentB,
const Vec3< T > &  end 
) const
template<typename T>
Vec2<T> cinder::Vec3< T >::xx ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::xy ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::xz ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::yx ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::yy ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::yz ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::zx ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::zy ( ) const
template<typename T>
Vec2<T> cinder::Vec3< T >::zz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xxx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xxy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xxz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xyx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xyy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xyz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xzx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xzy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::xzz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yxx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yxy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yxz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yyx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yyy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yyz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yzx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yzy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::yzz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zxx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zxy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zxz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zyx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zyy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zyz ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zzx ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zzy ( ) const
template<typename T>
Vec3<T> cinder::Vec3< T >::zzz ( ) const
template<typename T>
static Vec3<T> cinder::Vec3< T >::xAxis ( )
static
template<typename T>
static Vec3<T> cinder::Vec3< T >::yAxis ( )
static
template<typename T>
static Vec3<T> cinder::Vec3< T >::zAxis ( )
static
template<typename T>
static Vec3<T> cinder::Vec3< T >::NaN ( )
static

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  lhs,
const Vec3< T >  rhs 
)
friend

Member Data Documentation

template<typename T>
T cinder::Vec3< T >::x
template<typename T>
T cinder::Vec3< T >::y
template<typename T>
T cinder::Vec3< T >::z
template<typename T>
const int cinder::Vec3< T >::DIM = 3
static

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