Bullet Collision Detection & Physics Library
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Vectormath::Aos::Quat Class Reference

#include <vectormath_aos.h>

Public Member Functions

 Quat ()
 
 Quat (const Quat &quat)
 
 Quat (float x, float y, float z, float w)
 
 Quat (float32x4_t fXYZW)
 
 Quat (const Vector3 &xyz, float w)
 
 Quat (const Vector4 &vec)
 
 Quat (const Matrix3 &rotMat)
 
 Quat (float scalar)
 
Quat & operator= (const Quat &quat)
 
Quat & setXYZ (const Vector3 &vec)
 
const Vector3 getXYZ () const
 
Quat & setX (float x)
 
Quat & setY (float y)
 
Quat & setZ (float z)
 
Quat & setW (float w)
 
float getX () const
 
float getY () const
 
float getZ () const
 
float getW () const
 
Quat & setElem (int idx, float value)
 
float getElem (int idx) const
 
float & operator[] (int idx)
 
float operator[] (int idx) const
 
const Quat operator+ (const Quat &quat) const
 
const Quat operator- (const Quat &quat) const
 
const Quat operator* (const Quat &quat) const
 
const Quat operator* (float scalar) const
 
const Quat operator/ (float scalar) const
 
Quat & operator+= (const Quat &quat)
 
Quat & operator-= (const Quat &quat)
 
Quat & operator*= (const Quat &quat)
 
Quat & operator*= (float scalar)
 
Quat & operator/= (float scalar)
 
const Quat operator- () const
 
 Quat ()
 
 Quat (const Quat &quat)
 
 Quat (float x, float y, float z, float w)
 
 Quat (const Vector3 &xyz, float w)
 
 Quat (const Vector4 &vec)
 
 Quat (const Matrix3 &rotMat)
 
 Quat (float scalar)
 
Quat & operator= (const Quat &quat)
 
Quat & setXYZ (const Vector3 &vec)
 
const Vector3 getXYZ () const
 
Quat & setX (float x)
 
Quat & setY (float y)
 
Quat & setZ (float z)
 
Quat & setW (float w)
 
float getX () const
 
float getY () const
 
float getZ () const
 
float getW () const
 
Quat & setElem (int idx, float value)
 
float getElem (int idx) const
 
float & operator[] (int idx)
 
float operator[] (int idx) const
 
const Quat operator+ (const Quat &quat) const
 
const Quat operator- (const Quat &quat) const
 
const Quat operator* (const Quat &quat) const
 
const Quat operator* (float scalar) const
 
const Quat operator/ (float scalar) const
 
Quat & operator+= (const Quat &quat)
 
Quat & operator-= (const Quat &quat)
 
Quat & operator*= (const Quat &quat)
 
Quat & operator*= (float scalar)
 
Quat & operator/= (float scalar)
 
const Quat operator- () const
 
 Quat ()
 
 Quat (const Quat &quat)
 
 Quat (float x, float y, float z, float w)
 
 Quat (const floatInVec &x, const floatInVec &y, const floatInVec &z, const floatInVec &w)
 
 Quat (const Vector3 &xyz, float w)
 
 Quat (const Vector3 &xyz, const floatInVec &w)
 
 Quat (const Vector4 &vec)
 
 Quat (const Matrix3 &rotMat)
 
 Quat (float scalar)
 
 Quat (const floatInVec &scalar)
 
 Quat (__m128 vf4)
 
__m128 get128 () const
 
void set128 (vec_float4 vec)
 
Quat & operator= (const Quat &quat)
 
Quat & setXYZ (const Vector3 &vec)
 
const Vector3 getXYZ () const
 
Quat & setX (float x)
 
Quat & setY (float y)
 
Quat & setZ (float z)
 
Quat & setW (float w)
 
Quat & setX (const floatInVec &x)
 
Quat & setY (const floatInVec &y)
 
Quat & setZ (const floatInVec &z)
 
Quat & setW (const floatInVec &w)
 
