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

#include <matrix3d.h>

Public Member Functions

WWINLINE Matrix3D (void)
 
WWINLINE Matrix3D (bool init)
 
WWINLINE Matrix3D (float m[12])
 
WWINLINE Matrix3D (float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34)
 
WWINLINE Matrix3D (const Vector3 &x, const Vector3 &y, const Vector3 &z, const Vector3 &pos)
 
WWINLINE Matrix3D (const Vector3 &axis, float angle)
 
WWINLINE Matrix3D (const Vector3 &axis, float sine, float cosine)
 
WWINLINE Matrix3D (const Matrix3x3 &rotation, const Vector3 &position)
 
WWINLINE Matrix3D (const Quaternion &rotation, const Vector3 &position)
 
WWINLINE Matrix3D (const Vector3 &position)
 
WWINLINE Matrix3D (const Matrix3D &m)
 
WWINLINE Matrix3Doperator= (const Matrix3D &m)
 
WWINLINE void Set (float m[12])
 
WWINLINE void Set (float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34)
 
WWINLINE void Set (const Vector3 &x, const Vector3 &y, const Vector3 &z, const Vector3 &pos)
 
WWINLINE void Set (const Vector3 &axis, float angle)
 
WWINLINE void Set (const Vector3 &axis, float sine, float cosine)
 
void Set (const Matrix3x3 &rotation, const Vector3 &position)
 
void Set (const Quaternion &rotation, const Vector3 &position)
 
WWINLINE void Set (const Vector3 &position)
 
WWINLINE Vector4operator[] (int i)
 
WWINLINE const Vector4operator[] (int i) const
 
WWINLINE Vector3 Get_Translation (void) const
 
WWINLINE void Get_Translation (Vector3 *set) const
 
WWINLINE void Set_Translation (const Vector3 &t)
 
void Set_Rotation (const Matrix3x3 &m)
 
void Set_Rotation (const Quaternion &q)
 
WWINLINE float Get_X_Translation (void) const
 
WWINLINE float Get_Y_Translation (void) const
 
WWINLINE float Get_Z_Translation (void) const
 
WWINLINE void Set_X_Translation (float x)
 
WWINLINE void Set_Y_Translation (float y)
 
WWINLINE void Set_Z_Translation (float z)
 
WWINLINE void Adjust_Translation (const Vector3 &t)
 
WWINLINE void Adjust_X_Translation (float x)
 
WWINLINE void Adjust_Y_Translation (float y)
 
WWINLINE void Adjust_Z_Translation (float z)
 
float Get_X_Rotation (void) const
 
float Get_Y_Rotation (void) const
 
float Get_Z_Rotation (void) const
 
WWINLINE void Make_Identity (void)
 
void Translate (float x, float y, float z)
 
void Translate (const Vector3 &t)
 
void Translate_X (float x)
 
void Translate_Y (float y)
 
void Translate_Z (float z)
 
void Rotate_X (float theta)
 
void Rotate_Y (float theta)
 
void Rotate_Z (float theta)
 
void Rotate_X (float s, float c)
 
void Rotate_Y (float s, float c)
 
void Rotate_Z (float s, float c)
 
WWINLINE void Scale (float scale)
 
WWINLINE void Scale (float x, float y, float z)
 
WWINLINE void Scale (Vector3 &scale)
 
WWINLINE void Pre_Rotate_X (float theta)
 
WWINLINE void Pre_Rotate_Y (float theta)
 
WWINLINE void Pre_Rotate_Z (float theta)
 
WWINLINE void Pre_Rotate_X (float s, float c)
 
WWINLINE void Pre_Rotate_Y (float s, float c)
 
WWINLINE void Pre_Rotate_Z (float s, float c)
 
WWINLINE void In_Place_Pre_Rotate_X (float theta)
 
WWINLINE void In_Place_Pre_Rotate_Y (float theta)
 
WWINLINE void In_Place_Pre_Rotate_Z (float theta)
 
WWINLINE void In_Place_Pre_Rotate_X (float s, float c)
 
WWINLINE void In_Place_Pre_Rotate_Y (float s, float c)
 
WWINLINE void In_Place_Pre_Rotate_Z (float s, float c)
 
void Look_At (const Vector3 &p, const Vector3 &t, float roll)
 
void Obj_Look_At (const Vector3 &p, const Vector3 &t, float roll)
 
void buildTransformMatrix (const Vector3 &pos, const Vector3 &dir)
 
Vector3 Rotate_Vector (const Vector3 &vect) const
 
Vector3 Inverse_Rotate_Vector (const Vector3 &vect) const
 
WWINLINE Vector3 Get_X_Vector () const
 
WWINLINE Vector3 Get_Y_Vector () const
 
WWINLINE Vector3 Get_Z_Vector () 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
 
void Get_Inverse (Matrix3D &set_inverse) const
 
void Get_Orthogonal_Inverse (Matrix3D &set_inverse) const
 
void Copy_3x3_Matrix (float matrix[3][3])
 
void Transform_Min_Max_AABox (const Vector3 &min, const Vector3 &max, Vector3 *set_min, Vector3 *set_max) const
 
void Transform_Center_Extent_AABox (const Vector3 &center, const Vector3 &extent, Vector3 *set_center, Vector3 *set_extent) const
 
int Is_Orthogonal (void) const
 
