vmml::Vector3< T > Class Template Reference

List of all members.

Public Types

typedef T * iterator
typedef const T * const_iterator

Public Member Functions

 Vector3 (const T a)
 Vector3 (const T i, const T j, const T k)
 Vector3 (const Vector2< T > &xy, const T z)
 Vector3 (const Vector4< T > &from)
template<typename U >
 Vector3 (const Vector3< U > &orig)
 Vector3 (const float *values)
 Vector3 (const double *values)
void set (T xx, T yy, T zz)
void set (const float *values)
void set (const double *values)
bool set (const std::string &values, char delimiter= ' ')
bool set (const std::vector< std::string > &values)
const Vector3operator= (T a)
const Vector3operator= (const Vector3 &rhs)
template<typename U >
const Vector3operator= (const Vector3< U > &rhs)
T & operator[] (size_t position)
const T & operator[] (size_t position) const
Vector3 operator+ (const T a) const
Vector3 operator- (const T a) const
Vector3 operator* (const T a) const
Vector3 operator/ (T a) const
const Vector3operator+= (T a)
const Vector3operator-= (T a)
const Vector3operator*= (T a)
const Vector3operator/= (T a)
Vector3 operator+ (const Vector3 &rhs) const
Vector3 operator- (const Vector3 &rhs) const
Vector3 operator* (const Vector3 &rhs) const
Vector3 operator/ (const Vector3 &rhs) const
Vector3 operator- () const
const Vector3operator+= (const Vector3 &rhs)
const Vector3operator-= (const Vector3 &rhs)
const Vector3operator*= (const Vector3 &rhs)
const Vector3operator/= (const Vector3 &rhs)
bool operator== (const Vector3 &rhs) const
bool operator!= (const Vector3 &rhs) const
bool isAkin (const Vector3 &rhs, const T &delta=std::numeric_limits< T >::epsilon()) const
void clamp (T lower, T upper)
size_t smaller (const Vector3 &rhs) const
size_t smaller (const Vector3 &rhs, const size_t axis) const
size_t greater (const Vector3 &rhs) const
size_t greater (const Vector3 &rhs, const size_t axis) const
length () const
lengthSquared () const
distance (const Vector3 &other) const
distanceSquared (const Vector3 &other) const
normalize ()
normalise ()
Vector3 getNormalized () const
void scale (T scale_factor)
Vector3 cross (const Vector3 &rhs) const
void cross (const Vector3 &a, const Vector3 &b)
dot (const Vector3 &rhs) const
void invert ()
void normal (const Vector3 &aa, const Vector3 &bb, const Vector3 &cc)
Vector3 normal (const Vector3 &aa, const Vector3 &bb)
Vector3 rotate (T theta, T rx, T ry, T rz)
getMinComponent ()
getMaxComponent ()
void randomize ()
bool getString (std::string &result, const std::string &delimiter=" ") const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
template<>
float length () const
template<>
Vector3< float > operator/ (float a) const
template<>
Vector3< double > operator/ (double a) const
template<>
const Vector3< float > & operator/= (float a)
template<>
const Vector3< double > & operator/= (double a)
template<>
bool isAkin (const Vector3 &rhs, const float &delta) const
template<>
Vector3< float > rotate (float theta, float rx, float ry, float rz)

Static Public Member Functions

static T normalize (float *source)
static T normalise (float *source)
static T dot (const Vector3 &a, const Vector3 &b)

Public Attributes

union {
   struct {
      T   x
      T   y
      T   z
   } 
   struct {
      T   r
      T   g
      T   b
   } 
   T   xyz [3]
   T   rgb [3]
   T   array [3]
}; 

Static Public Attributes

static const Vector3 FORWARD
static const Vector3 BACKWARD
static const Vector3 UP
static const Vector3 DOWN
static const Vector3 LEFT
static const Vector3 RIGHT
static const Vector3 ONE
static const Vector3 ZERO
static const Vector3 UNIT_X
static const Vector3 UNIT_Y
static const Vector3 UNIT_Z

Friends

std::ostream & operator<< (std::ostream &os, const Vector3 &v)

template<typename T>
class vmml::Vector3< T >


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

Generated by  doxygen 1.6.2