| Matrix4 Structure | 
Namespace: NeoAxis
 Syntax
Syntaxpublic struct Matrix4
The Matrix4 type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | Matrix4(Double) | 
            Constructs a matrix with specified one-dimensional Double array with sixteen elements.
             | 
|  | Matrix4(Matrix4) | 
            Constructs a matrix with another specified Matrix4 object.
             | 
|  | Matrix4(Matrix4F) | 
            Constructs a matrix with another specified matrix of Matrix4F format.
             | 
|  | Matrix4(Matrix3, Vector3) | 
            Constructs a matrix with the given rotation and translation components.
             | 
|  | Matrix4(Matrix3, Vector3) | 
            Constructs a matrix with the given rotation and translation components.
             | 
|  | Matrix4(Matrix3F, Vector3) | 
            Constructs a matrix with the given rotation and translation components.
             | 
|  | Matrix4(Matrix3F, Vector3) | 
            Constructs a matrix with the given rotation and translation components.
             | 
|  | Matrix4(Vector4, Vector4, Vector4, Vector4) | 
            Constructs a matrix with the specified Vector4 elements,
            which are the corresponding rows of the matrix.
             | 
|  | Matrix4(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) | 
            Constructs a matrix with the given individual elements.
             | 
 Properties
Properties| Name | Description | |
|---|---|---|
|  | ItemInt32 | 
            Gets or sets the row of the current instance of Matrix4 at the specified index.
             | 
|  | ItemInt32, Int32 | 
            Gets or sets the component at the specified index.
             | 
 Methods
Methods| Name | Description | |
|---|---|---|
|   | Add | 
            Adds two matricies.
             | 
|   | Construct | 
            Constructs a matrix with the given rotation and translation components and returns the resulting Matrix4.
             | 
|  | Decompose(Vector3, Matrix3, Vector3) | 
            Decomposes a matrix into a scale, rotation, and translation.
             | 
|  | Decompose(Vector3, Quaternion, Vector3) | 
            Decomposes a matrix into a scale, rotation, and translation.
             | 
|  | DecomposeScale | |
|  | DecomposeScale(Vector3) | |
|  | DecomposeScaleMaxComponent | |
|  | Equals(Object) | 
            Determines whether the specified object is equal to the current instance of Matrix4.
            (Overrides ValueTypeEquals(Object).) | 
|  | Equals(Matrix4, Double) | 
            Determines whether the specified matrix is equal to the current instance of Matrix4
            with a given precision.
             | 
|   | FromTranslate(Vector3) | 
            Creates a translation matrix.
             | 
|   | FromTranslate(Vector3, Matrix4) | 
            Creates a translation matrix.
             | 
|  | GetHashCode | 
            Returns a hash code for this instance.
            (Overrides ValueTypeGetHashCode.) | 
|  | GetInverse | 
            Inverts the current instance of Matrix4 if it is invertible and returns the result.
             | 
|  | GetInverse(Matrix4) | 
            Inverts the current instance of Matrix4 if it is invertible.
             | 
|  | GetTrace | 
            Gets the trace of the matrix, the sum of the values along the diagonal.
             | 
|  | GetTranslation | 
            Returns the translation of the current instance of Matrix4.
             | 
|  | GetTranslation(Vector3) | 
            Returns the translation of the current instance of Matrix4.
             | 
|  | GetTranspose | 
            Returns the transpose of the current instance of Matrix4.
             | 
|  | GetTranspose(Matrix4) | 
            Calculates the transpose of the current instance of Matrix4.
             | 
|  | GetType | Gets the Type of the current instance.(Inherited from Object.) | 
|  | Inverse | 
            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.
             | 
|   | LookAt(Vector3, Vector3, Vector3) | 
            Creates a look-at matrix.
             | 
|   | LookAt(Vector3, Vector3, Vector3, Matrix4) | 
            Creates a look-at matrix.
             | 
|   | Multiply(Double, Matrix4, Matrix4) | 
            Multiplies a matrix by a given value.
             | 
|   | Multiply(Matrix4, Matrix4, Matrix4) | 
            Multiplies two matrices.
             | 
|   | Multiply(Matrix4, Ray, Ray) | 
            Translates the ray coordinates to the space defined by a matrix.
             | 
|   | Multiply(Matrix4, Vector3, Vector3) | 
            Multiplies a matrix by a given Vector3 structure.
             | 
|   | Multiply(Matrix4, Vector4, Vector4) | 
            Multiplies a matrix by a given Vector4 structure.
             | 
