The Matrix4x4 type exposes the following members.
Constructors
Name | Description | |
---|---|---|
Matrix4x4(Matrix4x4) |
Copy constructor for the 4x4 matrix struct
| |
Matrix4x4(Vector4D) |
Contructor for a 4x4 matrix from a Vector4D v, given by the matrix representation of Quaternions into a Matrix4x4
( see http://en.wikipedia.org/wiki/Quaternion#Matrix_representations )
| |
Matrix4x4(Vector4D, Vector4D, Vector4D, Vector4D) |
Contructor for a 4x4 matrix from four 4d-vectors, the vectors are treated as rows
| |
Matrix4x4(Vector4D, Vector4D, Vector4D, Vector4D, Boolean) |
Contructor for a 4x4 matrix from four 4d-vectors, the vectors are treated as rows or columns depending on the boolean parameter
| |
Matrix4x4(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Contructor for a 4x4 matrix from 16 float values, order is row major
|
Methods
Name | Description | |
---|---|---|
Equals(Object) | (Overrides ValueType..::..Equals(Object).) | |
Equals(Matrix4x4) | ||
Finalize | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | (Overrides ValueType..::..GetHashCode()()()().) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | (Overrides ValueType..::..ToString()()()().) | |
Transpose |
Transpose thi 4x4 matrix
|
Operators
Name | Description | |
---|---|---|
Addition(Double, Matrix4x4) |
value + matrix, adds a value to all matrix components
| |
Addition(Matrix4x4, Double) |
matrix + value, adds a value to all matrix components
| |
Addition(Matrix4x4, Matrix4x4) |
matrix + matrix, adds the values of two matrices component wise
| |
Division(Double, Matrix4x4) |
value / matrix, divides a value by all matrix components
| |
Division(Matrix4x4, Double) |
matrix / value, divides all matrix components with a value
| |
Equality | ||
Inequality | ||
LogicalNot |
! matrix, calculates the inverse of the matrix
optimized 4x4 matrix inversion using cramer's rule, found in the game engine http://www.ogre3d.org
takes about 1,8ns to execute on intel core2 duo 2Ghz, the intel reference
implementation (not assembly optimized) was about 2,2ns.
http://www.intel.com/design/pentiumiii/sml/24504301.pdf
| |
Multiply(Double, Matrix4x4) |
value * matrix, multiplies all matrix components with a value
| |
Multiply(Matrix4x4, Double) |
matrix * value, multiplies all matrix components with a value
| |
Multiply(Matrix4x4, Matrix4x4) |
matrix * matrix, performs a matrix multiplication
| |
Multiply(Matrix4x4, Vector2D) |
matrix * 2d vector, applies a matrix transform to a 2d-vector, (x, y, 0, 1)
| |
Multiply(Matrix4x4, Vector3D) |
matrix * 3d vector, applies a matrix transform to a 3d-vector, (x, y, z, 1) and divides by w
| |
Multiply(Matrix4x4, Vector4D) |
matrix * 4d vector, applies a matrix transform to a 4d-vector
| |
OnesComplement |
~ matrix, calculates the determinant of the matrix
| |
Subtraction(Double, Matrix4x4) |
value - matrix, subtracts all matrix components from a value
| |
Subtraction(Matrix4x4, Double) |
matrix - value, subtracts a value from all matrix components
| |
Subtraction(Matrix4x4, Matrix4x4) |
matrix - matrix, subtracts the components of B from the components of A
| |
UnaryNegation |
- matrix, flips the sign off all matrix components
| |
UnaryPlus |
+ matrix, makes no changes to a matrix
|
Extension Methods
Name | Description | |
---|---|---|
Decompose(Vector3D%, Vector4D%, Vector3D%) | Overloaded.
Decomposes the matrix into its scalar, rotational, and translational elements.
(Defined by Matrix4x4Utils.) | |
Decompose(Vector3D%, Vector3D%, Vector3D%) | Overloaded.
Decomposes the matrix into its scalar, rotational, and translational elements.
(Defined by Matrix4x4Utils.) | |
ToSlimDXMatrix |
Converts a Matrix4x4 to a Matrix.
(Defined by Matrix4x4Extensions.) |
Fields
Name | Description | |
---|---|---|
m11 |
The 1. data element of 1. row
| |
m12 |
The 2. data element of 1. row
| |
m13 |
The 3. data element of 1. row
| |
m14 |
The 4. data element of 1. row
| |
m21 |
The 1. data element of 2. row
| |
m22 |
The 2. data element of 2. row
| |
m23 |
The 3. data element of 2. row
| |
m24 |
The 4. data element of 2. row
| |
m31 |
The 1. data element of 3. row
| |
m32 |
The 2. data element of 3. row
| |
m33 |
The 3. data element of 3. row
| |
m34 |
The 4. data element of 3. row
| |
m41 |
The 1. data element of 4. row
| |
m42 |
The 2. data element of 4. row
| |
m43 |
The 3. data element of 4. row
| |
m44 |
The 4. data element of 4. row
|
Properties
Name | Description | |
---|---|---|
col1 |
Get/Set the 1. column as 4d-vector
| |
col2 |
Get/Set the 2. column as 4d-vector
| |
col3 |
Get/Set the 3. column as 4d-vector
| |
col4 |
Get/Set the 4. column as 4d-vector
| |
Item[([( Int32])]) |
Unsafe but very fast indexer for 4x4 matrix, [0..15]
| |
Item[([( Int32, Int32])]) |
Unsafe but very fast 2-d indexer for 4x4 matrix, [0..3, 0..3]
| |
row1 |
Get/Set the 1. row as 4d-vector
| |
row2 |
Get/Set the 2. row as 4d-vector
| |
row3 |
Get/Set the 3. row as 4d-vector
| |
row4 |
Get/Set the 4. row as 4d-vector
|