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 4dvectors, the vectors are treated as rows
 
Matrix4x4(Vector4D, Vector4D, Vector4D, Vector4D, Boolean) 
Contructor for a 4x4 matrix from four 4dvectors, 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 2dvector, (x, y, 0, 1)
 
Multiply(Matrix4x4, Vector3D) 
matrix * 3d vector, applies a matrix transform to a 3dvector, (x, y, z, 1) and divides by w
 
Multiply(Matrix4x4, Vector4D) 
matrix * 4d vector, applies a matrix transform to a 4dvector
 
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 4dvector
 
col2 
Get/Set the 2. column as 4dvector
 
col3 
Get/Set the 3. column as 4dvector
 
col4 
Get/Set the 4. column as 4dvector
 
Item[([( Int32])]) 
Unsafe but very fast indexer for 4x4 matrix, [0..15]
 
Item[([( Int32, Int32])]) 
Unsafe but very fast 2d indexer for 4x4 matrix, [0..3, 0..3]
 
row1 
Get/Set the 1. row as 4dvector
 
row2 
Get/Set the 2. row as 4dvector
 
row3 
Get/Set the 3. row as 4dvector
 
row4 
Get/Set the 4. row as 4dvector
