newspeoplefor developersdocumentationdownloads

_matrix33_sse Class Reference
[Math Data Types]

#include <_matrix33_sse.h>

List of all members.


Detailed Description

An SSE based matrix33 class.

(C) 2002 RadonLabs GmbH

Definition at line 27 of file _matrix33_sse.h.


Public Member Functions

 _matrix33_sse ()
 constructor 1
 _matrix33_sse (const _vector3_sse &v1, const _vector3_sse &v2, const _vector3_sse &v3)
 constructor 2
 _matrix33_sse (const _matrix33_sse &mx)
 constructor 3
 _matrix33_sse (float _m11, float _m12, float _m13, float _m21, float _m22, float _m23, float _m31, float _m32, float _m33)
 constructor 4
 _matrix33_sse (const quaternion &q)
 constructor 5
 _matrix33_sse (const __m128 &_m1, const __m128 &_m2, const __m128 &_m3)
 constructor 6
quaternion get_quaternion () const
 get as quaternion
_vector3_sse to_euler () const
 get as euler representation
void from_euler (const _vector3_sse &ea)
 set as euler
void lookat (const _vector3_sse &from, const _vector3_sse &to, const _vector3_sse &up)
 unrestricted lookat
void billboard (const _vector3_sse &from, const _vector3_sse &to, const _vector3_sse &up)
 restricted lookat (billboard)
void set (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
 set 1
void set (const _vector3_sse &v1, const _vector3_sse &v2, const _vector3_sse &v3)
 set 2
void set (const _matrix33_sse &mx)
 set 3
void ident ()
 set to identity
void transpose ()
 set to transpose
bool orthonorm (float limit)
 is orthonormal?
void scale (const _vector3_sse &s)
 scale
void rotate_x (const float a)
 rotate about global x
void rotate_y (const float a)
 rotates matrix about global y
void rotate_z (const float a)
 rotate about global z
void rotate_local_x (const float a)
 rotate about local x (not very fast)
void rotate_local_y (const float a)
 rotate about local y (not very fast)
void rotate_local_z (const float a)
 rotate about local z (not very fast)
void rotate (const _vector3_sse &vec, float a)
 rotate about any axis
_vector3_sse x_component () const
 get x component
_vector3_sse y_component () const
 get y component
_vector3_sse z_component () const
 get z component
void operator *= (const _matrix33_sse &m1)
void mult (const _vector3_sse &src, _vector3_sse &dst) const
 multiply source vector into target vector

Static Public Attributes

static const _matrix33_sse identity = _matrix33_sse()

Constructor & Destructor Documentation

_matrix33_sse::_matrix33_sse  )  [inline]
 

constructor 1

Definition at line 157 of file _matrix33_sse.h.

_matrix33_sse::_matrix33_sse const _vector3_sse v1,
const _vector3_sse v2,
const _vector3_sse v3
[inline]
 

constructor 2

Definition at line 166 of file _matrix33_sse.h.

_matrix33_sse::_matrix33_sse const _matrix33_sse mx  )  [inline]
 

constructor 3

Definition at line 178 of file _matrix33_sse.h.

_matrix33_sse::_matrix33_sse float  _m11,
float  _m12,
float  _m13,
float  _m21,
float  _m22,
float  _m23,
float  _m31,
float  _m32,
float  _m33
[inline]
 

constructor 4

Definition at line 190 of file _matrix33_sse.h.

_matrix33_sse::_matrix33_sse const quaternion q  )  [inline]
 

constructor 5

FIXME: SSE OPTIMIZATION!

Definition at line 216 of file _matrix33_sse.h.

_matrix33_sse::_matrix33_sse const __m128 &  _m1,
const __m128 &  _m2,
const __m128 &  _m3
[inline]
 

constructor 6

Definition at line 203 of file _matrix33_sse.h.


Member Function Documentation

quaternion _matrix33_sse::get_quaternion  )  const [inline]
 

get as quaternion

FIXME: SSE OPTIMIZATION!

Definition at line 241 of file _matrix33_sse.h.

_vector3_sse _matrix33_sse::to_euler  )  const [inline]
 

get as euler representation

FIXME: SSE OPTIMIZATION!

Definition at line 279 of file _matrix33_sse.h.

void _matrix33_sse::from_euler const _vector3_sse ea  )  [inline]
 

set as euler

FIXME: SSE OPTIMIZATION!

Definition at line 331 of file _matrix33_sse.h.

void _matrix33_sse::lookat const _vector3_sse from,
const _vector3_sse to,
const _vector3_sse up
[inline]
 