const floatInVec getX () const
 
const floatInVec getY () const
 
const floatInVec getZ () const
 
const floatInVec getW () const
 
Quat & setElem (int idx, float value)
 
Quat & setElem (int idx, const floatInVec &value)
 
const floatInVec getElem (int idx) const
 
VecIdx operator[] (int idx)
 
const floatInVec operator[] (int idx) const
 
const Quat operator+ (const Quat &quat) const
 
const Quat operator- (const Quat &quat) const
 
const Quat operator* (const Quat &quat) const
 
const Quat operator* (float scalar) const
 
const Quat operator/ (float scalar) const
 
const Quat operator* (const floatInVec &scalar) const
 
const Quat operator/ (const floatInVec &scalar) const
 
Quat & operator+= (const Quat &quat)
 
Quat & operator-= (const Quat &quat)
 
Quat & operator*= (const Quat &quat)
 
Quat & operator*= (float scalar)
 
Quat & operator/= (float scalar)
 
Quat & operator*= (const floatInVec &scalar)
 
Quat & operator/= (const floatInVec &scalar)
 
const Quat operator- () const
 

Static Public Member Functions

static const Quat identity ()
 
static const Quat rotation (const Vector3 &unitVec0, const Vector3 &unitVec1)
 
static const Quat rotation (float radians, const Vector3 &unitVec)
 
static const Quat rotationX (float radians)
 
static const Quat rotationY (float radians)
 
static const Quat rotationZ (float radians)
 
static const Quat identity ()
 
static const Quat rotation (const Vector3 &unitVec0, const Vector3 &unitVec1)
 
static const Quat rotation (float radians, const Vector3 &unitVec)
 
static const Quat rotationX (float radians)
 
static const Quat rotationY (float radians)
 
static const Quat rotationZ (float radians)
 
static const Quat identity ()
 
static const Quat rotation (const Vector3 &unitVec0, const Vector3 &unitVec1)
 
static const Quat rotation (float radians, const Vector3 &unitVec)
 
static const Quat rotation (const floatInVec &radians, const Vector3 &unitVec)
 
static const Quat rotationX (float radians)
 
static const Quat rotationY (float radians)
 
static const Quat rotationZ (float radians)
 
static const Quat rotationX (const floatInVec &radians)
 
static const Quat rotationY (const floatInVec &radians)
 
static const Quat rotationZ (const floatInVec &radians)
 

Private Attributes

float mX
 
float mY
 
float mZ
 
float mW
 
__m128 mVec128
 

Detailed Description

Definition at line 868 of file neon/vectormath_aos.h.

Constructor & Destructor Documentation

Vectormath::Aos::Quat::Quat ( )
inline

Definition at line 885 of file neon/vectormath_aos.h.

Vectormath::Aos::Quat::Quat ( const Quat &  quat)
inline

Definition at line 31 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( float  x,
float  y,
float  z,
float  w 
)
inline

Definition at line 36 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( float32x4_t  fXYZW)
inline

Definition at line 44 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( const Vector3 &  xyz,
float  w 
)
inline

Definition at line 49 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( const Vector4 &  vec)
inlineexplicit

Definition at line 55 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( const Matrix3 &  rotMat)
inlineexplicit

Definition at line 1508 of file neon/mat_aos.h.

Vectormath::Aos::Quat::Quat ( float  scalar)
inlineexplicit

Definition at line 63 of file neon/quat_aos.h.

Vectormath::Aos::Quat::Quat ( )
inline

Definition at line 876 of file scalar/vectormath_aos.h.

Vectormath::Aos::Quat::Quat ( const Quat &  quat)
inline
Vectormath::Aos::Quat::Quat ( float  x,
float  y,
float  z,
float  w 
)
inline
Vectormath::Aos::Quat::Quat ( const Vector3 &  xyz,
float  w 
)
inline
Vectormath::Aos::Quat::Quat ( const Vector4 &  vec)
inlineexplicit
Vectormath::Aos::Quat::Quat ( const Matrix3 &  rotMat)
inlineexplicit
Vectormath::Aos::Quat::Quat ( float  scalar)
inlineexplicit
Vectormath::Aos::Quat::Quat ( )
inline