void Re_Orthogonalize (void)
 
void preMul (const Matrix3D &that)
 
void postMul (const Matrix3D &that)
 
void mul (const Matrix3D &a, const Matrix3D &b)
 
void mulVector3 (const Vector3 &in, Vector3 &out) const
 
void mulVector3 (Vector3 &inout) const
 
void mulVector3Array (const Vector3 *in, Vector3 *out, int count) const
 
void mulVector3Array (Vector3 *inout, int count) const
 
 Matrix3D (void)
 
 Matrix3D (bool init)
 
 Matrix3D (float m[12])
 
 Matrix3D (float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34)
 
 Matrix3D (const Vector3 &x, const Vector3 &y, const Vector3 &z, const Vector3 &pos)
 
 Matrix3D (const Vector3 &axis, float angle)
 
 Matrix3D (const Vector3 &axis, float sine, float cosine)
 
 Matrix3D (const Matrix3 &rotation, const Vector3 &position)
 
 Matrix3D (const Quaternion &rotation, const Vector3 &position)
 
 Matrix3D (const Vector3 &position)
 
 Matrix3D (const Matrix3D &m)
 
Matrix3Doperator= (const Matrix3D &m)
 
void Set (float m[12])
 
void Set (float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34)
 
void Set (const Vector3 &x, const Vector3 &y, const Vector3 &z, const Vector3 &pos)
 
void Set (const Vector3 &axis, float angle)
 
void Set (const Vector3 &axis, float sine, float cosine)
 
void Set (const Matrix3 &rotation, const Vector3 &position)
 
void Set (const Quaternion &rotation, const Vector3 &position)
 
void Set (const Vector3 &position)
 
Vector4operator[] (int i)
 
const Vector4operator[] (int i) const
 
Vector3 Get_Translation (void) const
 
void Get_Translation (Vector3 *set) const
 
void Set_Translation (const Vector3 &t)
 
void Set_Rotation (const Matrix3 &m)
 
void Set_Rotation (const Quaternion &q)
 
float Get_X_Translation (void) const
 
float Get_Y_Translation (void) const
 
float Get_Z_Translation (void) const
 
void Set_X_Translation (float x)
 
void Set_Y_Translation (float y)
 
void Set_Z_Translation (float z)
 
void Adjust_Translation (const Vector3 &t)
 
void Adjust_X_Translation (float x)
 
void Adjust_Y_Translation (float y)
 
void Adjust_Z_Translation (float z)
 
float Get_X_Rotation (void) const
 
float Get_Y_Rotation (void) const
 
float Get_Z_Rotation (void) const
 
void Make_Identity (void)
 
void Translate (float x, float y, float z)
 
void Translate (const Vector3 &t)
 
void Translate_X (float x)
 
void Translate_Y (float y)
 
void Translate_Z (float z)
 
void Rotate_X (float theta)
 
void Rotate_Y (float theta)
 
void Rotate_Z (float theta)
 
void Rotate_X (float s, float c)
 
void Rotate_Y (float s, float c)
 
void Rotate_Z (float s, float c)
 
void Pre_Rotate_X (float theta)
 
void Pre_Rotate_Y (float theta)
 
void Pre_Rotate_Z (float theta)
 
void Pre_Rotate_X (float s, float c)
 
void Pre_Rotate_Y (float s, float c)
 
void Pre_Rotate_Z (float s, float c)
 
void In_Place_Pre_Rotate_X (float theta)
 
void In_Place_Pre_Rotate_Y (float theta)
 
void In_Place_Pre_Rotate_Z (float theta)
 
void In_Place_Pre_Rotate_X (float s, float c)
 
void In_Place_Pre_Rotate_Y (float s, float c)
 
void In_Place_Pre_Rotate_Z (float s, float c)
 
void Look_At (const Vector3 &p, const Vector3 &t, float roll)
 
void Obj_Look_At (const Vector3 &p, const Vector3 &t, float roll)
 
Vector3 Rotate_Vector (const Vector3 &vect) const
 
Vector3 Inverse_Rotate_Vector (const Vector3 &vect) const
 
Vector3 Get_X_Vector () const
 
Vector3 Get_Y_Vector () const
 
Vector3 Get_Z_Vector () const
 
void Get_X_Vector (Vector3 *set_x) const
 
void Get_Y_Vector (Vector3 *set_y) const
 
void Get_Z_Vector (Vector3 *set_z) const
 
void Get_Inverse (Matrix3D &set_inverse) const
 
void Get_Orthogonal_Inverse (Matrix3D &set_inverse) const
 
void Copy_3x3_Matrix (float matrix[3][3])
 
void Transform_Min_Max_AABox (const Vector3 &min, const Vector3 &max, Vector3 *set_min, Vector3 *set_max) const
 
void Transform_Center_Extent_AABox (const Vector3 &center, const Vector3 &extent, Vector3 *set_center, Vector3 *set_extent) const
 
int Is_Orthogonal (void) const
 
void Re_Orthogonalize (void)
 

Static Public Member Functions

static void Multiply (const Matrix3D &A, const Matrix3D &B, Matrix3D *set_result)
 
static WWINLINE void Transform_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static WWINLINE void Rotate_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static WWINLINE void Inverse_Transform_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static WWINLINE void Inverse_Rotate_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static bool Solve_Linear_System (Matrix3D &system)
 