unrestricted lookat

Definition at line 365 of file _matrix33_sse.h.

void _matrix33_sse::billboard const _vector3_sse from,
const _vector3_sse to,
const _vector3_sse up
[inline]
 

restricted lookat (billboard)

Definition at line 385 of file _matrix33_sse.h.

void _matrix33_sse::set float  m11,
float  m12,
float  m13,
float  m21,
float  m22,
float  m23,
float  m31,
float  m32,
float  m33
[inline]
 

set 1

Definition at line 406 of file _matrix33_sse.h.

void _matrix33_sse::set const _vector3_sse v1,
const _vector3_sse v2,
const _vector3_sse v3
[inline]
 

set 2

Definition at line 420 of file _matrix33_sse.h.

void _matrix33_sse::set const _matrix33_sse mx  )  [inline]
 

set 3

Definition at line 432 of file _matrix33_sse.h.

void _matrix33_sse::ident  )  [inline]
 

set to identity

Definition at line 444 of file _matrix33_sse.h.

void _matrix33_sse::transpose  )  [inline]
 

set to transpose

FIXME: SSE OPTIMIZATION

Definition at line 455 of file _matrix33_sse.h.

bool _matrix33_sse::orthonorm float  limit  )  [inline]
 

is orthonormal?

FIXME: SSE OPTIMIZATION

Definition at line 470 of file _matrix33_sse.h.

void _matrix33_sse::scale const _vector3_sse s  )  [inline]
 

scale

Definition at line 491 of file _matrix33_sse.h.

void _matrix33_sse::rotate_x const float  a  )  [inline]
 

rotate about global x

FIXME: SSE OPTIMIZATION

Definition at line 504 of file _matrix33_sse.h.

void _matrix33_sse::rotate_y const float  a  )  [inline]
 

rotates matrix about global y

FIXME: SSE OPTIMIZATION

Definition at line 524 of file _matrix33_sse.h.

void _matrix33_sse::rotate_z const float  a  )  [inline]
 

rotate about global z

FIXME: SSE OPTIMIZATION

Definition at line 544 of file _matrix33_sse.h.

void _matrix33_sse::rotate_local_x const float  a  )  [inline]
 

rotate about local x (not very fast)

FIXME: SSE OPTIMIZATION

Definition at line 564 of file _matrix33_sse.h.

void _matrix33_sse::rotate_local_y const float  a  )  [inline]
 

rotate about local y (not very fast)

FIXME: SSE OPTIMIZATION

Definition at line 579 of file _matrix33_sse.h.

void _matrix33_sse::rotate_local_z const float  a  )  [inline]
 

rotate about local z (not very fast)

FIXME: SSE OPTIMIZATION

Definition at line 594 of file _matrix33_sse.h.

void _matrix33_sse::rotate const _vector3_sse vec,
float  a
[inline]
 

rotate about any axis

FIXME: SSE OPTIMIZATION

Definition at line 609 of file _matrix33_sse.h.

_vector3_sse _matrix33_sse::x_component  )  const [inline]
 

get x component

Definition at line 635 of file _matrix33_sse.h.

_vector3_sse _matrix33_sse::y_component  )  const [inline]
 

get y component

Definition at line 645 of file _matrix33_sse.h.

_vector3_sse _matrix33_sse::z_component  )  const [inline]
 

get z component

Definition at line 655 of file _matrix33_sse.h.

void _matrix33_sse::operator *= const _matrix33_sse m1  )  [inline]
 

Definition at line 665 of file _matrix33_sse.h.

void _matrix33_sse::mult const _vector3_sse src,
_vector3_sse dst
const [inline]
 

multiply source vector into target vector

multiply source vector with matrix and store in destination vector this eliminates the construction of a temp _vector3_sse object

Definition at line 693 of file _matrix33_sse.h.


Member Data Documentation

const _matrix33_sse _matrix33_sse::identity = _matrix33_sse() [static]
 

Definition at line 5 of file _matrix33_sse.cc.

__m128 _matrix33_sse::m1
 

Definition at line 98 of file _matrix33_sse.h.

__m128 _matrix33_sse::m2
 

Definition at line 99 of file _matrix33_sse.h.

__m128 _matrix33_sse::m3
 

Definition at line 100 of file _matrix33_sse.h.

float _matrix33_sse::m[3][4]
 

Definition at line 104 of file _matrix33_sse.h.


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

Copyright © 1999-2005 by the contributing authors. Ideas, requests, problems: Send feedback.