Definition at line 1334 of file sse/vectormath_aos.h.

Vectormath::Aos::Quat::Quat ( const Quat &  quat)
inline
Vectormath::Aos::Quat::Quat ( float  x,
float  y,
float  z,
float  w 
)
inline
Vectormath::Aos::Quat::Quat ( const floatInVec &  x,
const floatInVec &  y,
const floatInVec &  z,
const floatInVec &  w 
)
inline

Definition at line 50 of file sse/quat_aos.h.

Vectormath::Aos::Quat::Quat ( const Vector3 &  xyz,
float  w 
)
inline
Vectormath::Aos::Quat::Quat ( const Vector3 &  xyz,
const floatInVec &  w 
)
inline

Definition at line 79 of file sse/quat_aos.h.

Vectormath::Aos::Quat::Quat ( const Vector4 &  vec)
inlineexplicit
Vectormath::Aos::Quat::Quat ( const Matrix3 &  rotMat)
inlineexplicit
Vectormath::Aos::Quat::Quat ( float  scalar)
inlineexplicit
Vectormath::Aos::Quat::Quat ( const floatInVec &  scalar)
inlineexplicit

Definition at line 95 of file sse/quat_aos.h.

Vectormath::Aos::Quat::Quat ( __m128  vf4)
inlineexplicit

Definition at line 100 of file sse/quat_aos.h.

Member Function Documentation

__m128 Vectormath::Aos::Quat::get128 ( ) const
inline

Definition at line 158 of file sse/quat_aos.h.

float Vectormath::Aos::Quat::getElem ( int  idx) const
inline
const floatInVec Vectormath::Aos::Quat::getElem ( int  idx) const
inline

Definition at line 193 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::getElem ( int  idx) const
inline
float Vectormath::Aos::Quat::getW ( ) const
inline
const floatInVec Vectormath::Aos::Quat::getW ( ) const
inline

Definition at line 182 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::getW ( ) const
inline
float Vectormath::Aos::Quat::getX ( ) const
inline
const floatInVec Vectormath::Aos::Quat::getX ( ) const
inline

Definition at line 149 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::getX ( ) const
inline
const Vector3 Vectormath::Aos::Quat::getXYZ ( ) const
inline
const Vector3 Vectormath::Aos::Quat::getXYZ ( ) const
inline

Definition at line 133 of file neon/quat_aos.h.

const Vector3 Vectormath::Aos::Quat::getXYZ ( ) const
inline
float Vectormath::Aos::Quat::getY ( ) const
inline
const floatInVec Vectormath::Aos::Quat::getY ( ) const
inline

Definition at line 160 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::getY ( ) const
inline
float Vectormath::Aos::Quat::getZ ( ) const
inline
const floatInVec Vectormath::Aos::Quat::getZ ( ) const
inline

Definition at line 171 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::getZ ( ) const
inline
static const Quat Vectormath::Aos::Quat::identity ( )
inlinestatic
const Quat Vectormath::Aos::Quat::identity ( )
inlinestatic

Definition at line 68 of file neon/quat_aos.h.

static const Quat Vectormath::Aos::Quat::identity ( )
inlinestatic
const Quat Vectormath::Aos::Quat::operator* ( const Quat &  quat) const
inline
const Quat Vectormath::Aos::Quat::operator* ( float  scalar) const
inline
const Quat Vectormath::Aos::Quat::operator* ( const Quat &  quat) const
inline

Definition at line 350 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator* ( float  scalar) const
inline

Definition at line 218 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator* ( const Quat &  quat) const
inline
const Quat Vectormath::Aos::Quat::operator* ( float  scalar) const
inline
const Quat Vectormath::Aos::Quat::operator* ( const floatInVec &  scalar) const
inline

