Click or drag to resize

Matrix4 Structure

A structure encapsulating a double precision 4x4 matrix.

Namespace:  NeoAxis
Assembly:  NeoAxis.Core (in NeoAxis.Core.dll) Version: 2022.1.1.0 (2022.1.1.0)
Syntax
C#
public struct Matrix4

The Matrix4 type exposes the following members.

Constructors
  NameDescription
Public methodMatrix4(Double)
Constructs a matrix with specified one-dimensional Double array with sixteen elements.
Public methodMatrix4(Matrix4)
Constructs a matrix with another specified Matrix4 object.
Public methodMatrix4(Matrix4F)
Constructs a matrix with another specified matrix of Matrix4F format.
Public methodMatrix4(Matrix3, Vector3)
Constructs a matrix with the given rotation and translation components.
Public methodMatrix4(Matrix3, Vector3)
Constructs a matrix with the given rotation and translation components.
Public methodMatrix4(Matrix3F, Vector3)
Constructs a matrix with the given rotation and translation components.
Public methodMatrix4(Matrix3F, Vector3)
Constructs a matrix with the given rotation and translation components.
Public methodMatrix4(Vector4, Vector4, Vector4, Vector4)
Constructs a matrix with the specified Vector4 elements, which are the corresponding rows of the matrix.
Public methodMatrix4(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)
Constructs a matrix with the given individual elements.
Top
Properties
Methods
  NameDescription
Public methodStatic memberAdd
Adds two matricies.
Public methodStatic memberConstruct
Constructs a matrix with the given rotation and translation components and returns the resulting Matrix4.
Public methodDecompose(Vector3, Matrix3, Vector3)
Decomposes a matrix into a scale, rotation, and translation.
Public methodDecompose(Vector3, Quaternion, Vector3)
Decomposes a matrix into a scale, rotation, and translation.
Public methodEquals(Object)
Determines whether the specified object is equal to the current instance of Matrix4.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Matrix4, Double)
Determines whether the specified matrix is equal to the current instance of Matrix4 with a given precision.
Public methodStatic memberFromTranslate(Vector3)
Creates a translation matrix.
Public methodStatic memberFromTranslate(Vector3, Matrix4)
Creates a translation matrix.
Public methodGetHashCode
Returns a hash code for this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetInverse
Inverts the current instance of Matrix4 if it is invertible and returns the result.
Public methodGetInverse(Matrix4)
Inverts the current instance of Matrix4 if it is invertible.
Public methodGetTrace
Gets the trace of the matrix, the sum of the values along the diagonal.
Public methodGetTranslation
Returns the translation of the current instance of Matrix4.
Public methodGetTranslation(Vector3)
Returns the translation of the current instance of Matrix4.
Public methodGetTranspose
Returns the transpose of the current instance of Matrix4.
Public methodGetTranspose(Matrix4)
Calculates the transpose of the current instance of Matrix4.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInverse
Inverts the current instance of Matrix4 and determines whether the matrix is invertible. Determines whether the current instance of Matrix4 is invertible and, if so, inverts this matrix.
Public methodStatic memberLookAt(Vector3, Vector3, Vector3)
Creates a look-at matrix.
Public methodStatic memberLookAt(Vector3, Vector3, Vector3, Matrix4)
Creates a look-at matrix.
Public methodStatic memberMultiply(Double, Matrix4, Matrix4)
Multiplies a matrix by a given value.
Public methodStatic memberMultiply(Matrix4, Matrix4, Matrix4)
Multiplies two matrices.
Public methodStatic memberMultiply(Matrix4, Ray, Ray)
Translates the ray coordinates to the space defined by a matrix.
Public methodStatic memberMultiply(Matrix4, Vector3, Vector3)
Multiplies a matrix by a given Vector3 structure.
Public methodStatic memberMultiply(Matrix4, Vector4, Vector4)
Multiplies a matrix by a given Vector4 structure.
Public methodStatic memberMultiply(Matrix4, Double, Matrix4)
Multiplies a matrix by a given value.
Public methodStatic memberMultiply(Ray, Matrix4, Ray)
Translates the ray coordinates to the space defined by a matrix.
Public methodStatic memberMultiply(Vector3, Matrix4, Vector3)
Multiplies a matrix by a given Vector3 structure.
Public methodStatic memberMultiply(Vector4, Matrix4, Vector4)
Multiplies a matrix by a given Vector4 structure.
Public methodStatic memberNegate
Negates a matrix.
Public methodStatic memberParse
Converts a string representation of a matrix into the equivalent Matrix4 structure.
Public methodStatic memberPerspective(Double, Double, Double, Double)
Creates a perspective projection matrix.
Public methodStatic memberPerspective(Double, Double, Double, Double, Matrix4)
Creates a perspective projection matrix.
Public methodSetTranslation(Vector3)
Sets the translation of the current instance of Matrix4.
Public methodSetTranslation(Vector3)
Sets the translation of the current instance of Matrix4.
Public methodStatic memberSubtract
Subtracts two matricies.
Public methodToMatrix3
Converts the current instance of Matrix4 into the equivalent Matrix3 structure.
Public methodToMatrix3(Matrix3)
Converts the current instance of Matrix4 into the equivalent Matrix3 structure.
Public methodToMatrix4F
Converts the current instance of Matrix4 to the matrix of Matrix4F format.
Public methodToMatrix4F(Matrix4F)
Converts the current instance of Matrix4 to the matrix of Matrix4F format.
Public methodToString
Returns a String that represents the current instance of Matrix4.
(Overrides ValueTypeToString.)
Public methodTranspose
Transposes the matrix.
Top
Operators
  NameDescription
Public operatorStatic memberAddition
Adds two matricies.
Public operatorStatic memberEquality
Determines whether two given matricies are equal.
Public operatorStatic memberInequality
Determines whether two given matricies are unequal.
Public operatorStatic memberMultiply(Double, Matrix4)
Multiplies a matrix by a given value.
Public operatorStatic memberMultiply(Matrix4, Matrix4)
Multiplies two matrices.
Public operatorStatic memberMultiply(Matrix4, Ray)
Translates the ray coordinates to the space defined by a matrix.
Public operatorStatic memberMultiply(Matrix4, Vector3)
Multiplies a matrix by a given Vector3 structure.
Public operatorStatic memberMultiply(Matrix4, Vector4)
Multiplies a matrix by a given Vector4 structure.
Public operatorStatic memberMultiply(Matrix4, Double)
Multiplies a matrix by a given value.
Public operatorStatic memberMultiply(Ray, Matrix4)
Translates the ray coordinates to the space defined by a matrix.
Public operatorStatic memberMultiply(Vector3, Matrix4)
Multiplies a matrix by a given Vector3 structure.
Public operatorStatic memberMultiply(Vector4, Matrix4)
Multiplies a matrix by a given Vector4 structure.
Public operatorStatic memberSubtraction
Subtracts two matricies.
Public operatorStatic memberUnaryNegation
Negates a matrix.
Top
Fields
  NameDescription
Public fieldStatic memberIdentity
The identity matrix.
Public fieldStatic memberIdentityAsString
Public fieldItem0
The first row of the matrix.
Public fieldItem1
The second row of the matrix.
Public fieldItem2
The third row of the matrix.
Public fieldItem3
The fourth row of the matrix.
Public fieldStatic memberZero
The matrix with all of its components set to zero.
Public fieldStatic memberZeroAsString
Top
Extension Methods
See Also