4x4 Component Matrix. More...
#include <decMatrix.h>
Public Member Functions | |
Constructors and Destructors | |
| decMatrix () | |
| Creates a new matrix initialized to identity. | |
Management | |
| void | SetIdentity () |
| Sets identity matrix. | |
| void | SetTranslation (float x, float y, float z) |
| Sets translation matrix. | |
| void | SetTranslation (const decVector &t) |
| Sets translation matrix. | |
| void | SetScale (float sx, float sy, float sz) |
| Sets scaling matrix. | |
| void | SetScale (const decVector &s) |
| Sets scaling matrix. | |
| void | SetRotationX (float arc) |
| Sets rotation around the x axis matrix. | |
| void | SetRotationY (float arc) |
| Sets rotation around the y axis matrix. | |
| void | SetRotationZ (float arc) |
| Sets rotation around the z axis matrix. | |
| void | SetRotation (float rx, float ry, float rz) |
| Sets rotation around the all three axes matrix. | |
| void | SetRotation (const decVector &r) |
| Sets rotation around the all three axes matrix. | |
| void | SetRotationAxis (const decVector &axis, float angle) |
| Sets rotation around an arbitrary axis matrix. | |
| void | SetWorld (const decVector &pos, const decVector &view, const decVector &up) |
| Sets world space matrix. | |
| void | SetWorld (const decVector &pos, const decQuaternion &orientation) |
| Sets world space matrix. | |
| void | SetCamera (const decVector &pos, const decVector &view, const decVector &up) |
| Sets camera space matrix. | |
| void | SetProjection (int width, int height, float fov, float fovRatio, float znear, float zfar) |
| Sets projection matrix based on a finite view frustum. | |
| void | SetProjectionInfinite (int width, int height, float fov, float fovRatio, float znear) |
| Sets projection matrix based on a infinite view frustum. | |
| void | SetOrtho (int left, int right, int top, int bottom, int znear, int zfar) |
| Sets orthogonal projection matrix. | |
| void | SetClipSpace () |
| Sets matrix to transform a projection matrix into cliping space. | |
| void | SetBiasMatrix () |
| Sets bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5. | |
| void | SetRT (const decVector &rot, const decVector &pos) |
| Sets rotation-translation matrix. | |
| void | SetSRT (const decVector &scale, const decVector &rot, const decVector &pos) |
| Sets scale-rotation-translation matrix. | |
| void | SetSVUT (const decVector &scale, const decVector &view, const decVector &up, const decVector &pos) |
| Sets scale-view-up-translation matrix. | |
| void | SetVU (const decVector &view, const decVector &up) |
| Sets view-up matrix. | |
| void | SetFromQuaternion (const decQuaternion &q) |
| Sets rotation matrix from a quaternion. | |
| void | SetFromQuaternion (const decQuaternion &q, const decVector &pivot) |
| Sets rotation matrix from a quaternion. | |
| float | Determinant () const |
| Calculates the determinant of the matrix. | |
| decMatrix | Invert () const |
| Retrieves the inverse of this matrix if the inverse is possible. | |
| decVector | GetEulerAngles () const |
| Calculates a set of euler angles producing this matrix if they are used as rotation vector for creating a rotation matrix. | |
| decQuaternion | ToQuaternion () const |
| Converts the matrix into a rotation quaternion. | |
| decVector | GetPosition () const |
| Retrieves the position of the matrix. | |
| decVector | TransformView () const |
| Retrieves the view vector of this matrix. | |
| decVector | TransformRight () const |
| Retrieves the right vector of this matrix. | |
| decVector | TransformUp () const |
| Retrieves the up vector of this matrix. | |
| decVector | TransformNormal (const decVector &normal) const |
| Transforms a normal by this matrix. | |
| decVector | Transform (float x, float y, float z) const |
| Transforms a vector. | |
| decVector4 | Transform (float x, float y, float z, float w) const |
| void | Transform (decVector &result, float x, float y, float z) const |
| void | Transform (decVector4 &result, float x, float y, float z, float w) const |
| decMatrix | GetRotationMatrix () const |
| Retrieves the rotation part of the matrix. | |
| bool | IsEqualTo (const decMatrix &matrix, float threshold=0.0001) const |
| Determines if this matrix is cell wise equal to anither one in respect to a threshold. | |
Quick Calculations | |
Quick calculations are a special set of functions designed to work only with matrices which are non-projective. This kind of matrices have only a rotation part and a translation part. The entire last row has the values 0,0,0,1 . Those functions are the same as the non-quick versions with the difference that calculations are stripped out due to the last row beeing 0,0,0,1 . As the name suggests those functions are faster than the normal ones for projective matrices due to them having less calculations. Only use those functions if you know for sure that your matrices are of the described kind. | |
| decMatrix | QuickMultiply (const decMatrix &matrix) const |
| Quick multiplies this matrix with another one. | |
| decMatrix | QuickMultiply (float k) const |
| Quick multiplies this matrix with a value k. | |
| float | QuickDeterminant () const |
| Quick calculates the determinant of this matrix. | |
| decMatrix | QuickInvert () const |
| Quick calculates the inverse of this matrix. | |
| decMatrix & | QuickAddTo (const decMatrix &m) |
| Quick cell wise adds another matrix to this matrix. | |
Operators | |
| decMatrix & | operator= (const decMatrix &m) |
| Sets the cells of this matrix to the values of another one. | |
| decMatrix & | operator+= (const decMatrix &m) |
| Adds the cells of another matrix to this one. | |
| decMatrix & | operator-= (const decMatrix &m) |
| Subtracts the cells of another matrix from this vector. | |
| decMatrix & | operator*= (float k) |
| Multiplies the cells of this matrix with a value k. | |
| decMatrix & | operator/= (float k) |
| Divides the cells of this matrix by a value k. | |
| decMatrix & | operator*= (const decMatrix &m) |
| Multiplies this matrix with another one. | |
| decMatrix | operator+ (const decMatrix &m) const |
| Retrieves a new matrix with the sum of this matrix with another one. | |
| decMatrix | operator- (const decMatrix &m) const |
| Retrieves a new matrix with the difference of this matrix to another one. | |
| decMatrix | operator* (float k) const |
| Retrieves a new matrix with this matrix scaled by k. | |
| decMatrix | operator/ (float k) const |
| Retrieves a new matrix with this matrix divided by k. | |
| decMatrix | operator* (const decMatrix &m) const |
| Retrieves a new matrix with this matrix multiplied with another one. | |
| decVector | operator* (const decVector &v) const |
| Transforms vector by this matrix. | |
| decVector4 | operator* (const decVector4 &v) const |
| Transforms 4 component vector by this matrix. | |
Static Public Member Functions | |
Matrix Creation | |
| static decMatrix | CreateIdentity () |
| Creates a new identity matrix. | |
| static decMatrix | CreateTranslation (float x, float y, float z) |
| Creates a new translation matrix. | |
| static decMatrix | CreateTranslation (const decVector &t) |
| Creates a new translation matrix. | |
| static decMatrix | CreateScale (float sx, float sy, float sz) |
| Creates a new scaling matrix. | |
| static decMatrix | CreateScale (const decVector &s) |
| Creates a new scaling matrix. | |
| static decMatrix | CreateRotationX (float arc) |
| Creates a new rotation around the x axis matrix. | |
| static decMatrix | CreateRotationY (float arc) |
| Creates a new rotation around the y axis matrix. | |
| static decMatrix | CreateRotationZ (float arc) |
| Creates a new rotation around the z axis matrix. | |
| static decMatrix | CreateRotation (float rx, float ry, float rz) |
| Creates a new rotation around the all three axes matrix. | |
| static decMatrix | CreateRotation (const decVector &r) |
| Creates a new rotation around the all three axes matrix. | |
| static decMatrix | CreateRotationAxis (const decVector &axis, float angle) |
| Creates a new rotation around an arbitrary axis matrix. | |
| static decMatrix | CreateWorld (const decVector &pos, const decVector &view, const decVector &up) |
| Creates a new world space matrix. | |
| static decMatrix | CreateWorld (const decVector &pos, const decQuaternion &orientation) |
| Creates a new world space matrix. | |
| static decMatrix | CreateCamera (const decVector &pos, const decVector &view, const decVector &up) |
| Creates a new camera space matrix. | |
| static decMatrix | CreateProjection (int width, int height, float fov, float fovRatio, float znear, float zfar) |
| Creates a projection matrix based on a finite view frustum. | |
| static decMatrix | CreateProjectionInfinite (int width, int height, float fov, float fovRatio, float znear) |
| Creates a projection matrix based on a infinite view frustum. | |
| static decMatrix | CreateOrtho (int left, int right, int top, int bottom, int znear, int zfar) |
| Creates an orthogonal projection matrix. | |
| static decMatrix | CreateClipSpace () |
| Creates a matrix to transform a projection matrix into cliping space. | |
| static decMatrix | CreateBiasMatrix () |
| Creates a bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5. | |
| static decMatrix | CreateRT (const decVector &rot, const decVector &pos) |
| Creates a rotation-translation matrix. | |
| static decMatrix | CreateSRT (const decVector &scale, const decVector &rot, const decVector &pos) |
| Creates a scale-rotation-translation matrix. | |
| static decMatrix | CreateSVUT (const decVector &scale, const decVector &view, const decVector &up, const decVector &pos) |
| Creates a scale-view-up-translation matrix. | |
| static decMatrix | CreateVU (const decVector &view, const decVector &up) |
| Creates a view-up matrix. | |
| static decMatrix | CreateFromQuaternion (const decQuaternion &q) |
| Creates a rotation matrix from a quaternion. | |
| static decMatrix | CreateFromQuaternion (const decQuaternion &q, const decVector &pivot) |
| Creates a rotation matrix from a quaternion. | |
Public Attributes | |
Cells | |
The first number indicates the row the second the column. | |
| float | a11 |
| float | a12 |
| float | a13 |
| float | a14 |
| float | a21 |
| float | a22 |
| float | a23 |
| float | a24 |
| float | a31 |
| float | a32 |
| float | a33 |
| float | a34 |
| float | a41 |
| float | a42 |
| float | a43 |
| float | a44 |
4x4 Component Matrix.
Provides matrix calculation on a 4x4 matrix in row major order. The coordinate system used by axis oriented creation functions is a left handed one. The X axis points to the right, the Y axis points up and the Z axis points into the screen. Rotations are always in counter clockwise orientation. Rotation angles are measured in radians.
| decMatrix::decMatrix | ( | ) |
Creates a new matrix initialized to identity.
| static decMatrix decMatrix::CreateBiasMatrix | ( | ) | [static] |
Creates a bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.
| static decMatrix decMatrix::CreateCamera | ( | const decVector & | pos, |
| const decVector & | view, | ||
| const decVector & | up | ||
| ) | [static] |
Creates a new camera space matrix.
A camera space matrix is different from a world space matrix in that it does transform positions from an world coordinate system into a coordinate system where the x axis points right, the y axis up and the z-axis straight into the screen. Best example to understand is a rotation. A world space matrix rotates a vector pointing straight down the z axis into the view vector used to create the matrix. A camera matrix though transforms a vector pointing into the view direction of the camera matrix into a vector pointing straight down the z axis. Hence the camera matrix is kinda the inverse of the world matrix what goes for the final transformation.
| pos | Position of camera |
| view | View vector of camera not necessary normalized |
| up | Up vector of camera not necessary normalized |
| static decMatrix decMatrix::CreateClipSpace | ( | ) | [static] |
Creates a matrix to transform a projection matrix into cliping space.
In cliping space the view frustum turns into a cube.
| static decMatrix decMatrix::CreateFromQuaternion | ( | const decQuaternion & | q ) | [static] |
Creates a rotation matrix from a quaternion.
| q | Rotation quaternion |
| static decMatrix decMatrix::CreateFromQuaternion | ( | const decQuaternion & | q, |
| const decVector & | pivot | ||
| ) | [static] |
Creates a rotation matrix from a quaternion.
| static decMatrix decMatrix::CreateIdentity | ( | ) | [static] |
Creates a new identity matrix.
| static decMatrix decMatrix::CreateOrtho | ( | int | left, |
| int | right, | ||
| int | top, | ||
| int | bottom, | ||
| int | znear, | ||
| int | zfar | ||
| ) | [static] |
Creates an orthogonal projection matrix.
| left | Left cliping plane position |
| right | Right cliping plane position |
| top | Top cliping plane position |
| bottom | Bottom cliping plane position |
| znear | Distance to near cliping plane |
| zfar | Distance to far cliping plane |
| static decMatrix decMatrix::CreateProjection | ( | int | width, |
| int | height, | ||
| float | fov, | ||
| float | fovRatio, | ||
| float | znear, | ||
| float | zfar | ||
| ) | [static] |
Creates a projection matrix based on a finite view frustum.
The width and height are used to derive the aspect ratio from.
| width | Width of the viewport window |
| height | Height of the viewport window |
| fov | Vertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side |
| fovRatio | Aspect ratio of the horizontal to the vertical field of view. |
| znear | Distance to near cliping plane |
| zfar | Distance to far cliping plane |
| static decMatrix decMatrix::CreateProjectionInfinite | ( | int | width, |
| int | height, | ||
| float | fov, | ||
| float | fovRatio, | ||
| float | znear | ||
| ) | [static] |
Creates a projection matrix based on a infinite view frustum.
The width and height are used to derive the aspect ratio from.
| width | Width of the viewport window |
| height | Height of the viewport window |
| fov | Vertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side |
| fovRatio | Aspect ratio of the horizontal to the vertical field of view. |
| znear | Distance to near cliping plane |
| static decMatrix decMatrix::CreateRotation | ( | float | rx, |
| float | ry, | ||
| float | rz | ||
| ) | [static] |
Creates a new rotation around the all three axes matrix.
This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.
Creates a new rotation around the all three axes matrix.
This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.
Creates a new rotation around an arbitrary axis matrix.
| static decMatrix decMatrix::CreateRotationX | ( | float | arc ) | [static] |
Creates a new rotation around the x axis matrix.
| static decMatrix decMatrix::CreateRotationY | ( | float | arc ) | [static] |
Creates a new rotation around the y axis matrix.
| static decMatrix decMatrix::CreateRotationZ | ( | float | arc ) | [static] |
Creates a new rotation around the z axis matrix.
Creates a rotation-translation matrix.
This is the same as first doing a 3-axis rotation and then a translation.
| rot | Rotation vector |
| pos | Translation vector |
| static decMatrix decMatrix::CreateScale | ( | float | sx, |
| float | sy, | ||
| float | sz | ||
| ) | [static] |
Creates a new scaling matrix.
Creates a new scaling matrix.
| static decMatrix decMatrix::CreateSRT | ( | const decVector & | scale, |
| const decVector & | rot, | ||
| const decVector & | pos | ||
| ) | [static] |
Creates a scale-rotation-translation matrix.
This is the same as first doing a scaling, then a 3-axis rotation and then a translation.
| scale | Scaling vector |
| rot | Rotation vector |
| pos | Translation vector |
| static decMatrix decMatrix::CreateSVUT | ( | const decVector & | scale, |
| const decVector & | view, | ||
| const decVector & | up, | ||
| const decVector & | pos | ||
| ) | [static] |
Creates a scale-view-up-translation matrix.
This is the same as first doing a scaling, then a world space matrix.
| scale | Scaling vector |
| view | View vector |
| up | Up vector |
| pos | Translation vector |
| static decMatrix decMatrix::CreateTranslation | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) | [static] |
Creates a new translation matrix.
Creates a new translation matrix.
Creates a view-up matrix.
This is the same as doing a world space matrix but with the zero vector as position.
| view | View vector |
| up | Up vector |
| static decMatrix decMatrix::CreateWorld | ( | const decVector & | pos, |
| const decVector & | view, | ||
| const decVector & | up | ||
| ) | [static] |
Creates a new world space matrix.
A world matrix is used to transform coordinates from the coordinate system of one object to another one.
| pos | Position of object |
| view | View vector of object not necessary normalized |
| up | Up vector of object not necessary normalized |
| static decMatrix decMatrix::CreateWorld | ( | const decVector & | pos, |
| const decQuaternion & | orientation | ||
| ) | [static] |
Creates a new world space matrix.
A world matrix is used to transform coordinates from the coordinate system of one object to another one.
| pos | Position of object |
| orientation | Orientation |
| float decMatrix::Determinant | ( | ) | const |
Calculates the determinant of the matrix.
| decVector decMatrix::GetEulerAngles | ( | ) | const |
Calculates a set of euler angles producing this matrix if they are used as rotation vector for creating a rotation matrix.
The calculated angles are not unique and different rotation vectors lead usually to the same matrix. The calculated rotation vector is garanteed to produce the matrix it has been calculated from. Furthermore there exist ambigious situations where the calculated rotation vector is undefined. You should avoid using this function if you can.
| decVector decMatrix::GetPosition | ( | ) | const [inline] |
| decMatrix decMatrix::GetRotationMatrix | ( | ) | const |
Retrieves the rotation part of the matrix.
The result is a 4x4 identity matrix with the upper left 3x3 copied from this matrix.
| decMatrix decMatrix::Invert | ( | ) | const |
Retrieves the inverse of this matrix if the inverse is possible.
| bool decMatrix::IsEqualTo | ( | const decMatrix & | matrix, |
| float | threshold = 0.0001 |
||
| ) | const |
Determines if this matrix is cell wise equal to anither one in respect to a threshold.
| decVector4 decMatrix::operator* | ( | const decVector4 & | v ) | const |
Transforms 4 component vector by this matrix.
| decMatrix decMatrix::operator* | ( | float | k ) | const |
Retrieves a new matrix with this matrix scaled by k.
Retrieves a new matrix with this matrix multiplied with another one.
| decMatrix& decMatrix::operator*= | ( | float | k ) |
Multiplies the cells of this matrix with a value k.
Retrieves a new matrix with the sum of this matrix with another one.
Adds the cells of another matrix to this one.
Retrieves a new matrix with the difference of this matrix to another one.
Subtracts the cells of another matrix from this vector.
| decMatrix decMatrix::operator/ | ( | float | k ) | const |
Retrieves a new matrix with this matrix divided by k.
If k is 0 an exception is thrown.
| decMatrix& decMatrix::operator/= | ( | float | k ) |
Divides the cells of this matrix by a value k.
If the value k is 0 an exception is thrown.
Sets the cells of this matrix to the values of another one.
Quick cell wise adds another matrix to this matrix.
| float decMatrix::QuickDeterminant | ( | ) | const |
Quick calculates the determinant of this matrix.
| decMatrix decMatrix::QuickInvert | ( | ) | const |
Quick calculates the inverse of this matrix.
Quick multiplies this matrix with another one.
| decMatrix decMatrix::QuickMultiply | ( | float | k ) | const |
Quick multiplies this matrix with a value k.
| void decMatrix::SetBiasMatrix | ( | ) |
Sets bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.
Sets camera space matrix.
A camera space matrix is different from a world space matrix in that it does transform positions from an world coordinate system into a coordinate system where the x axis points right, the y axis up and the z-axis straight into the screen. Best example to understand is a rotation. A world space matrix rotates a vector pointing straight down the z axis into the view vector used to create the matrix. A camera matrix though transforms a vector pointing into the view direction of the camera matrix into a vector pointing straight down the z axis. Hence the camera matrix is kinda the inverse of the world matrix what goes for the final transformation.
| pos | Position of camera |
| view | View vector of camera not necessary normalized |
| up | Up vector of camera not necessary normalized |
| void decMatrix::SetClipSpace | ( | ) |
Sets matrix to transform a projection matrix into cliping space.
In cliping space the view frustum turns into a cube.
| void decMatrix::SetFromQuaternion | ( | const decQuaternion & | q ) |
Sets rotation matrix from a quaternion.
| q | Rotation quaternion |
| void decMatrix::SetFromQuaternion | ( | const decQuaternion & | q, |
| const decVector & | pivot | ||
| ) |
Sets rotation matrix from a quaternion.
| void decMatrix::SetIdentity | ( | ) |
Sets identity matrix.
| void decMatrix::SetOrtho | ( | int | left, |
| int | right, | ||
| int | top, | ||
| int | bottom, | ||
| int | znear, | ||
| int | zfar | ||
| ) |
Sets orthogonal projection matrix.
| left | Left cliping plane position |
| right | Right cliping plane position |
| top | Top cliping plane position |
| bottom | Bottom cliping plane position |
| znear | Distance to near cliping plane |
| zfar | Distance to far cliping plane |
| void decMatrix::SetProjection | ( | int | width, |
| int | height, | ||
| float | fov, | ||
| float | fovRatio, | ||
| float | znear, | ||
| float | zfar | ||
| ) |
Sets projection matrix based on a finite view frustum.
The width and height are used to derive the aspect ratio from.
| width | Width of the viewport window |
| height | Height of the viewport window |
| fov | Vertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side |
| fovRatio | Aspect ratio of the horizontal to the vertical field of view. |
| znear | Distance to near cliping plane |
| zfar | Distance to far cliping plane |
| void decMatrix::SetProjectionInfinite | ( | int | width, |
| int | height, | ||
| float | fov, | ||
| float | fovRatio, | ||
| float | znear | ||
| ) |
Sets projection matrix based on a infinite view frustum.
The width and height are used to derive the aspect ratio from.
| width | Width of the viewport window |
| height | Height of the viewport window |
| fov | Vertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side |
| fovRatio | Aspect ratio of the horizontal to the vertical field of view. |
| znear | Distance to near cliping plane |
| void decMatrix::SetRotation | ( | float | rx, |
| float | ry, | ||
| float | rz | ||
| ) |
Sets rotation around the all three axes matrix.
This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.
| void decMatrix::SetRotation | ( | const decVector & | r ) |
Sets rotation around the all three axes matrix.
This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.
| void decMatrix::SetRotationAxis | ( | const decVector & | axis, |
| float | angle | ||
| ) |
Sets rotation around an arbitrary axis matrix.
| void decMatrix::SetRotationX | ( | float | arc ) |
Sets rotation around the x axis matrix.
| void decMatrix::SetRotationY | ( | float | arc ) |
Sets rotation around the y axis matrix.
| void decMatrix::SetRotationZ | ( | float | arc ) |
Sets rotation around the z axis matrix.
Sets rotation-translation matrix.
This is the same as first doing a 3-axis rotation and then a translation.
| rot | Rotation vector |
| pos | Translation vector |
| void decMatrix::SetScale | ( | const decVector & | s ) |
Sets scaling matrix.
| void decMatrix::SetScale | ( | float | sx, |
| float | sy, | ||
| float | sz | ||
| ) |
Sets scaling matrix.
Sets scale-rotation-translation matrix.
This is the same as first doing a scaling, then a 3-axis rotation and then a translation.
| scale | Scaling vector |
| rot | Rotation vector |
| pos | Translation vector |
| void decMatrix::SetSVUT | ( | const decVector & | scale, |
| const decVector & | view, | ||
| const decVector & | up, | ||
| const decVector & | pos | ||
| ) |
Sets scale-view-up-translation matrix.
This is the same as first doing a scaling, then a world space matrix.
| scale | Scaling vector |
| view | View vector |
| up | Up vector |
| pos | Translation vector |
| void decMatrix::SetTranslation | ( | const decVector & | t ) |
Sets translation matrix.
| void decMatrix::SetTranslation | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Sets translation matrix.
Sets view-up matrix.
This is the same as doing a world space matrix but with the zero vector as position.
| view | View vector |
| up | Up vector |
Sets world space matrix.
A world matrix is used to transform coordinates from the coordinate system of one object to another one.
| pos | Position of object |
| view | View vector of object not necessary normalized |
| up | Up vector of object not necessary normalized |
| void decMatrix::SetWorld | ( | const decVector & | pos, |
| const decQuaternion & | orientation | ||
| ) |
Sets world space matrix.
A world matrix is used to transform coordinates from the coordinate system of one object to another one.
| pos | Position of object |
| orientation | Orientation |
| decQuaternion decMatrix::ToQuaternion | ( | ) | const |
Converts the matrix into a rotation quaternion.
This conversion is well defined in contrast to the rotation vector function.
| decVector4 decMatrix::Transform | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | w | ||
| ) | const |
| void decMatrix::Transform | ( | decVector4 & | result, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| float | w | ||
| ) | const |
| decVector decMatrix::Transform | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) | const |
Transforms a vector.
| void decMatrix::Transform | ( | decVector & | result, |
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) | const |
Transforms a normal by this matrix.
This is the same as transforming the normal by only the rotation part of it.
| decVector decMatrix::TransformRight | ( | ) | const [inline] |
| decVector decMatrix::TransformUp | ( | ) | const [inline] |
| decVector decMatrix::TransformView | ( | ) | const [inline] |
| float decMatrix::a11 |
Referenced by TransformRight().
| float decMatrix::a12 |
Referenced by TransformUp().
| float decMatrix::a13 |
Referenced by TransformView().
| float decMatrix::a14 |
Referenced by GetPosition().
| float decMatrix::a21 |
Referenced by TransformRight().
| float decMatrix::a22 |
Referenced by TransformUp().
| float decMatrix::a23 |
Referenced by TransformView().
| float decMatrix::a24 |
Referenced by GetPosition().
| float decMatrix::a31 |
Referenced by TransformRight().
| float decMatrix::a32 |
Referenced by TransformUp().
| float decMatrix::a33 |
Referenced by TransformView().
| float decMatrix::a34 |
Referenced by GetPosition().
| float decMatrix::a41 |
| float decMatrix::a42 |
| float decMatrix::a43 |
| float decMatrix::a44 |
1.7.2