static void Lerp (const Matrix3D &A, const Matrix3D &B, float factor, Matrix3D &result)
 
static void Multiply (const Matrix3D &A, const Matrix3D &B, Matrix3D *set_result)
 
static void Transform_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static void Rotate_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static void Inverse_Transform_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 
static void Inverse_Rotate_Vector (const Matrix3D &tm, const Vector3 &in, Vector3 *out)
 

Static Public Attributes

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

Protected Attributes

Vector4 Row [3]
 

Friends

Vector3 operator* (const Matrix3D &A, const Vector3 &a)
 

Detailed Description

Definition at line 132 of file matrix3d.h.

Constructor & Destructor Documentation

◆ Matrix3D() [1/22]

WWINLINE Matrix3D::Matrix3D ( void )
inline

Definition at line 137 of file matrix3d.h.

◆ Matrix3D() [2/22]

WWINLINE Matrix3D::Matrix3D ( bool init)
inlineexplicit

Definition at line 139 of file matrix3d.h.

◆ Matrix3D() [3/22]

Matrix3D::Matrix3D ( float m[12])
inlineexplicit

Definition at line 421 of file matrix3d.h.

◆ Matrix3D() [4/22]

Matrix3D::Matrix3D ( float m11,
float m12,
float m13,
float m14,
float m21,
float m22,
float m23,
float m24,
float m31,
float m32,
float m33,
float m34 )
inlineexplicit

Definition at line 428 of file matrix3d.h.

◆ Matrix3D() [5/22]

Matrix3D::Matrix3D ( const Vector3 & x,
const Vector3 & y,
const Vector3 & z,
const Vector3 & pos )
inlineexplicit

Definition at line 440 of file matrix3d.h.

◆ Matrix3D() [6/22]

Matrix3D::Matrix3D ( const Vector3 & axis,
float angle )
inlineexplicit

Definition at line 451 of file matrix3d.h.

◆ Matrix3D() [7/22]

Matrix3D::Matrix3D ( const Vector3 & axis,
float sine,
float cosine )
inlineexplicit

Definition at line 456 of file matrix3d.h.

◆ Matrix3D() [8/22]

WWINLINE Matrix3D::Matrix3D ( const Matrix3x3 & rotation,
const Vector3 & position )
explicit

Definition at line 461 of file matrix3d.h.

◆ Matrix3D() [9/22]

Matrix3D::Matrix3D ( const Quaternion & rotation,
const Vector3 & position )
inlineexplicit

Definition at line 466 of file matrix3d.h.

◆ Matrix3D() [10/22]

Matrix3D::Matrix3D ( const Vector3 & position)
inlineexplicit

Definition at line 471 of file matrix3d.h.

◆ Matrix3D() [11/22]

Matrix3D::Matrix3D ( const Matrix3D & m)
inline

Definition at line 477 of file matrix3d.h.

◆ Matrix3D() [12/22]

Matrix3D::Matrix3D ( void )
inline

Definition at line 125 of file matrix3d.h.

◆ Matrix3D() [13/22]

Matrix3D::Matrix3D ( bool init)
inlineexplicit

Definition at line 127 of file matrix3d.h.

◆ Matrix3D() [14/22]

Matrix3D::Matrix3D ( float m[12])
explicit

◆ Matrix3D() [15/22]

Matrix3D::Matrix3D ( float m11,
float m12,
float m13,
float m14,
float m21,
float m22,
float m23,
float m24,
float m31,
float m32,
float m33,
float m34 )
explicit

◆ Matrix3D() [16/22]

Matrix3D::Matrix3D ( const Vector3 & x,
const Vector3 & y,
const Vector3 & z,
const Vector3 & pos )
explicit

◆ Matrix3D() [17/22]

Matrix3D::Matrix3D ( const Vector3 & axis,
float angle )
explicit

◆ Matrix3D() [18/22]

Matrix3D::Matrix3D ( const Vector3 & axis,
float sine,
float cosine )
explicit

◆ Matrix3D() [19/22]

Matrix3D::Matrix3D ( const Matrix3 & rotation,
const Vector3 & position )
inlineexplicit

Definition at line 410 of file matrix3d.h.

◆ Matrix3D() [20/22]

Matrix3D::Matrix3D ( const Quaternion & rotation,
const Vector3 & position )
explicit

◆ Matrix3D() [21/22]

Matrix3D::Matrix3D ( const Vector3 & position)
explicit

◆ Matrix3D() [22/22]

Matrix3D::Matrix3D ( const Matrix3D & m)

Member Function Documentation

◆ Adjust_Translation() [1/2]

WWINLINE void Matrix3D::Adjust_Translation ( const Vector3 & t)
inline

Definition at line 232 of file matrix3d.h.

◆ Adjust_Translation() [2/2]

void Matrix3D::Adjust_Translation ( const Vector3 & t)
inline

Definition at line 220 of file matrix3d.h.

◆ Adjust_X_Translation() [1/2]

WWINLINE void Matrix3D::Adjust_X_Translation ( float x)
inline

Definition at line 233 of file matrix3d.h.

◆ Adjust_X_Translation() [2/2]

void Matrix3D::Adjust_X_Translation ( float x)
inline

Definition at line 221 of file matrix3d.h.

◆ Adjust_Y_Translation() [1/2]

