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
|