Class Matrix2x2
Represents a 2x2 Matrix (contains only scale and rotation in 2D).
Inheritance
Implements
Namespace: FlaxEngine
Assembly: FlaxEngine.CSharp.dll
Syntax
public sealed class Matrix2x2 : ValueType, IEquatable<Matrix2x2>, IFormattable
Constructors
Matrix2x2(Single)
Initializes a new instance of the Matrix2x2 struct.
Declaration
public Matrix2x2(float value)
Parameters
|
System.Single
value
The value that will be assigned to all components. |
Matrix2x2(Single, Single, Single, Single)
Initializes a new instance of the Matrix2x2 struct.
Declaration
public Matrix2x2(float m11, float m12, float m21, float m22)
Parameters
|
System.Single
m11
The value to assign at row 1 column 1 of the Matrix2x2. |
|
System.Single
m12
The value to assign at row 1 column 2 of the Matrix2x2. |
|
System.Single
m21
The value to assign at row 2 column 1 of the Matrix2x2. |
|
System.Single
m22
The value to assign at row 2 column 2 of the Matrix2x2. |
Matrix2x2(Single[])
Initializes a new instance of the Matrix2x2 struct.
Declaration
public Matrix2x2(float[] values)
Parameters
|
System.Single[]
values
The values to assign to the components of the Matrix2x2. This must be an array with four elements. |
Exceptions
|
System.ArgumentNullException
Thrown when |
|
System.ArgumentOutOfRangeException
Thrown when |
Fields
Identity
M11
Value at row 1 column 1 of the Matrix2x2.
Declaration
public float M11
Field Value
|
System.Single
|
M12
Value at row 1 column 2 of the Matrix2x2.
Declaration
public float M12
Field Value
|
System.Single
|
M21
Value at row 2 column 1 of the Matrix2x2.
Declaration
public float M21
Field Value
|
System.Single
|
M22
Value at row 2 column 2 of the Matrix2x2.
Declaration
public float M22
Field Value
|
System.Single
|
SizeInBytes
The size of the Matrix2x2 type, in bytes.
Declaration
public static readonly int SizeInBytes
Field Value
|
System.Int32
|
Zero
A Matrix2x2 with all of its components set to zero.
Declaration
public static readonly Matrix2x2 Zero
Field Value
|
Matrix2x2
|
Properties
Column1
Gets or sets the first column in the Matrix2x2; that is M11, M21
Declaration
public Float2 Column1 { get; set; }
Property Value
|
Float2
|
Column2
Gets or sets the second column in the Matrix2x2; that is M12, M22
Declaration
public Float2 Column2 { get; set; }
Property Value
|
Float2
|
IsIdentity
Gets a value indicating whether this instance is an identity Matrix2x2.
Declaration
public bool IsIdentity { get; }
Property Value
|
System.Boolean
|
Item[Int32]
Gets or sets the component at the specified index.
Declaration
public float this[int index] { get; set; }
Parameters
|
System.Int32
index
The zero-based index of the component to access. |
Property Value
|
System.Single
The value of the Matrix2x2 component, depending on the index. |
Exceptions
|
System.ArgumentOutOfRangeException
Thrown when the |
Item[Int32, Int32]
Gets or sets the component at the specified index.
Declaration
public float this[int row, int column] { get; set; }
Parameters
|
System.Int32
row
The row of the Matrix2x2 to access. |
|
System.Int32
column
The column of the Matrix2x2 to access. |
Property Value
|
System.Single
The value of the Matrix2x2 component, depending on the index. |
Exceptions
|
System.ArgumentOutOfRangeException
Thrown when the |
Row1
Gets or sets the first row in the Matrix2x2; that is M11, M12
Declaration
public Float2 Row1 { get; set; }
Property Value
|
Float2
|
Row2
Gets or sets the second row in the Matrix2x2; that is M21, M22
Declaration
public Float2 Row2 { get; set; }
Property Value
|
Float2
|
ScaleVector
Gets or sets the scale of the Matrix2x2; that is M11, M22.
Declaration
public Float2 ScaleVector { get; set; }
Property Value
|
Float2
|
Methods
Determinant()
Calculates the determinant of the Matrix2x2.
Declaration
public float Determinant()
Returns
|
System.Single
The determinant of the Matrix2x2. |
Equals(Matrix2x2)
Determines whether the specified Matrix2x2 is equal to this instance.
Declaration
public bool Equals(Matrix2x2 other)
Parameters
|
Matrix2x2
other
The Matrix2x2 to compare with this instance. |
Returns
|
System.Boolean
|
Equals(ref Matrix2x2)
Determines whether the specified Matrix2x2 is equal to this instance.
Declaration
public bool Equals(ref Matrix2x2 other)
Parameters
|
Matrix2x2
other
The Matrix2x2 to compare with this instance. |
Returns
|
System.Boolean
|
Equals(ref Matrix2x2, ref Matrix2x2)
Determines whether the specified Matrix2x2 are equal.
Declaration
public static bool Equals(ref Matrix2x2 a, ref Matrix2x2 b)
Parameters
|
Matrix2x2
a
|
|
Matrix2x2
b
|
Returns
|
System.Boolean
|
Equals(Object)
Determines whether the specified System.Object is equal to this instance.
Declaration
public override bool Equals(object value)
Parameters
|
System.Object
value
The System.Object to compare with this instance. |
Returns
|
System.Boolean
|
GetHashCode()
Returns a hash code for this instance.
Declaration
public override int GetHashCode()
Returns
|
System.Int32
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. |
InverseDeterminant()
Calculates inverse of the determinant of the Matrix2x2.
Declaration
public float InverseDeterminant()
Returns
|
System.Single
The inverse determinant of the Matrix2x2. |
Invert(ref Matrix2x2, out Matrix2x2)
Calculates the inverse of the specified Matrix2x2.
Declaration
public static void Invert(ref Matrix2x2 value, out Matrix2x2 result)
Parameters
|
Matrix2x2
value
The Matrix2x2 whose inverse is to be calculated. |
|
Matrix2x2
result
When the method completes, contains the inverse of the specified Matrix2x2. |
Multiply(ref Matrix2x2, ref Matrix2x2, out Matrix2x2)
Determines the product of two matrices.
Declaration
public static void Multiply(ref Matrix2x2 left, ref Matrix2x2 right, out Matrix2x2 result)
Parameters
|
Matrix2x2
left
The first Matrix2x2 to multiply. |
|
Matrix2x2
right
The second Matrix2x2 to multiply. |
|
Matrix2x2
result
The product of the two matrices. |
Rotation(Single, out Matrix2x2)
Creates the rotation matrix.
Declaration
public static void Rotation(float rotationRadians, out Matrix2x2 result)
Parameters
|
System.Single
rotationRadians
The rotation angle (in radians). |
|
Matrix2x2
result
The result. |
Scale(ref Float2, out Matrix2x2)
Creates the scale matrix.
Declaration
public static void Scale(ref Float2 scale, out Matrix2x2 result)
Parameters
|
Float2
scale
The scale vector. |
|
Matrix2x2
result
The result. |
Scale(Single, out Matrix2x2)
Creates the uniform scale matrix.
Declaration
public static void Scale(float scale, out Matrix2x2 result)
Parameters
|
System.Single
scale
The scale. |
|
Matrix2x2
result
The result. |
Scale(Single, Single, out Matrix2x2)
Creates the scale matrix.
Declaration
public static void Scale(float scaleX, float scaleY, out Matrix2x2 result)
Parameters
|
System.Single
scaleX
The scale x. |
|
System.Single
scaleY
The scale y. |
|
Matrix2x2
result
The result. |
Shear(ref Float2, out Matrix2x2)
Creates the shear matrix. Represented by: [1 Y] [X 1]
Declaration
public static void Shear(ref Float2 shearAngles, out Matrix2x2 result)
Parameters
|
Float2
shearAngles
The shear angles. |
|
Matrix2x2
result
The result. |
ToArray()
Creates an array containing the elements of the Matrix2x2.
Declaration
public float[] ToArray()
Returns
|
System.Single[]
A 4-element array containing the components of the Matrix2x2. |
ToString()
Returns a System.String that represents this instance.
Declaration
public override string ToString()
Returns
|
System.String
A System.String that represents this instance. |
ToString(IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(IFormatProvider formatProvider)
Parameters
|
System.IFormatProvider
formatProvider
The format provider. |
Returns
|
System.String
A System.String that represents this instance. |
ToString(String)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format)
Parameters
|
System.String
format
The format. |
Returns
|
System.String
A System.String that represents this instance. |
ToString(String, IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format, IFormatProvider formatProvider)
Parameters
|
System.String
format
The format. |
|
System.IFormatProvider
formatProvider
The format provider. |
Returns
|
System.String
A System.String that represents this instance. |
Transform(ref Float2, ref Matrix2x2, out Float2)
Transforms the specified vector by the given matrix.
Declaration
public static void Transform(ref Float2 vector, ref Matrix2x2 matrix, out Float2 result)
Parameters
|
Float2
vector
The vector. |
|
Matrix2x2
matrix
The matrix. |
|
Float2
result
The result. |
Operators
Equality(Matrix2x2, Matrix2x2)
Tests for equality between two objects.
Declaration
public static bool operator ==(Matrix2x2 left, Matrix2x2 right)
Parameters
|
Matrix2x2
left
The first value to compare. |
|
Matrix2x2
right
The second value to compare. |
Returns
|
System.Boolean
|
Explicit(Matrix to Matrix2x2)
Convert the 4x4 Matrix to a 3x3 Matrix.
Declaration
public static explicit operator Matrix2x2(Matrix value)
Parameters
|
Matrix
value
|
Returns
|
Matrix2x2
A 2x2 Matrix |
Explicit(Matrix2x2 to Matrix)
Convert the 2x2 Matrix to a 4x4 Matrix.
Declaration
public static explicit operator Matrix(Matrix2x2 value)
Parameters
|
Matrix2x2
value
|
Returns
|
Matrix
A 4x4 Matrix with zero translation and M44=1 |
Explicit(Matrix2x2 to Matrix3x3)
Convert the 2x2 Matrix to a 4x4 Matrix.
Declaration
public static explicit operator Matrix3x3(Matrix2x2 value)
Parameters
|
Matrix2x2
value
|
Returns
|
Matrix3x3
A 3x3 Matrix with zero translation and M44=1 |
Explicit(Matrix3x3 to Matrix2x2)
Convert the 3x3 Matrix to a 2x2 Matrix.
Declaration
public static explicit operator Matrix2x2(Matrix3x3 value)
Parameters
|
Matrix3x3
value
|
Returns
|
Matrix2x2
A 2x2 Matrix |
Inequality(Matrix2x2, Matrix2x2)
Tests for inequality between two objects.
Declaration
public static bool operator !=(Matrix2x2 left, Matrix2x2 right)
Parameters
|
Matrix2x2
left
The first value to compare. |
|
Matrix2x2
right
The second value to compare. |
Returns
|
System.Boolean
|