WWINLINE void Matrix3D::Adjust_Y_Translation ( float y)
inline

Definition at line 234 of file matrix3d.h.

◆ Adjust_Y_Translation() [2/2]

void Matrix3D::Adjust_Y_Translation ( float y)
inline

Definition at line 222 of file matrix3d.h.

◆ Adjust_Z_Translation() [1/2]

WWINLINE void Matrix3D::Adjust_Z_Translation ( float z)
inline

Definition at line 235 of file matrix3d.h.

◆ Adjust_Z_Translation() [2/2]

void Matrix3D::Adjust_Z_Translation ( float z)
inline

Definition at line 223 of file matrix3d.h.

◆ buildTransformMatrix()

void Matrix3D::buildTransformMatrix ( const Vector3 & pos,
const Vector3 & dir )

Definition at line 406 of file matrix3d.cpp.

◆ Copy_3x3_Matrix() [1/2]

void Matrix3D::Copy_3x3_Matrix ( float matrix[3][3])

Definition at line 608 of file matrix3d.cpp.

◆ Copy_3x3_Matrix() [2/2]

void Matrix3D::Copy_3x3_Matrix ( float matrix[3][3])

◆ Get_Inverse() [1/2]

void Matrix3D::Get_Inverse ( Matrix3D & set_inverse) const

Definition at line 514 of file matrix3d.cpp.

◆ Get_Inverse() [2/2]

void Matrix3D::Get_Inverse ( Matrix3D & set_inverse) const

◆ Get_Orthogonal_Inverse() [1/2]

void Matrix3D::Get_Orthogonal_Inverse ( Matrix3D & set_inverse) const

Definition at line 570 of file matrix3d.cpp.

◆ Get_Orthogonal_Inverse() [2/2]

void Matrix3D::Get_Orthogonal_Inverse ( Matrix3D & set_inverse) const

◆ Get_Translation() [1/4]

WWINLINE void Matrix3D::Get_Translation ( Vector3 * set) const
inline

Definition at line 218 of file matrix3d.h.

◆ Get_Translation() [2/4]

void Matrix3D::Get_Translation ( Vector3 * set) const
inline

Definition at line 206 of file matrix3d.h.

◆ Get_Translation() [3/4]

WWINLINE Vector3 Matrix3D::Get_Translation ( void ) const
inline

Definition at line 217 of file matrix3d.h.

◆ Get_Translation() [4/4]

Vector3 Matrix3D::Get_Translation ( void ) const
inline

Definition at line 205 of file matrix3d.h.

◆ Get_X_Rotation() [1/2]

float Matrix3D::Get_X_Rotation ( void ) const

Definition at line 247 of file matrix3d.cpp.

◆ Get_X_Rotation() [2/2]

float Matrix3D::Get_X_Rotation ( void ) const

◆ Get_X_Translation() [1/2]

WWINLINE float Matrix3D::Get_X_Translation ( void ) const
inline

Definition at line 224 of file matrix3d.h.

◆ Get_X_Translation() [2/2]

float Matrix3D::Get_X_Translation ( void ) const
inline

Definition at line 212 of file matrix3d.h.

◆ Get_X_Vector() [1/4]

WWINLINE Vector3 Matrix3D::Get_X_Vector ( ) const
inline

Definition at line 306 of file matrix3d.h.

◆ Get_X_Vector() [2/4]

Vector3 Matrix3D::Get_X_Vector ( ) const
inline

Definition at line 281 of file matrix3d.h.

◆ Get_X_Vector() [3/4]

WWINLINE void Matrix3D::Get_X_Vector ( Vector3 * set_x) const
inline

Definition at line 309 of file matrix3d.h.

◆ Get_X_Vector() [4/4]

void Matrix3D::Get_X_Vector ( Vector3 * set_x) const
inline

Definition at line 284 of file matrix3d.h.

◆ Get_Y_Rotation() [1/2]

float Matrix3D::Get_Y_Rotation ( void ) const

Definition at line 265 of file matrix3d.cpp.

◆ Get_Y_Rotation() [2/2]

float Matrix3D::Get_Y_Rotation ( void ) const

◆ Get_Y_Translation() [1/2]

WWINLINE float Matrix3D::Get_Y_Translation ( void ) const
inline

Definition at line 225 of file matrix3d.h.

◆ Get_Y_Translation() [2/2]

float Matrix3D::Get_Y_Translation ( void ) const
inline

Definition at line 213 of file matrix3d.h.

◆ Get_Y_Vector() [1/4]

WWINLINE Vector3 Matrix3D::Get_Y_Vector ( ) const
inline

Definition at line 307 of file matrix3d.h.

◆ Get_Y_Vector() [2/4]

Vector3 Matrix3D::Get_Y_Vector ( ) const
inline

Definition at line 282 of file matrix3d.h.

◆ Get_Y_Vector() [3/4]

WWINLINE void Matrix3D::Get_Y_Vector ( Vector3 * set_y) const
inline

Definition at line 310 of file matrix3d.h.

◆ Get_Y_Vector() [4/4]

void Matrix3D::Get_Y_Vector ( Vector3 * set_y) const
inline

Definition at line 285 of file matrix3d.h.

◆ Get_Z_Rotation() [1/2]

float Matrix3D::Get_Z_Rotation ( void ) const

