Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IceMatrix4x4.h File Reference

Go to the source code of this file.

Classes

class  Matrix4x4
 

Macros

#define MATRIX4X4_EPSILON   (1.0e-7f)
 
#define __ICEMATRIX4X4_H__
 
#define MATRIX4X4_EPSILON   (1.0e-7f)
 

Functions

inline_ void TransformPoint4x3 (Point &dest, const Point &source, const Matrix4x4 &rot)
 Quickly rotates & translates a vector, using the 4x3 part of a 4x4 matrix. More...
 
inline_ void TransformPoint3x3 (Point &dest, const Point &source, const Matrix4x4 &rot)
 Quickly rotates a vector, using the 3x3 part of a 4x4 matrix. More...
 
void InvertPRMatrix (Matrix4x4 &dest, const Matrix4x4 &src)
 

Detailed Description

Contains code for 4x4 matrices.

Author
Pierre Terdiman
Date
April, 4, 2000

Definition in file IceMatrix4x4.h.

Macro Definition Documentation

#define __ICEMATRIX4X4_H__

Definition at line 14 of file Opcode.h.

#define MATRIX4X4_EPSILON   (1.0e-7f)
#define MATRIX4X4_EPSILON   (1.0e-7f)

Definition at line 20 of file Opcode.h.

Referenced by Opcode::Matrix4x4::Invert().

Function Documentation

void InvertPRMatrix ( Matrix4x4 dest,
const Matrix4x4 src 
)
related
inline_ void TransformPoint3x3 ( Point dest,
const Point source,
const Matrix4x4 rot 
)

Quickly rotates a vector, using the 3x3 part of a 4x4 matrix.

Definition at line 445 of file IceMatrix4x4.h.

References Matrix4x4::m, Point::x, Point::y, and Point::z.

446  {
447  dest.x = source.x * rot.m[0][0] + source.y * rot.m[1][0] + source.z * rot.m[2][0];
448  dest.y = source.x * rot.m[0][1] + source.y * rot.m[1][1] + source.z * rot.m[2][1];
449  dest.z = source.x * rot.m[0][2] + source.y * rot.m[1][2] + source.z * rot.m[2][2];
450  }
inline_ void TransformPoint4x3 ( Point dest,
const Point source,
const Matrix4x4 rot 
)

Quickly rotates & translates a vector, using the 4x3 part of a 4x4 matrix.

Definition at line 437 of file IceMatrix4x4.h.

References Matrix4x4::m, Point::x, Point::y, and Point::z.

438  {
439  dest.x = rot.m[3][0] + source.x * rot.m[0][0] + source.y * rot.m[1][0] + source.z * rot.m[2][0];
440  dest.y = rot.m[3][1] + source.x * rot.m[0][1] + source.y * rot.m[1][1] + source.z * rot.m[2][1];
441  dest.z = rot.m[3][2] + source.x * rot.m[0][2] + source.y * rot.m[1][2] + source.z * rot.m[2][2];
442  }