Definition at line 292 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator*= ( const Quat &  quat)
inline
Quat& Vectormath::Aos::Quat::operator*= ( float  scalar)
inline
Quat & Vectormath::Aos::Quat::operator*= ( const Quat &  quat)
inline

Definition at line 360 of file neon/quat_aos.h.

Quat & Vectormath::Aos::Quat::operator*= ( float  scalar)
inline

Definition at line 236 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator*= ( const Quat &  quat)
inline
Quat& Vectormath::Aos::Quat::operator*= ( float  scalar)
inline
Quat & Vectormath::Aos::Quat::operator*= ( const floatInVec &  scalar)
inline

Definition at line 315 of file sse/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator+ ( const Quat &  quat) const
inline
const Quat Vectormath::Aos::Quat::operator+ ( const Quat &  quat) const
inline

Definition at line 208 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator+ ( const Quat &  quat) const
inline
Quat& Vectormath::Aos::Quat::operator+= ( const Quat &  quat)
inline
Quat & Vectormath::Aos::Quat::operator+= ( const Quat &  quat)
inline

Definition at line 224 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator+= ( const Quat &  quat)
inline
const Quat Vectormath::Aos::Quat::operator- ( const Quat &  quat) const
inline
const Quat Vectormath::Aos::Quat::operator- ( const Quat &  quat) const
inline

Definition at line 213 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator- ( ) const
inline
const Quat Vectormath::Aos::Quat::operator- ( ) const
inline

Definition at line 258 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator- ( const Quat &  quat) const
inline
const Quat Vectormath::Aos::Quat::operator- ( ) const
inline
Quat& Vectormath::Aos::Quat::operator-= ( const Quat &  quat)
inline
Quat & Vectormath::Aos::Quat::operator-= ( const Quat &  quat)
inline

Definition at line 230 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator-= ( const Quat &  quat)
inline
const Quat Vectormath::Aos::Quat::operator/ ( float  scalar) const
inline
const Quat Vectormath::Aos::Quat::operator/ ( float  scalar) const
inline

Definition at line 242 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::operator/ ( float  scalar) const
inline
const Quat Vectormath::Aos::Quat::operator/ ( const floatInVec &  scalar) const
inline

Definition at line 326 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator/= ( float  scalar)
inline
Quat & Vectormath::Aos::Quat::operator/= ( float  scalar)
inline

Definition at line 252 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator/= ( float  scalar)
inline
Quat & Vectormath::Aos::Quat::operator/= ( const floatInVec &  scalar)
inline

Definition at line 337 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator= ( const Quat &  quat)
inline
Quat & Vectormath::Aos::Quat::operator= ( const Quat &  quat)
inline

Definition at line 119 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::operator= ( const Quat &  quat)
inline
float& Vectormath::Aos::Quat::operator[] ( int  idx)
inline
float Vectormath::Aos::Quat::operator[] ( int  idx) const
inline
VecIdx Vectormath::Aos::Quat::operator[] ( int  idx)
inline

Definition at line 198 of file neon/quat_aos.h.

const floatInVec Vectormath::Aos::Quat::operator[] ( int  idx) const
inline

Definition at line 203 of file neon/quat_aos.h.

VecIdx Vectormath::Aos::Quat::operator[] ( int  idx)
inline
const floatInVec Vectormath::Aos::Quat::operator[] ( int  idx) const
inline
static const Quat Vectormath::Aos::Quat::rotation ( const Vector3 &  unitVec0,
const Vector3 &  unitVec1 
)
inlinestatic
static const Quat Vectormath::Aos::Quat::rotation ( float  radians,
const Vector3 &  unitVec 
)
inlinestatic
const Quat Vectormath::Aos::Quat::rotation ( const Vector3 &  unitVec0,
const Vector3 &  unitVec1 
)
inlinestatic

Definition at line 306 of file neon/quat_aos.h.