Definition at line 283 of file matrix3d.cpp.

◆ Get_Z_Rotation() [2/2]

float Matrix3D::Get_Z_Rotation ( void ) const

◆ Get_Z_Translation() [1/2]

WWINLINE float Matrix3D::Get_Z_Translation ( void ) const
inline

Definition at line 226 of file matrix3d.h.

◆ Get_Z_Translation() [2/2]

float Matrix3D::Get_Z_Translation ( void ) const
inline

Definition at line 214 of file matrix3d.h.

◆ Get_Z_Vector() [1/4]

WWINLINE Vector3 Matrix3D::Get_Z_Vector ( ) const
inline

Definition at line 308 of file matrix3d.h.

◆ Get_Z_Vector() [2/4]

Vector3 Matrix3D::Get_Z_Vector ( ) const
inline

Definition at line 283 of file matrix3d.h.

◆ Get_Z_Vector() [3/4]

WWINLINE void Matrix3D::Get_Z_Vector ( Vector3 * set_z) const
inline

Definition at line 311 of file matrix3d.h.

◆ Get_Z_Vector() [4/4]

void Matrix3D::Get_Z_Vector ( Vector3 * set_z) const
inline

Definition at line 286 of file matrix3d.h.

◆ In_Place_Pre_Rotate_X() [1/4]

void Matrix3D::In_Place_Pre_Rotate_X ( float s,
float c )
inline

Definition at line 1379 of file matrix3d.h.

◆ In_Place_Pre_Rotate_X() [2/4]

void Matrix3D::In_Place_Pre_Rotate_X ( float s,
float c )

◆ In_Place_Pre_Rotate_X() [3/4]

void Matrix3D::In_Place_Pre_Rotate_X ( float theta)
inline

Definition at line 1276 of file matrix3d.h.

◆ In_Place_Pre_Rotate_X() [4/4]

void Matrix3D::In_Place_Pre_Rotate_X ( float theta)

◆ In_Place_Pre_Rotate_Y() [1/4]

void Matrix3D::In_Place_Pre_Rotate_Y ( float s,
float c )
inline

Definition at line 1410 of file matrix3d.h.

◆ In_Place_Pre_Rotate_Y() [2/4]

void Matrix3D::In_Place_Pre_Rotate_Y ( float s,
float c )

◆ In_Place_Pre_Rotate_Y() [3/4]

void Matrix3D::In_Place_Pre_Rotate_Y ( float theta)
inline

Definition at line 1310 of file matrix3d.h.

◆ In_Place_Pre_Rotate_Y() [4/4]

void Matrix3D::In_Place_Pre_Rotate_Y ( float theta)

◆ In_Place_Pre_Rotate_Z() [1/4]

void Matrix3D::In_Place_Pre_Rotate_Z ( float s,
float c )
inline

Definition at line 1441 of file matrix3d.h.

◆ In_Place_Pre_Rotate_Z() [2/4]

void Matrix3D::In_Place_Pre_Rotate_Z ( float s,
float c )

◆ In_Place_Pre_Rotate_Z() [3/4]

void Matrix3D::In_Place_Pre_Rotate_Z ( float theta)
inline

Definition at line 1344 of file matrix3d.h.

◆ In_Place_Pre_Rotate_Z() [4/4]

void Matrix3D::In_Place_Pre_Rotate_Z ( float theta)

◆ Inverse_Rotate_Vector() [1/4]

void Matrix3D::Inverse_Rotate_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
inlinestatic

Definition at line 1795 of file matrix3d.h.

◆ Inverse_Rotate_Vector() [2/4]

static void Matrix3D::Inverse_Rotate_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
static

◆ Inverse_Rotate_Vector() [3/4]

Vector3 Matrix3D::Inverse_Rotate_Vector ( const Vector3 & vect) const

Definition at line 322 of file matrix3d.cpp.

◆ Inverse_Rotate_Vector() [4/4]

Vector3 Matrix3D::Inverse_Rotate_Vector ( const Vector3 & vect) const

◆ Inverse_Transform_Vector() [1/2]

void Matrix3D::Inverse_Transform_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
inlinestatic

Definition at line 1778 of file matrix3d.h.

◆ Inverse_Transform_Vector() [2/2]

static void Matrix3D::Inverse_Transform_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
static

◆ Is_Orthogonal() [1/2]

int Matrix3D::Is_Orthogonal ( void ) const

Definition at line 1093 of file matrix3d.cpp.

◆ Is_Orthogonal() [2/2]

int Matrix3D::Is_Orthogonal ( void ) const

◆ Lerp()

void Matrix3D::Lerp ( const Matrix3D & A,
const Matrix3D & B,
float factor,
Matrix3D & result )
static

Definition at line 1183 of file matrix3d.cpp.

◆ Look_At() [1/2]

void Matrix3D::Look_At ( const Vector3 & p,
const Vector3 & t,
float roll )

Definition at line 354 of file matrix3d.cpp.

◆ Look_At() [2/2]

void Matrix3D::Look_At ( const Vector3 & p,
const Vector3 & t,
float roll )

◆ Make_Identity() [1/2]

void Matrix3D::Make_Identity ( void )
inline

Definition at line 650 of file matrix3d.h.

◆ Make_Identity() [2/2]

void Matrix3D::Make_Identity ( void )

