Sirikata
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
Sirikata::Vector3< scalar > Class Template Reference

#include <Vector3.hpp>

Collaboration diagram for Sirikata::Vector3< scalar >:

List of all members.

Classes

class  Hasher

Public Types

typedef scalar real

Public Member Functions

 Vector3 (scalar x, scalar y, scalar z)
template<class V >
 Vector3 (const V &other)
 Vector3 ()
scalar & operator[] (const unsigned int i)
template<class T >
convert () const
template<class T >
Vector3< T > downCast () const
scalar operator[] (const unsigned int i) const
Vector3operator= (scalar other)
Vector3 operator* (scalar scale) const
Vector3 scale (scalar scale) const
Vector3 operator/ (scalar scale) const
Vector3 operator+ (const Vector3 &other) const
Vector3 componentMultiply (const Vector3 &other) const
Vector3 operator- (const Vector3 &other) const
Vector3 operator- () const
Vector3operator*= (scalar scale)
Vector3operator/= (scalar scale)
Vector3operator+= (const Vector3 &other)
Vector3operator-= (const Vector3 &other)
Vector3 cross (const Vector3 &other) const
scalar dot (const Vector3 &other) const
Vector3 min (const Vector3 &other) const
Vector3 max (const Vector3 &other) const
scalar lengthSquared () const
scalar length () const
bool operator== (const Vector3 &other) const
bool operator!= (const Vector3 &other) const
Vector3 normal () const
scalar normalizeThis ()
std::string toString () const
Vector3 reflect (const Vector3 &normal) const
size_t hash () const

Static Public Member Functions

template<class V >
static Vector3 fromSSE (const V &other)
static Vector3 zero ()
static Vector3 unitX ()
static Vector3 unitY ()
static Vector3 unitZ ()
static Vector3 unitNegX ()
static Vector3 unitNegY ()
static Vector3 unitNegZ ()

Public Attributes

union {
   struct {
      scalar   x
      scalar   y
      scalar   z
   } 
   scalar   v [3]
}; 

Static Public Attributes

static const unsigned char size = 3

template<typename scalar>
class Sirikata::Vector3< scalar >


Member Typedef Documentation

template<typename scalar>
typedef scalar Sirikata::Vector3< scalar >::real

Constructor & Destructor Documentation

template<typename scalar>
Sirikata::Vector3< scalar >::Vector3 ( scalar  x,
scalar  y,
scalar  z 
) [inline]
template<typename scalar>
template<class V >
Sirikata::Vector3< scalar >::Vector3 ( const V &  other) [inline, explicit]
template<typename scalar>
Sirikata::Vector3< scalar >::Vector3 ( ) [inline]

Member Function Documentation

template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::componentMultiply ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
template<class T >
T Sirikata::Vector3< scalar >::convert ( ) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::cross ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::dot ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
template<class T >
Vector3<T> Sirikata::Vector3< scalar >::downCast ( ) const [inline]
template<typename scalar>
template<class V >
static Vector3 Sirikata::Vector3< scalar >::fromSSE ( const V &  other) [inline, static]
template<typename scalar>
size_t Sirikata::Vector3< scalar >::hash ( ) const [inline]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::length ( ) const [inline]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::lengthSquared ( ) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::max ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::min ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::normal ( ) const [inline]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::normalizeThis ( ) [inline]
template<typename scalar>
bool Sirikata::Vector3< scalar >::operator!= ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::operator* ( scalar  scale) const [inline]
template<typename scalar>
Vector3& Sirikata::Vector3< scalar >::operator*= ( scalar  scale) [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::operator+ ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
Vector3& Sirikata::Vector3< scalar >::operator+= ( const Vector3< scalar > &  other) [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::operator- ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::operator- ( ) const [inline]
template<typename scalar>
Vector3& Sirikata::Vector3< scalar >::operator-= ( const Vector3< scalar > &  other) [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::operator/ ( scalar  scale) const [inline]
template<typename scalar>
Vector3& Sirikata::Vector3< scalar >::operator/= ( scalar  scale) [inline]
template<typename scalar>
Vector3& Sirikata::Vector3< scalar >::operator= ( scalar  other) [inline]
template<typename scalar>
bool Sirikata::Vector3< scalar >::operator== ( const Vector3< scalar > &  other) const [inline]
template<typename scalar>
scalar& Sirikata::Vector3< scalar >::operator[] ( const unsigned int  i) [inline]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::operator[] ( const unsigned int  i) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::reflect ( const Vector3< scalar > &  normal) const [inline]
template<typename scalar>
Vector3 Sirikata::Vector3< scalar >::scale ( scalar  scale) const [inline]
template<typename scalar>
std::string Sirikata::Vector3< scalar >::toString ( ) const [inline]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitNegX ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitNegY ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitNegZ ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitX ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitY ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::unitZ ( ) [inline, static]
template<typename scalar>
static Vector3 Sirikata::Vector3< scalar >::zero ( ) [inline, static]

Member Data Documentation

union { ... }
template<typename scalar>
const unsigned char Sirikata::Vector3< scalar >::size = 3 [static]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::v[3]
template<typename scalar>
scalar Sirikata::Vector3< scalar >::x
template<typename scalar>
scalar Sirikata::Vector3< scalar >::y
template<typename scalar>
scalar Sirikata::Vector3< scalar >::z

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