const Quat Vectormath::Aos::Quat::rotation ( float  radians,
const Vector3 &  unitVec 
)
inlinestatic

Definition at line 314 of file neon/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotation ( const Vector3 &  unitVec0,
const Vector3 &  unitVec1 
)
inlinestatic
static const Quat Vectormath::Aos::Quat::rotation ( float  radians,
const Vector3 &  unitVec 
)
inlinestatic
const Quat Vectormath::Aos::Quat::rotation ( const floatInVec &  radians,
const Vector3 &  unitVec 
)
inlinestatic

Definition at line 400 of file sse/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationX ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationX ( float  radians)
inlinestatic

Definition at line 323 of file neon/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationX ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationX ( const floatInVec &  radians)
inlinestatic

Definition at line 415 of file sse/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationY ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationY ( float  radians)
inlinestatic

Definition at line 332 of file neon/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationY ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationY ( const floatInVec &  radians)
inlinestatic

Definition at line 432 of file sse/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationZ ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationZ ( float  radians)
inlinestatic

Definition at line 341 of file neon/quat_aos.h.

static const Quat Vectormath::Aos::Quat::rotationZ ( float  radians)
inlinestatic
const Quat Vectormath::Aos::Quat::rotationZ ( const floatInVec &  radians)
inlinestatic

Definition at line 449 of file sse/quat_aos.h.

void Vectormath::Aos::Quat::set128 ( vec_float4  vec)
inline

Definition at line 45 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::setElem ( int  idx,
float  value 
)
inline
Quat & Vectormath::Aos::Quat::setElem ( int  idx,
float  value 
)
inline

Definition at line 187 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setElem ( int  idx,
float  value 
)
inline
Quat & Vectormath::Aos::Quat::setElem ( int  idx,
const floatInVec &  value 
)
inline

Definition at line 255 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::setW ( float  w)
inline
Quat & Vectormath::Aos::Quat::setW ( float  w)
inline

Definition at line 176 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setW ( float  w)
inline
Quat & Vectormath::Aos::Quat::setW ( const floatInVec &  w)
inline

Definition at line 238 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::setX ( float  x)
inline
Quat & Vectormath::Aos::Quat::setX ( float  x)
inline

Definition at line 143 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setX ( float  x)
inline
Quat & Vectormath::Aos::Quat::setX ( const floatInVec &  x)
inline

Definition at line 187 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::setXYZ ( const Vector3 &  vec)
inline
Quat & Vectormath::Aos::Quat::setXYZ ( const Vector3 &  vec)
inline

Definition at line 125 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setXYZ ( const Vector3 &  vec)
inline
Quat& Vectormath::Aos::Quat::setY ( float  y)
inline
Quat & Vectormath::Aos::Quat::setY ( float  y)
inline

Definition at line 154 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setY ( float  y)
inline
Quat & Vectormath::Aos::Quat::setY ( const floatInVec &  y)
inline

Definition at line 204 of file sse/quat_aos.h.

Quat& Vectormath::Aos::Quat::setZ ( float  z)
inline
Quat & Vectormath::Aos::Quat::setZ ( float  z)
inline

Definition at line 165 of file neon/quat_aos.h.

Quat& Vectormath::Aos::Quat::setZ ( float  z)
inline
Quat & Vectormath::Aos::Quat::setZ ( const floatInVec &  z)
inline

Definition at line 221 of file sse/quat_aos.h.

Member Data Documentation

__m128 Vectormath::Aos::Quat::mVec128
private

Definition at line 1329 of file sse/vectormath_aos.h.

float Vectormath::Aos::Quat::mW
private

Definition at line 879 of file neon/vectormath_aos.h.

float Vectormath::Aos::Quat::mX
private

Definition at line 876 of file neon/vectormath_aos.h.

float Vectormath::Aos::Quat::mY
private

Definition at line 877 of file neon/vectormath_aos.h.

float Vectormath::Aos::Quat::mZ
private

Definition at line 878 of file neon/vectormath_aos.h.


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