◆ mul()

WWINLINE void Matrix3D::mul ( const Matrix3D & a,
const Matrix3D & b )

Definition at line 1572 of file matrix3d.h.

◆ Multiply() [1/2]

void Matrix3D::Multiply ( const Matrix3D & A,
const Matrix3D & B,
Matrix3D * set_result )
static

Definition at line 640 of file matrix3d.cpp.

◆ Multiply() [2/2]

static void Matrix3D::Multiply ( const Matrix3D & A,
const Matrix3D & B,
Matrix3D * set_result )
static

◆ mulVector3() [1/2]

WWINLINE void Matrix3D::mulVector3 ( const Vector3 & in,
Vector3 & out ) const

Definition at line 1650 of file matrix3d.h.

◆ mulVector3() [2/2]

void Matrix3D::mulVector3 ( Vector3 & inout) const
inline

Definition at line 364 of file matrix3d.h.

◆ mulVector3Array() [1/2]

WWINLINE void Matrix3D::mulVector3Array ( const Vector3 * in,
Vector3 * out,
int count ) const

Definition at line 1661 of file matrix3d.h.

◆ mulVector3Array() [2/2]

WWINLINE void Matrix3D::mulVector3Array ( Vector3 * inout,
int count ) const

Definition at line 1682 of file matrix3d.h.

◆ Obj_Look_At() [1/2]

void Matrix3D::Obj_Look_At ( const Vector3 & p,
const Vector3 & t,
float roll )

Definition at line 458 of file matrix3d.cpp.

◆ Obj_Look_At() [2/2]

void Matrix3D::Obj_Look_At ( const Vector3 & p,
const Vector3 & t,
float roll )

◆ operator=() [1/2]

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

Definition at line 485 of file matrix3d.h.

◆ operator=() [2/2]

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

◆ operator[]() [1/4]

WWINLINE Vector4 & Matrix3D::operator[] ( int i)
inline

Definition at line 214 of file matrix3d.h.

◆ operator[]() [2/4]

Vector4 & Matrix3D::operator[] ( int i)
inline

Definition at line 202 of file matrix3d.h.

◆ operator[]() [3/4]

WWINLINE const Vector4 & Matrix3D::operator[] ( int i) const
inline

Definition at line 215 of file matrix3d.h.

◆ operator[]() [4/4]

const Vector4 & Matrix3D::operator[] ( int i) const
inline

Definition at line 203 of file matrix3d.h.

◆ postMul()

WWINLINE void Matrix3D::postMul ( const Matrix3D & that)

Definition at line 1528 of file matrix3d.h.

◆ Pre_Rotate_X() [1/4]

void Matrix3D::Pre_Rotate_X ( float s,
float c )
inline

Definition at line 1172 of file matrix3d.h.

◆ Pre_Rotate_X() [2/4]

void Matrix3D::Pre_Rotate_X ( float s,
float c )

◆ Pre_Rotate_X() [3/4]

void Matrix3D::Pre_Rotate_X ( float theta)
inline

Definition at line 1057 of file matrix3d.h.

◆ Pre_Rotate_X() [4/4]

void Matrix3D::Pre_Rotate_X ( float theta)

◆ Pre_Rotate_Y() [1/4]

void Matrix3D::Pre_Rotate_Y ( float s,
float c )
inline

Definition at line 1207 of file matrix3d.h.

◆ Pre_Rotate_Y() [2/4]

void Matrix3D::Pre_Rotate_Y ( float s,
float c )

◆ Pre_Rotate_Y() [3/4]

void Matrix3D::Pre_Rotate_Y ( float theta)
inline

Definition at line 1095 of file matrix3d.h.

◆ Pre_Rotate_Y() [4/4]

void Matrix3D::Pre_Rotate_Y ( float theta)

◆ Pre_Rotate_Z() [1/4]

void Matrix3D::Pre_Rotate_Z ( float s,
float c )
inline

Definition at line 1242 of file matrix3d.h.

◆ Pre_Rotate_Z() [2/4]

void Matrix3D::Pre_Rotate_Z ( float s,
float c )

◆ Pre_Rotate_Z() [3/4]

void Matrix3D::Pre_Rotate_Z ( float theta)
inline

Definition at line 1133 of file matrix3d.h.

◆ Pre_Rotate_Z() [4/4]

void Matrix3D::Pre_Rotate_Z ( float theta)

◆ preMul()

WWINLINE void Matrix3D::preMul ( const Matrix3D & that)

Definition at line 1519 of file matrix3d.h.

◆ Re_Orthogonalize() [1/2]

void Matrix3D::Re_Orthogonalize ( void )

Definition at line 1124 of file matrix3d.cpp.

◆ Re_Orthogonalize() [2/2]

void Matrix3D::Re_Orthogonalize ( void )

◆ Rotate_Vector() [1/4]

void Matrix3D::Rotate_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
inlinestatic

Definition at line 1760 of file matrix3d.h.

◆ Rotate_Vector() [2/4]

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

◆ Rotate_Vector() [3/4]

Vector3 Matrix3D::Rotate_Vector ( const Vector3 & vect) const

Definition at line 300 of file matrix3d.cpp.

◆ Rotate_Vector() [4/4]

Vector3 Matrix3D::Rotate_Vector ( const Vector3 & vect) const

◆ Rotate_X() [1/4]