|   | Multiply(Matrix4, Double, Matrix4) | 
            Multiplies a matrix by a given value.
             | 
|   | Multiply(Ray, Matrix4, Ray) | 
            Translates the ray coordinates to the space defined by a matrix.
             | 
|   | Multiply(Vector3, Matrix4, Vector3) | 
            Multiplies a matrix by a given Vector3 structure.
             | 
|   | Multiply(Vector4, Matrix4, Vector4) | 
            Multiplies a matrix by a given Vector4 structure.
             | 
|   | Negate | 
            Negates a matrix.
             | 
|   | Parse | 
            Converts a string representation of a matrix into the equivalent Matrix4 structure.
             | 
|   | Perspective(Double, Double, Double, Double) | 
            Creates a perspective projection matrix. 
             | 
|   | Perspective(Double, Double, Double, Double, Matrix4) | 
            Creates a perspective projection matrix.
             | 
|  | SetTranslation(Vector3) | 
            Sets the translation of the current instance of Matrix4.
             | 
|  | SetTranslation(Vector3) | 
            Sets the translation of the current instance of Matrix4.
             | 
|   | Subtract | 
            Subtracts two matricies.
             | 
|  | ToMatrix3 | 
            Converts the current instance of Matrix4 into the equivalent Matrix3 structure.
             | 
|  | ToMatrix3(Matrix3) | 
            Converts the current instance of Matrix4 into the equivalent Matrix3 structure.
             | 
|  | ToMatrix4F | 
            Converts the current instance of Matrix4 to the matrix of Matrix4F format.
             | 
|  | ToMatrix4F(Matrix4F) | 
            Converts the current instance of Matrix4 to the matrix of Matrix4F format.
             | 
|  | ToString | 
            Returns a String that represents the current instance of Matrix4.
            (Overrides ValueTypeToString.) | 
|  | Transpose | 
            Transposes the matrix.
             | 
 Operators
Operators| Name | Description | |
|---|---|---|
|   | Addition | 
            Adds two matricies.
             | 
|   | Equality | 
            Determines whether two given matricies are equal.
             | 
|   | Inequality | 
            Determines whether two given matricies are unequal.
             | 
|   | Multiply(Double, Matrix4) | 
            Multiplies a matrix by a given value.
             | 
|   | Multiply(Matrix4, Matrix4) | 
            Multiplies two matrices.
             | 
|   | Multiply(Matrix4, Ray) | 
            Translates the ray coordinates to the space defined by a matrix.
             | 
|   | Multiply(Matrix4, Vector3) | 
            Multiplies a matrix by a given Vector3 structure.
             | 
|   | Multiply(Matrix4, Vector4) | 
            Multiplies a matrix by a given Vector4 structure.
             | 
|   | Multiply(Matrix4, Double) | 
            Multiplies a matrix by a given value.
             | 
|   | Multiply(Ray, Matrix4) | 
            Translates the ray coordinates to the space defined by a matrix.
             | 
|   | Multiply(Vector3, Matrix4) | 
            Multiplies a matrix by a given Vector3 structure.
             | 
|   | Multiply(Vector4, Matrix4) | 
            Multiplies a matrix by a given Vector4 structure.
             | 
|   | Subtraction | 
            Subtracts two matricies.
             | 
|   | UnaryNegation | 
            Negates a matrix.
             | 
 Fields
Fields| Name | Description | |
|---|---|---|
|   | Identity | 
            The identity matrix.
             | 
|   | IdentityAsString | |
|  | Item0 | 
            The first row of the matrix.
             | 
|  | Item1 | 
            The second row of the matrix.
             | 
|  | Item2 | 
            The third row of the matrix.
             | 
|  | Item3 | 
            The fourth row of the matrix.
             | 
|   | Zero | 
            The matrix with all of its components set to zero.
             | 
|   | ZeroAsString | 
 Extension Methods
Extension Methods| Name | Description | |
|---|---|---|
|  | MethodInvoke | 
            Calls the object method by name.
            (Defined by ObjectEx.) | 
|  | PropertyGet(String, Object, Boolean) | Overloaded. 
            Gets the value of the object property by name.
            (Defined by ObjectEx.) | 
|  | PropertyGetT(String, Object, Boolean) | Overloaded. 
            Gets the value of the object property by name.
            (Defined by ObjectEx.) | 
|  | PropertySet | 
            Sets the value of the object property by name.
            (Defined by ObjectEx.) | 
 See Also
See Also