The Matrix4x4 type exposes the following members.

Constructors

  NameDescription
Public methodMatrix4x4(Matrix4x4)
Copy constructor for the 4x4 matrix struct
Public methodMatrix4x4(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 )
Public methodMatrix4x4(Vector4D, Vector4D, Vector4D, Vector4D)
Contructor for a 4x4 matrix from four 4d-vectors, the vectors are treated as rows
Public methodMatrix4x4(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
Public methodMatrix4x4(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

  NameDescription
Public methodEquals(Object) (Overrides ValueType..::..Equals(Object).)
Public methodEquals(Matrix4x4)
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode (Overrides ValueType..::..GetHashCode()()()().)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString (Overrides ValueType..::..ToString()()()().)
Public methodTranspose
Transpose thi 4x4 matrix

Operators

  NameDescription
Public operatorStatic memberAddition(Double, Matrix4x4)
value + matrix, adds a value to all matrix components
Public operatorStatic memberAddition(Matrix4x4, Double)
matrix + value, adds a value to all matrix components
Public operatorStatic memberAddition(Matrix4x4, Matrix4x4)
matrix + matrix, adds the values of two matrices component wise
Public operatorStatic memberDivision(Double, Matrix4x4)
value / matrix, divides a value by all matrix components
Public operatorStatic memberDivision(Matrix4x4, Double)
matrix / value, divides all matrix components with a value
Public operatorStatic memberEquality
Public operatorStatic memberInequality
Public operatorStatic memberLogicalNot
! 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
Public operatorStatic memberMultiply(Double, Matrix4x4)
value * matrix, multiplies all matrix components with a value
Public operatorStatic memberMultiply(Matrix4x4, Double)
matrix * value, multiplies all matrix components with a value
Public operatorStatic memberMultiply(Matrix4x4, Matrix4x4)
matrix * matrix, performs a matrix multiplication
Public operatorStatic memberMultiply(Matrix4x4, Vector2D)
matrix * 2d vector, applies a matrix transform to a 2d-vector, (x, y, 0, 1)
Public operatorStatic memberMultiply(Matrix4x4, Vector3D)
matrix * 3d vector, applies a matrix transform to a 3d-vector, (x, y, z, 1) and divides by w
Public operatorStatic memberMultiply(Matrix4x4, Vector4D)
matrix * 4d vector, applies a matrix transform to a 4d-vector
Public operatorStatic memberOnesComplement
~ matrix, calculates the determinant of the matrix
Public operatorStatic memberSubtraction(Double, Matrix4x4)
value - matrix, subtracts all matrix components from a value
Public operatorStatic memberSubtraction(Matrix4x4, Double)
matrix - value, subtracts a value from all matrix components
Public operatorStatic memberSubtraction(Matrix4x4, Matrix4x4)
matrix - matrix, subtracts the components of B from the components of A
Public operatorStatic memberUnaryNegation
- matrix, flips the sign off all matrix components
Public operatorStatic memberUnaryPlus
+ matrix, makes no changes to a matrix

Extension Methods

  NameDescription
Public Extension MethodDecompose(Vector3D%, Vector4D%, Vector3D%)Overloaded.
Decomposes the matrix into its scalar, rotational, and translational elements.
(Defined by Matrix4x4Utils.)
Public Extension MethodDecompose(Vector3D%, Vector3D%, Vector3D%)Overloaded.
Decomposes the matrix into its scalar, rotational, and translational elements.
(Defined by Matrix4x4Utils.)
Public Extension MethodToSlimDXMatrix
Converts a Matrix4x4 to a Matrix.
(Defined by Matrix4x4Extensions.)

Fields

  NameDescription
Public fieldm11
The 1. data element of 1. row
Public fieldm12
The 2. data element of 1. row
Public fieldm13
The 3. data element of 1. row
Public fieldm14
The 4. data element of 1. row
Public fieldm21
The 1. data element of 2. row
Public fieldm22
The 2. data element of 2. row
Public fieldm23
The 3. data element of 2. row
Public fieldm24
The 4. data element of 2. row
Public fieldm31
The 1. data element of 3. row
Public fieldm32
The 2. data element of 3. row
Public fieldm33
The 3. data element of 3. row
Public fieldm34
The 4. data element of 3. row
Public fieldm41
The 1. data element of 4. row
Public fieldm42
The 2. data element of 4. row
Public fieldm43
The 3. data element of 4. row
Public fieldm44
The 4. data element of 4. row

Properties

  NameDescription
Public propertycol1
Get/Set the 1. column as 4d-vector
Public propertycol2
Get/Set the 2. column as 4d-vector
Public propertycol3
Get/Set the 3. column as 4d-vector
Public propertycol4
Get/Set the 4. column as 4d-vector
Public propertyItem[([( Int32])])
Unsafe but very fast indexer for 4x4 matrix, [0..15]
Public propertyItem[([( Int32, Int32])])
Unsafe but very fast 2-d indexer for 4x4 matrix, [0..3, 0..3]
Public propertyrow1
Get/Set the 1. row as 4d-vector
Public propertyrow2
Get/Set the 2. row as 4d-vector
Public propertyrow3
Get/Set the 3. row as 4d-vector
Public propertyrow4
Get/Set the 4. row as 4d-vector

See Also