void Matrix3D::Rotate_X ( float s,
float c )
inline

Definition at line 807 of file matrix3d.h.

◆ Rotate_X() [2/4]

void Matrix3D::Rotate_X ( float s,
float c )

◆ Rotate_X() [3/4]

void Matrix3D::Rotate_X ( float theta)
inline

Definition at line 770 of file matrix3d.h.

◆ Rotate_X() [4/4]

void Matrix3D::Rotate_X ( float theta)

◆ Rotate_Y() [1/4]

void Matrix3D::Rotate_Y ( float s,
float c )
inline

Definition at line 874 of file matrix3d.h.

◆ Rotate_Y() [2/4]

void Matrix3D::Rotate_Y ( float s,
float c )

◆ Rotate_Y() [3/4]

void Matrix3D::Rotate_Y ( float theta)
inline

Definition at line 838 of file matrix3d.h.

◆ Rotate_Y() [4/4]

void Matrix3D::Rotate_Y ( float theta)

◆ Rotate_Z() [1/4]

void Matrix3D::Rotate_Z ( float s,
float c )
inline

Definition at line 941 of file matrix3d.h.

◆ Rotate_Z() [2/4]

void Matrix3D::Rotate_Z ( float s,
float c )

◆ Rotate_Z() [3/4]

void Matrix3D::Rotate_Z ( float theta)
inline

Definition at line 905 of file matrix3d.h.

◆ Rotate_Z() [4/4]

void Matrix3D::Rotate_Z ( float theta)

◆ Scale() [1/3]

WWINLINE void Matrix3D::Scale ( float scale)

Definition at line 975 of file matrix3d.h.

◆ Scale() [2/3]

WWINLINE void Matrix3D::Scale ( float x,
float y,
float z )

Definition at line 1007 of file matrix3d.h.

◆ Scale() [3/3]

WWINLINE void Matrix3D::Scale ( Vector3 & scale)

Definition at line 1039 of file matrix3d.h.

◆ Set() [1/16]

void Matrix3D::Set ( const Matrix3 & rotation,
const Vector3 & position )

Definition at line 148 of file matrix3d.cpp.

◆ Set() [2/16]

void Matrix3D::Set ( const Matrix3x3 & rotation,
const Vector3 & position )

Definition at line 153 of file matrix3d.cpp.

◆ Set() [3/16]

void Matrix3D::Set ( const Quaternion & rotation,
const Vector3 & position )

Definition at line 172 of file matrix3d.cpp.

◆ Set() [4/16]

void Matrix3D::Set ( const Quaternion & rotation,
const Vector3 & position )

◆ Set() [5/16]

void Matrix3D::Set ( const Vector3 & axis,
float angle )
inline

Definition at line 571 of file matrix3d.h.

◆ Set() [6/16]

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

◆ Set() [7/16]

void Matrix3D::Set ( const Vector3 & axis,
float sine,
float cosine )
inline

Definition at line 591 of file matrix3d.h.

◆ Set() [8/16]

void Matrix3D::Set ( const Vector3 & axis,
float sine,
float cosine )

◆ Set() [9/16]

void Matrix3D::Set ( const Vector3 & position)
inline

Definition at line 630 of file matrix3d.h.

◆ Set() [10/16]

void Matrix3D::Set ( const Vector3 & position)

◆ Set() [11/16]

void Matrix3D::Set ( const Vector3 & x,
const Vector3 & y,
const Vector3 & z,
const Vector3 & pos )
inline

Definition at line 548 of file matrix3d.h.

◆ Set() [12/16]

void Matrix3D::Set ( const Vector3 & x,
const Vector3 & y,
const Vector3 & z,
const Vector3 & pos )

◆ Set() [13/16]

void Matrix3D::Set ( float m11,
float m12,
float m13,
float m14,
float m21,
float m22,
float m23,
float m24,
float m31,
float m32,
float m33,
float m34 )
inline

Definition at line 526 of file matrix3d.h.

◆ Set() [14/16]

void Matrix3D::Set ( float m11,
float m12,
float m13,
float m14,
float m21,
float m22,
float m23,
float m24,
float m31,
float m32,
float m33,
float m34 )

◆ Set() [15/16]

void Matrix3D::Set ( float m[12])
inline

Definition at line 506 of file matrix3d.h.

◆ Set() [16/16]

void Matrix3D::Set ( float m[12])

◆ Set_Rotation() [1/4]

void Matrix3D::Set_Rotation ( const Matrix3 & m)

Definition at line 186 of file matrix3d.cpp.

◆ Set_Rotation() [2/4]

void Matrix3D::Set_Rotation ( const Matrix3x3 & m)

Definition at line 191 of file matrix3d.cpp.

◆ Set_Rotation() [3/4]

void Matrix3D::Set_Rotation ( const Quaternion & q)

Definition at line 219 of file matrix3d.cpp.

◆ Set_Rotation() [4/4]

void Matrix3D::Set_Rotation ( const Quaternion & q)

◆ Set_Translation() [1/2]

WWINLINE void Matrix3D::Set_Translation ( const Vector3 & t)
inline

Definition at line 219 of file matrix3d.h.

◆ Set_Translation() [2/2]

void Matrix3D::Set_Translation ( const Vector3 & t)
inline

Definition at line 207 of file matrix3d.h.

