Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
Matrix3x3 Class Reference

#include <matrix3.h>

Public Member Functions

WWINLINE Matrix3x3 (void)
 
WWINLINE Matrix3x3 (const Matrix3x3 &m)
 
WWINLINE Matrix3x3 (bool identity)
 
WWINLINE Matrix3x3 (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2)
 
 Matrix3x3 (const Matrix3D &m)
 
 Matrix3x3 (const Matrix4x4 &m)
 
WWINLINE Matrix3x3 (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
 
WWINLINE Matrix3x3 (const Vector3 &axis, float angle)
 
WWINLINE Matrix3x3 (const Vector3 &axis, float s_angle, float c_angle)
 
WWINLINE Matrix3x3 (const Quaternion &q)
 
void Set (const Matrix3D &m)
 
void Set (const Matrix4x4 &m)
 
WWINLINE void Set (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2)
 
WWINLINE void Set (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
 
WWINLINE void Set (const Vector3 &axis, float angle)
 
WWINLINE void Set (const Vector3 &axis, float s_angle, float c_angle)
 
void Set (const Quaternion &q)
 
WWINLINE Vector3operator[] (int i)
 
WWINLINE const Vector3operator[] (int i) const
 
WWINLINE Matrix3x3 Transpose (void) const
 
WWINLINE Matrix3x3 Inverse (void) const
 
WWINLINE float Determinant (void) const
 
WWINLINE Matrix3x3operator= (const Matrix3x3 &m)
 
Matrix3x3operator= (const Matrix3D &m)
 
Matrix3x3operator= (const Matrix4x4 &m)
 
WWINLINE Matrix3x3operator+= (const Matrix3x3 &m)
 
WWINLINE Matrix3x3operator-= (const Matrix3x3 &m)
 
WWINLINE Matrix3x3operator*= (float d)
 
WWINLINE Matrix3x3operator/= (float d)
 
WWINLINE void Make_Identity (void)
 
WWINLINE void Rotate_X (float theta)
 
WWINLINE void Rotate_X (float s, float c)
 
WWINLINE void Rotate_Y (float theta)
 
WWINLINE void Rotate_Y (float s, float c)
 
WWINLINE void Rotate_Z (float theta)
 
WWINLINE void Rotate_Z (float s, float c)
 
float Get_X_Rotation (void) const
 
float Get_Y_Rotation (void) const
 
float Get_Z_Rotation (void) const
 
WWINLINE Vector3 Get_X_Vector (void) const
 
WWINLINE Vector3 Get_Y_Vector (void) const
 
WWINLINE Vector3 Get_Z_Vector (void) const
 
WWINLINE void Get_X_Vector (Vector3 *set_x) const
 
WWINLINE void Get_Y_Vector (Vector3 *set_y) const
 
WWINLINE void Get_Z_Vector (Vector3 *set_z) const
 
int Is_Orthogonal (void) const
 
void Re_Orthogonalize (void)
 
WWINLINE void Rotate_AABox_Extent (const Vector3 &extent, Vector3 *new_extent)
 

Static Public Member Functions

static WWINLINE void Add (const Matrix3x3 &a, const Matrix3x3 &b, Matrix3x3 *res)
 
static WWINLINE void Subtract (const Matrix3x3 &a, const Matrix3x3 &b, Matrix3x3 *res)
 
static void Multiply (const Matrix3x3 &a, const Matrix3x3 &b, Matrix3x3 *res)
 
static void Multiply (const Matrix3D &a, const Matrix3x3 &b, Matrix3x3 *res)
 
static void Multiply (const Matrix3x3 &a, const Matrix3D &b, Matrix3x3 *res)
 
static WWINLINE void Rotate_Vector (const Matrix3x3 &tm, const Vector3 &in, Vector3 *out)
 
static WWINLINE void Transpose_Rotate_Vector (const Matrix3x3 &tm, const Vector3 &in, Vector3 *out)
 

Static Public Attributes

static const Matrix3x3 Identity
 
static const Matrix3x3 RotateX90
 
static const Matrix3x3 RotateX180
 
static const Matrix3x3 RotateX270
 
static const Matrix3x3 RotateY90
 
static const Matrix3x3 RotateY180
 
static const Matrix3x3 RotateY270
 
static const Matrix3x3 RotateZ90
 
static const Matrix3x3 RotateZ180
 
static const Matrix3x3 RotateZ270
 

Protected Attributes

Vector3 Row [3]
 

Friends

WWINLINE friend Matrix3x3 operator- (const Matrix3x3 &a)
 
WWINLINE friend Matrix3x3 operator* (const Matrix3x3 &a, float d)
 
WWINLINE friend Matrix3x3 operator* (float d, const Matrix3x3 &a)
 
WWINLINE friend Matrix3x3 operator/ (const Matrix3x3 &a, float d)
 
WWINLINE friend Matrix3x3 operator+ (const Matrix3x3 &a, const Matrix3x3 &b)
 
WWINLINE friend Matrix3x3 operator- (const Matrix3x3 &a, const Matrix3x3 &b)
 
WWINLINE friend Matrix3x3 operator* (const Matrix3x3 &a, const Matrix3x3 &b)
 
WWINLINE friend Matrix3x3 operator* (const Matrix3D &a, const Matrix3x3 &b)
 
WWINLINE friend Matrix3x3 operator* (const Matrix3x3 &a, const Matrix3D &b)
 
WWINLINE friend Vector3 operator* (const Matrix3x3 &a, const Vector3 &v)
 
WWINLINE friend int operator== (const Matrix3x3 &a, const Matrix3x3 &b)
 
WWINLINE friend int operator!= (const Matrix3x3 &a, const Matrix3x3 &b)
 
WWINLINE friend void Swap (Matrix3x3 &a, Matrix3x3 &b)
 

Detailed Description

Definition at line 79 of file matrix3.h.

Constructor & Destructor Documentation

◆ Matrix3x3() [1/10]

WWINLINE Matrix3x3::Matrix3x3 ( void )
inline

Definition at line 86 of file matrix3.h.

◆ Matrix3x3() [2/10]

WWINLINE Matrix3x3::Matrix3x3 ( const Matrix3x3 & m)

Definition at line 295 of file matrix3.h.

◆ Matrix3x3() [3/10]

WWINLINE Matrix3x3::Matrix3x3 ( bool identity)
explicit

Definition at line 274 of file matrix3.h.

◆ Matrix3x3() [4/10]

WWINLINE Matrix3x3::Matrix3x3 ( const Vector3 & v0,
const Vector3 & v1,
const Vector3 & v2 )
explicit

Definition at line 312 of file matrix3.h.

◆ Matrix3x3() [5/10]

Matrix3x3::Matrix3x3 ( const Matrix3D & m)
explicit

Definition at line 134 of file matrix3.cpp.

◆ Matrix3x3() [6/10]

Matrix3x3::Matrix3x3 ( const Matrix4x4 & m)
explicit

Definition at line 141 of file matrix3.cpp.

◆ Matrix3x3() [7/10]

WWINLINE Matrix3x3::Matrix3x3 ( float m11,
float m12,
float m13,
float m21,
float m22,
float m23,
float m31,
float m32,
float m33 )
explicit

Definition at line 334 of file matrix3.h.

◆ Matrix3x3() [8/10]

WWINLINE Matrix3x3::Matrix3x3 ( const Vector3 & axis,
float angle )
explicit

Definition at line 358 of file matrix3.h.

◆ Matrix3x3() [9/10]

WWINLINE Matrix3x3::Matrix3x3 ( const Vector3 & axis,
float s_angle,
float c_angle )
explicit

Definition at line 363 of file matrix3.h.

◆ Matrix3x3() [10/10]

WWINLINE Matrix3x3::Matrix3x3 ( const Quaternion & q)
explicit

Definition at line 396 of file matrix3.h.

Member Function Documentation

◆ Add()

WWINLINE void Matrix3x3::Add ( const Matrix3x3 & a,
const Matrix3x3 & b,
Matrix3x3 * res )
static

Definition at line 700 of file matrix3.h.

◆ Determinant()

WWINLINE float Matrix3x3::Determinant ( void ) const

Definition at line 486 of file matrix3.h.

◆ Get_X_Rotation()

WWINLINE float Matrix3x3::Get_X_Rotation ( void ) const

Definition at line 595 of file matrix3.h.

◆ Get_X_Vector() [1/2]

WWINLINE void Matrix3x3::Get_X_Vector ( Vector3 * set_x) const

Definition at line 652 of file matrix3.h.

◆ Get_X_Vector() [2/2]

WWINLINE Vector3 Matrix3x3::Get_X_Vector ( void ) const

Definition at line 637 of file matrix3.h.

◆ Get_Y_Rotation()

WWINLINE float Matrix3x3::Get_Y_Rotation ( void ) const

Definition at line 613 of file matrix3.h.

◆ Get_Y_Vector() [1/2]

WWINLINE void Matrix3x3::Get_Y_Vector ( Vector3 * set_y) const

Definition at line 657 of file matrix3.h.

◆ Get_Y_Vector() [2/2]

WWINLINE Vector3 Matrix3x3::Get_Y_Vector ( void ) const

Definition at line 642 of file matrix3.h.

◆ Get_Z_Rotation()

WWINLINE float Matrix3x3::Get_Z_Rotation ( void ) const

Definition at line 631 of file matrix3.h.

◆ Get_Z_Vector() [1/2]

WWINLINE void Matrix3x3::Get_Z_Vector ( Vector3 * set_z) const

Definition at line 662 of file matrix3.h.

◆ Get_Z_Vector() [2/2]

WWINLINE Vector3 Matrix3x3::Get_Z_Vector ( void ) const

Definition at line 647 of file matrix3.h.

◆ Inverse()

WWINLINE Matrix3x3 Matrix3x3::Inverse ( void ) const

Definition at line 434 of file matrix3.h.

◆ Is_Orthogonal()

int Matrix3x3::Is_Orthogonal ( void ) const

Definition at line 331 of file matrix3.cpp.

◆ Make_Identity()

WWINLINE void Matrix3x3::Make_Identity ( void )

Definition at line 326 of file matrix3.h.

◆ Multiply() [1/3]

void Matrix3x3::Multiply ( const Matrix3D & a,
const Matrix3x3 & b,
Matrix3x3 * res )
static

Definition at line 194 of file matrix3.cpp.

◆ Multiply() [2/3]

void Matrix3x3::Multiply ( const Matrix3x3 & a,
const Matrix3D & b,
Matrix3x3 * res )
static

Definition at line 213 of file matrix3.cpp.

◆ Multiply() [3/3]

void Matrix3x3::Multiply ( const Matrix3x3 & a,
const Matrix3x3 & b,
Matrix3x3 * res )
static

Definition at line 290 of file matrix3.cpp.

◆ operator*=()

WWINLINE Matrix3x3 & Matrix3x3::operator*= ( float d)

Definition at line 559 of file matrix3.h.

◆ operator+=()

WWINLINE Matrix3x3 & Matrix3x3::operator+= ( const Matrix3x3 & m)

Definition at line 523 of file matrix3.h.

◆ operator-=()

WWINLINE Matrix3x3 & Matrix3x3::operator-= ( const Matrix3x3 & m)

Definition at line 541 of file matrix3.h.

◆ operator/=()

WWINLINE Matrix3x3 & Matrix3x3::operator/= ( float d)

Definition at line 577 of file matrix3.h.

◆ operator=() [1/3]

Matrix3x3 & Matrix3x3::operator= ( const Matrix3D & m)

Definition at line 178 of file matrix3.cpp.

◆ operator=() [2/3]

WWINLINE Matrix3x3 & Matrix3x3::operator= ( const Matrix3x3 & m)

Definition at line 505 of file matrix3.h.

◆ operator=() [3/3]

Matrix3x3 & Matrix3x3::operator= ( const Matrix4x4 & m)

Definition at line 186 of file matrix3.cpp.

◆ operator[]() [1/2]

WWINLINE Vector3 & Matrix3x3::operator[] ( int i)
inline

Definition at line 120 of file matrix3.h.

◆ operator[]() [2/2]

WWINLINE const Vector3 & Matrix3x3::operator[] ( int i) const
inline

Definition at line 121 of file matrix3.h.

◆ Re_Orthogonalize()

void Matrix3x3::Re_Orthogonalize ( void )

Definition at line 348 of file matrix3.cpp.

◆ Rotate_AABox_Extent()

WWINLINE void Matrix3x3::Rotate_AABox_Extent ( const Vector3 & extent,
Vector3 * new_extent )

Definition at line 1017 of file matrix3.h.

◆ Rotate_Vector()

WWINLINE void Matrix3x3::Rotate_Vector ( const Matrix3x3 & tm,
const Vector3 & in,
Vector3 * out )
static

Definition at line 982 of file matrix3.h.

◆ Rotate_X() [1/2]

WWINLINE void Matrix3x3::Rotate_X ( float s,
float c )

Definition at line 787 of file matrix3.h.

◆ Rotate_X() [2/2]

WWINLINE void Matrix3x3::Rotate_X ( float theta)

Definition at line 782 of file matrix3.h.

◆ Rotate_Y() [1/2]

WWINLINE void Matrix3x3::Rotate_Y ( float s,
float c )

Definition at line 821 of file matrix3.h.

◆ Rotate_Y() [2/2]

WWINLINE void Matrix3x3::Rotate_Y ( float theta)

Definition at line 816 of file matrix3.h.

◆ Rotate_Z() [1/2]

WWINLINE void Matrix3x3::Rotate_Z ( float s,
float c )

Definition at line 856 of file matrix3.h.

◆ Rotate_Z() [2/2]

WWINLINE void Matrix3x3::Rotate_Z ( float theta)

Definition at line 851 of file matrix3.h.

◆ Set() [1/7]

void Matrix3x3::Set ( const Matrix3D & m)

Definition at line 148 of file matrix3.cpp.

◆ Set() [2/7]

void Matrix3x3::Set ( const Matrix4x4 & m)

Definition at line 155 of file matrix3.cpp.

◆ Set() [3/7]

void Matrix3x3::Set ( const Quaternion & q)

Definition at line 162 of file matrix3.cpp.

◆ Set() [4/7]

WWINLINE void Matrix3x3::Set ( const Vector3 & axis,
float angle )

Definition at line 368 of file matrix3.h.

◆ Set() [5/7]

WWINLINE void Matrix3x3::Set ( const Vector3 & axis,
float s_angle,
float c_angle )

Definition at line 373 of file matrix3.h.

◆ Set() [6/7]

WWINLINE void Matrix3x3::Set ( const Vector3 & v0,
const Vector3 & v1,
const Vector3 & v2 )

Definition at line 319 of file matrix3.h.

◆ Set() [7/7]

WWINLINE void Matrix3x3::Set ( float m11,
float m12,
float m13,
float m21,
float m22,
float m23,
float m31,
float m32,
float m33 )

Definition at line 346 of file matrix3.h.

◆ Subtract()

WWINLINE void Matrix3x3::Subtract ( const Matrix3x3 & a,
const Matrix3x3 & b,
Matrix3x3 * res )
static

Definition at line 720 of file matrix3.h.

◆ Transpose()

WWINLINE Matrix3x3 Matrix3x3::Transpose ( void ) const

Definition at line 413 of file matrix3.h.

◆ Transpose_Rotate_Vector()

WWINLINE void Matrix3x3::Transpose_Rotate_Vector ( const Matrix3x3 & tm,
const Vector3 & in,
Vector3 * out )
static

Definition at line 1000 of file matrix3.h.

Friends And Related Symbol Documentation

◆ operator!=

WWINLINE friend int operator!= ( const Matrix3x3 & a,
const Matrix3x3 & b )
friend

Definition at line 764 of file matrix3.h.

◆ operator* [1/6]

WWINLINE friend Matrix3x3 operator* ( const Matrix3D & a,
const Matrix3x3 & b )
friend

Definition at line 232 of file matrix3.cpp.

◆ operator* [2/6]

WWINLINE friend Matrix3x3 operator* ( const Matrix3x3 & a,
const Matrix3D & b )
friend

Definition at line 245 of file matrix3.cpp.

◆ operator* [3/6]

WWINLINE friend Matrix3x3 operator* ( const Matrix3x3 & a,
const Matrix3x3 & b )
friend

Definition at line 731 of file matrix3.h.

◆ operator* [4/6]

WWINLINE friend Vector3 operator* ( const Matrix3x3 & a,
const Vector3 & v )
friend

Definition at line 748 of file matrix3.h.

◆ operator* [5/6]

WWINLINE friend Matrix3x3 operator* ( const Matrix3x3 & a,
float d )
friend

Definition at line 672 of file matrix3.h.

◆ operator* [6/6]

WWINLINE friend Matrix3x3 operator* ( float d,
const Matrix3x3 & a )
friend

Definition at line 677 of file matrix3.h.

◆ operator+

WWINLINE friend Matrix3x3 operator+ ( const Matrix3x3 & a,
const Matrix3x3 & b )
friend

Definition at line 691 of file matrix3.h.

◆ operator- [1/2]

WWINLINE friend Matrix3x3 operator- ( const Matrix3x3 & a)
friend

Definition at line 667 of file matrix3.h.

◆ operator- [2/2]

WWINLINE friend Matrix3x3 operator- ( const Matrix3x3 & a,
const Matrix3x3 & b )
friend

Definition at line 711 of file matrix3.h.

◆ operator/

WWINLINE friend Matrix3x3 operator/ ( const Matrix3x3 & a,
float d )
friend

Definition at line 682 of file matrix3.h.

◆ operator==

WWINLINE friend int operator== ( const Matrix3x3 & a,
const Matrix3x3 & b )
friend

Definition at line 758 of file matrix3.h.

◆ Swap

WWINLINE friend void Swap ( Matrix3x3 & a,
Matrix3x3 & b )
friend

Member Data Documentation

◆ Identity

const Matrix3x3 Matrix3x3::Identity
static

Definition at line 244 of file matrix3.h.

◆ RotateX180

const Matrix3x3 Matrix3x3::RotateX180
static

Definition at line 246 of file matrix3.h.

◆ RotateX270

const Matrix3x3 Matrix3x3::RotateX270
static

Definition at line 247 of file matrix3.h.

◆ RotateX90

const Matrix3x3 Matrix3x3::RotateX90
static

Definition at line 245 of file matrix3.h.

◆ RotateY180

const Matrix3x3 Matrix3x3::RotateY180
static

Definition at line 249 of file matrix3.h.

◆ RotateY270

const Matrix3x3 Matrix3x3::RotateY270
static

Definition at line 250 of file matrix3.h.

◆ RotateY90

const Matrix3x3 Matrix3x3::RotateY90
static

Definition at line 248 of file matrix3.h.

◆ RotateZ180

const Matrix3x3 Matrix3x3::RotateZ180
static

Definition at line 252 of file matrix3.h.

◆ RotateZ270

const Matrix3x3 Matrix3x3::RotateZ270
static

Definition at line 253 of file matrix3.h.

◆ RotateZ90

const Matrix3x3 Matrix3x3::RotateZ90
static

Definition at line 251 of file matrix3.h.

◆ Row

Vector3 Matrix3x3::Row[3]
protected

Definition at line 257 of file matrix3.h.


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