Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

math_matrix.h File Reference

#include <string.h>
#include "math_vector.h"

Include dependency graph for math_matrix.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Data Structures

class  mat3_t

Functions

ID_INLINE void InverseMultiply (const mat3_t &inv, const mat3_t &b, mat3_t &dst)
ID_INLINE mat3_t operator * (float a, mat3_t const &b)
ID_INLINE idVec3_t operator * (const idVec3_t &vec, const mat3_t &mat)
ID_INLINE mat3_t SkewSymmetric (idVec3_t const &src)

Variables

mat3_t mat3_default


Function Documentation

ID_INLINE void InverseMultiply const mat3_t inv,
const mat3_t b,
mat3_t dst
 

Definition at line 205 of file math_matrix.h.

References b, and ID_INLINE.

00205                                                                                   {
00206     dst[0].x = inv[0].x * b[0].x + inv[1].x * b[1].x + inv[2].x * b[2].x;
00207     dst[0].y = inv[0].x * b[0].y + inv[1].x * b[1].y + inv[2].x * b[2].y;
00208     dst[0].z = inv[0].x * b[0].z + inv[1].x * b[1].z + inv[2].x * b[2].z;
00209     dst[1].x = inv[0].y * b[0].x + inv[1].y * b[1].x + inv[2].y * b[2].x;
00210     dst[1].y = inv[0].y * b[0].y + inv[1].y * b[1].y + inv[2].y * b[2].y;
00211     dst[1].z = inv[0].y * b[0].z + inv[1].y * b[1].z + inv[2].y * b[2].z;
00212     dst[2].x = inv[0].z * b[0].x + inv[1].z * b[1].x + inv[2].z * b[2].x;
00213     dst[2].y = inv[0].z * b[0].y + inv[1].z * b[1].y + inv[2].z * b[2].y;
00214     dst[2].z = inv[0].z * b[0].z + inv[1].z * b[1].z + inv[2].z * b[2].z;
00215 }

ID_INLINE mat3_t operator * float  a,
mat3_t const &  b
 

Definition at line 160 of file math_matrix.h.

References a, b, ID_INLINE, x, y, and z.

00160                                                        {
00161     return mat3_t( 
00162         b[0].x * a, b[0].y * a, b[0].z * a, 
00163         b[1].x * a, b[1].y * a, b[1].z * a, 
00164         b[2].x * a, b[2].y * a, b[2].z * a );
00165 }

ID_INLINE idVec3_t operator * const idVec3_t vec,
const mat3_t mat
 

Definition at line 153 of file math_matrix.h.

References ID_INLINE, idVec3_t::x, x, idVec3_t::y, and idVec3_t::z.

00153                                                                        {
00154     return idVec3_t( 
00155         mat[ 0 ].x * vec.x + mat[ 1 ].x * vec.y + mat[ 2 ].x * vec.z,
00156         mat[ 0 ].y * vec.x + mat[ 1 ].y * vec.y + mat[ 2 ].y * vec.z,
00157         mat[ 0 ].z * vec.x + mat[ 1 ].z * vec.y + mat[ 2 ].z * vec.z );
00158 }

ID_INLINE mat3_t SkewSymmetric idVec3_t const &  src  ) 
 

Definition at line 217 of file math_matrix.h.

References f, ID_INLINE, src, coord::x, and coord::y.

00217                                                       {
00218     return mat3_t( 0.0f, -src.z,  src.y, src.z,   0.0f, -src.x, -src.y,  src.x,   0.0f );
00219 }


Variable Documentation

mat3_t mat3_default
 


Generated on Thu Aug 25 15:33:49 2005 for Quake III Arena by  doxygen 1.3.9.1