◆ Set_X_Translation() [1/2]

WWINLINE void Matrix3D::Set_X_Translation ( float x)
inline

Definition at line 228 of file matrix3d.h.

◆ Set_X_Translation() [2/2]

void Matrix3D::Set_X_Translation ( float x)
inline

Definition at line 216 of file matrix3d.h.

◆ Set_Y_Translation() [1/2]

WWINLINE void Matrix3D::Set_Y_Translation ( float y)
inline

Definition at line 229 of file matrix3d.h.

◆ Set_Y_Translation() [2/2]

void Matrix3D::Set_Y_Translation ( float y)
inline

Definition at line 217 of file matrix3d.h.

◆ Set_Z_Translation() [1/2]

WWINLINE void Matrix3D::Set_Z_Translation ( float z)
inline

Definition at line 230 of file matrix3d.h.

◆ Set_Z_Translation() [2/2]

void Matrix3D::Set_Z_Translation ( float z)
inline

Definition at line 218 of file matrix3d.h.

◆ Solve_Linear_System()

bool Matrix3D::Solve_Linear_System ( Matrix3D & system)
static

Definition at line 1216 of file matrix3d.cpp.

◆ Transform_Center_Extent_AABox() [1/2]

void Matrix3D::Transform_Center_Extent_AABox ( const Vector3 & center,
const Vector3 & extent,
Vector3 * set_center,
Vector3 * set_extent ) const

Definition at line 1052 of file matrix3d.cpp.

◆ Transform_Center_Extent_AABox() [2/2]

void Matrix3D::Transform_Center_Extent_AABox ( const Vector3 & center,
const Vector3 & extent,
Vector3 * set_center,
Vector3 * set_extent ) const

◆ Transform_Min_Max_AABox() [1/2]

void Matrix3D::Transform_Min_Max_AABox ( const Vector3 & min,
const Vector3 & max,
Vector3 * set_min,
Vector3 * set_max ) const

Definition at line 998 of file matrix3d.cpp.

◆ Transform_Min_Max_AABox() [2/2]

void Matrix3D::Transform_Min_Max_AABox ( const Vector3 & min,
const Vector3 & max,
Vector3 * set_min,
Vector3 * set_max ) const

◆ Transform_Vector() [1/2]

void Matrix3D::Transform_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
inlinestatic

Definition at line 1742 of file matrix3d.h.

◆ Transform_Vector() [2/2]

static void Matrix3D::Transform_Vector ( const Matrix3D & tm,
const Vector3 & in,
Vector3 * out )
static

◆ Translate() [1/4]

void Matrix3D::Translate ( const Vector3 & t)
inline

Definition at line 690 of file matrix3d.h.

◆ Translate() [2/4]

void Matrix3D::Translate ( const Vector3 & t)

◆ Translate() [3/4]

void Matrix3D::Translate ( float x,
float y,
float z )
inline

Definition at line 670 of file matrix3d.h.

◆ Translate() [4/4]

void Matrix3D::Translate ( float x,
float y,
float z )

◆ Translate_X() [1/2]

void Matrix3D::Translate_X ( float x)
inline

Definition at line 710 of file matrix3d.h.

◆ Translate_X() [2/2]

void Matrix3D::Translate_X ( float x)

◆ Translate_Y() [1/2]

void Matrix3D::Translate_Y ( float y)
inline

Definition at line 730 of file matrix3d.h.

◆ Translate_Y() [2/2]

void Matrix3D::Translate_Y ( float y)

◆ Translate_Z() [1/2]

void Matrix3D::Translate_Z ( float z)
inline

Definition at line 750 of file matrix3d.h.

◆ Translate_Z() [2/2]

void Matrix3D::Translate_Z ( float z)

Friends And Related Symbol Documentation

◆ operator*

Vector3 operator* ( const Matrix3D & A,
const Vector3 & a )
friend

Definition at line 1385 of file matrix3d.h.

Member Data Documentation

◆ Identity

static const Matrix3D Matrix3D::Identity
static

Definition at line 372 of file matrix3d.h.

◆ RotateX180

static const Matrix3D Matrix3D::RotateX180
static

Definition at line 374 of file matrix3d.h.

◆ RotateX270

static const Matrix3D Matrix3D::RotateX270
static

Definition at line 375 of file matrix3d.h.

◆ RotateX90

static const Matrix3D Matrix3D::RotateX90
static

Definition at line 373 of file matrix3d.h.

◆ RotateY180

static const Matrix3D Matrix3D::RotateY180
static

Definition at line 377 of file matrix3d.h.

◆ RotateY270

static const Matrix3D Matrix3D::RotateY270
static

Definition at line 378 of file matrix3d.h.

◆ RotateY90

static const Matrix3D Matrix3D::RotateY90
static

Definition at line 376 of file matrix3d.h.

◆ RotateZ180

static const Matrix3D Matrix3D::RotateZ180
static

Definition at line 380 of file matrix3d.h.

◆ RotateZ270

static const Matrix3D Matrix3D::RotateZ270
static

Definition at line 381 of file matrix3d.h.

◆ RotateZ90

static const Matrix3D Matrix3D::RotateZ90
static

Definition at line 379 of file matrix3d.h.

◆ Row

Vector4 Matrix3D::Row
protected

Definition at line 385 of file matrix3d.h.


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