Struct Matrix4x2d
Represents a 4x2 matrix.
Inherited Members
Namespace: OpenTK.Mathematics
Assembly: OpenTK.Mathematics.dll
Syntax
[Serializable]
public struct Matrix4x2d : IEquatable<Matrix4x2d>, IFormattable
Constructors
Matrix4x2d(Vector2d, Vector2d, Vector2d, Vector2d)
Initializes a new instance of the Matrix4x2d struct.
Declaration
public Matrix4x2d(Vector2d row0, Vector2d row1, Vector2d row2, Vector2d row3)
Parameters
Type | Name | Description |
---|---|---|
Vector2d | row0 | Top row of the matrix. |
Vector2d | row1 | Second row of the matrix. |
Vector2d | row2 | Third row of the matrix. |
Vector2d | row3 | Bottom row of the matrix. |
Matrix4x2d(double, double, double, double, double, double, double, double)
Initializes a new instance of the Matrix4x2d struct.
Declaration
public Matrix4x2d(double m00, double m01, double m10, double m11, double m20, double m21, double m30, double m31)
Parameters
Type | Name | Description |
---|---|---|
double | m00 | First item of the first row of the matrix. |
double | m01 | Second item of the first row of the matrix. |
double | m10 | First item of the second row of the matrix. |
double | m11 | Second item of the second row of the matrix. |
double | m20 | First item of the third row of the matrix. |
double | m21 | Second item of the third row of the matrix. |
double | m30 | First item of the fourth row of the matrix. |
double | m31 | Second item of the fourth row of the matrix. |
Fields
Row0
Top row of the matrix.
Declaration
public Vector2d Row0
Field Value
Type | Description |
---|---|
Vector2d |
Row1
Second row of the matrix.
Declaration
public Vector2d Row1
Field Value
Type | Description |
---|---|
Vector2d |
Row2
Third row of the matrix.
Declaration
public Vector2d Row2
Field Value
Type | Description |
---|---|
Vector2d |
Row3
Bottom row of the matrix.
Declaration
public Vector2d Row3
Field Value
Type | Description |
---|---|
Vector2d |
Zero
The zero matrix.
Declaration
public static readonly Matrix4x2d Zero
Field Value
Type | Description |
---|---|
Matrix4x2d |
Properties
Column0
Gets or sets the first column of this matrix.
Declaration
public Vector4d Column0 { readonly get; set; }
Property Value
Type | Description |
---|---|
Vector4d |
Column1
Gets or sets the second column of this matrix.
Declaration
public Vector4d Column1 { readonly get; set; }
Property Value
Type | Description |
---|---|
Vector4d |
Diagonal
Gets or sets the values along the main diagonal of the matrix.
Declaration
public Vector2d Diagonal { readonly get; set; }
Property Value
Type | Description |
---|---|
Vector2d |
this[int, int]
Gets or sets the value at a specified row and column.
Declaration
public double this[int rowIndex, int columnIndex] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
int | rowIndex | The index of the row. |
int | columnIndex | The index of the column. |
Property Value
Type | Description |
---|---|
double | The element at the given row and column index. |
M11
Gets or sets the value at row 1, column 1 of this instance.
Declaration
public double M11 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M12
Gets or sets the value at row 1, column 2 of this instance.
Declaration
public double M12 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M21
Gets or sets the value at row 2, column 1 of this instance.
Declaration
public double M21 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M22
Gets or sets the value at row 2, column 2 of this instance.
Declaration
public double M22 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M31
Gets or sets the value at row 3, column 1 of this instance.
Declaration
public double M31 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M32
Gets or sets the value at row 3, column 2 of this instance.
Declaration
public double M32 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M41
Gets or sets the value at row 4, column 1 of this instance.
Declaration
public double M41 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
M42
Gets or sets the value at row 4, column 2 of this instance.
Declaration
public double M42 { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
Trace
Gets the trace of the matrix, the sum of the values along the diagonal.
Declaration
public readonly double Trace { get; }
Property Value
Type | Description |
---|---|
double |
Methods
Add(Matrix4x2d, Matrix4x2d)
Adds two instances.
Declaration
[Pure]
public static Matrix4x2d Add(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the addition. |
Matrix4x2d | right | The right operand of the addition. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new instance that is the result of the addition. |
Add(in Matrix4x2d, in Matrix4x2d, out Matrix4x2d)
Adds two instances.
Declaration
public static void Add(in Matrix4x2d left, in Matrix4x2d right, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the addition. |
Matrix4x2d | right | The right operand of the addition. |
Matrix4x2d | result | A new instance that is the result of the addition. |
CreateRotation(double)
Builds a rotation matrix.
Declaration
[Pure]
public static Matrix4x2d CreateRotation(double angle)
Parameters
Type | Name | Description |
---|---|---|
double | angle | The counter-clockwise angle in radians. |
Returns
Type | Description |
---|---|
Matrix4x2d | The resulting Matrix3x2 instance. |
CreateRotation(double, out Matrix4x2d)
Builds a rotation matrix.
Declaration
public static void CreateRotation(double angle, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
double | angle | The counter-clockwise angle in radians. |
Matrix4x2d | result | The resulting Matrix3x2 instance. |
CreateScale(Vector2d)
Creates a scale matrix.
Declaration
[Pure]
public static Matrix4x2d CreateScale(Vector2d scale)
Parameters
Type | Name | Description |
---|---|---|
Vector2d | scale | Scale factors for the x and y axes. |
Returns
Type | Description |
---|---|
Matrix4x2d | A scale matrix. |
CreateScale(Vector2d, out Matrix4x2d)
Creates a scale matrix.
Declaration
public static void CreateScale(Vector2d scale, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Vector2d | scale | Scale factors for the x and y axes. |
Matrix4x2d | result | A scale matrix. |
CreateScale(double)
Creates a scale matrix.
Declaration
[Pure]
public static Matrix4x2d CreateScale(double scale)
Parameters
Type | Name | Description |
---|---|---|
double | scale | Single scale factor for the x and y axes. |
Returns
Type | Description |
---|---|
Matrix4x2d | A scale matrix. |
CreateScale(double, out Matrix4x2d)
Creates a scale matrix.
Declaration
public static void CreateScale(double scale, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
double | scale | Single scale factor for the x, y, and z axes. |
Matrix4x2d | result | A scale matrix. |
CreateScale(double, double)
Creates a scale matrix.
Declaration
[Pure]
public static Matrix4x2d CreateScale(double x, double y)
Parameters
Type | Name | Description |
---|---|---|
double | x | Scale factor for the x axis. |
double | y | Scale factor for the y axis. |
Returns
Type | Description |
---|---|
Matrix4x2d | A scale matrix. |
CreateScale(double, double, out Matrix4x2d)
Creates a scale matrix.
Declaration
public static void CreateScale(double x, double y, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
double | x | Scale factor for the x axis. |
double | y | Scale factor for the y axis. |
Matrix4x2d | result | A scale matrix. |
Equals(Matrix4x2d)
Indicates whether the current matrix is equal to another matrix.
Declaration
[Pure]
public readonly bool Equals(Matrix4x2d other)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | other | An matrix to compare with this matrix. |
Returns
Type | Description |
---|---|
bool | true if the current matrix is equal to the matrix parameter; otherwise, false. |
Equals(object)
Indicates whether this instance and a specified object are equal.
Declaration
[Pure]
public override readonly bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | The object to compare to. |
Returns
Type | Description |
---|---|
bool | True if the instances are equal; false otherwise. |
Overrides
GetHashCode()
Returns the hashcode for this instance.
Declaration
public override readonly int GetHashCode()
Returns
Type | Description |
---|---|
int | A System.Int32 containing the unique hashcode for this instance. |
Overrides
Mult(Matrix4x2d, Matrix2d)
Multiplies two instances.
Declaration
[Pure]
public static Matrix4x2d Mult(Matrix4x2d left, Matrix2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2d | right | The right operand of the multiplication. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new instance that is the result of the multiplication. |
Mult(Matrix4x2d, Matrix2x3d)
Multiplies two instances.
Declaration
[Pure]
public static Matrix4x3d Mult(Matrix4x2d left, Matrix2x3d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2x3d | right | The right operand of the multiplication. |
Returns
Type | Description |
---|---|
Matrix4x3d | A new instance that is the result of the multiplication. |
Mult(Matrix4x2d, Matrix2x4d)
Multiplies two instances.
Declaration
[Pure]
public static Matrix4d Mult(Matrix4x2d left, Matrix2x4d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2x4d | right | The right operand of the multiplication. |
Returns
Type | Description |
---|---|
Matrix4d | A new instance that is the result of the multiplication. |
Mult(Matrix4x2d, double)
Multiplies and instance by a scalar.
Declaration
[Pure]
public static Matrix4x2d Mult(Matrix4x2d left, double right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
double | right | The right operand of the multiplication. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new instance that is the result of the multiplication. |
Mult(in Matrix4x2d, in Matrix2d, out Matrix4x2d)
Multiplies two instances.
Declaration
public static void Mult(in Matrix4x2d left, in Matrix2d right, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2d | right | The right operand of the multiplication. |
Matrix4x2d | result | A new instance that is the result of the multiplication. |
Mult(in Matrix4x2d, in Matrix2x3d, out Matrix4x3d)
Multiplies two instances.
Declaration
public static void Mult(in Matrix4x2d left, in Matrix2x3d right, out Matrix4x3d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2x3d | right | The right operand of the multiplication. |
Matrix4x3d | result | A new instance that is the result of the multiplication. |
Mult(in Matrix4x2d, in Matrix2x4d, out Matrix4d)
Multiplies two instances.
Declaration
public static void Mult(in Matrix4x2d left, in Matrix2x4d right, out Matrix4d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
Matrix2x4d | right | The right operand of the multiplication. |
Matrix4d | result | A new instance that is the result of the multiplication. |
Mult(in Matrix4x2d, double, out Matrix4x2d)
Multiplies and instance by a scalar.
Declaration
public static void Mult(in Matrix4x2d left, double right, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the multiplication. |
double | right | The right operand of the multiplication. |
Matrix4x2d | result | A new instance that is the result of the multiplication. |
Subtract(Matrix4x2d, Matrix4x2d)
Subtracts two instances.
Declaration
[Pure]
public static Matrix4x2d Subtract(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the subtraction. |
Matrix4x2d | right | The right operand of the subtraction. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new instance that is the result of the subtraction. |
Subtract(in Matrix4x2d, in Matrix4x2d, out Matrix4x2d)
Subtracts two instances.
Declaration
public static void Subtract(in Matrix4x2d left, in Matrix4x2d right, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The left operand of the subtraction. |
Matrix4x2d | right | The right operand of the subtraction. |
Matrix4x2d | result | A new instance that is the result of the subtraction. |
Swizzle(Matrix4x2d, int, int, int, int)
Swizzles a matrix, i.e. switches rows of the matrix.
Declaration
public static Matrix4x2d Swizzle(Matrix4x2d mat, int rowForRow0, int rowForRow1, int rowForRow2, int rowForRow3)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | mat | The matrix to swizzle. |
int | rowForRow0 | Which row to place in Row0. |
int | rowForRow1 | Which row to place in Row1. |
int | rowForRow2 | Which row to place in Row2. |
int | rowForRow3 | Which row to place in Row3. |
Returns
Type | Description |
---|---|
Matrix4x2d | The swizzled matrix. |
Exceptions
Type | Condition |
---|---|
IndexOutOfRangeException | If any of the rows are outside of the range [0, 3]. |
Swizzle(in Matrix4x2d, int, int, int, int, out Matrix4x2d)
Swizzles a matrix, i.e. switches rows of the matrix.
Declaration
public static void Swizzle(in Matrix4x2d mat, int rowForRow0, int rowForRow1, int rowForRow2, int rowForRow3, out Matrix4x2d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | mat | The matrix to swizzle. |
int | rowForRow0 | Which row to place in Row0. |
int | rowForRow1 | Which row to place in Row1. |
int | rowForRow2 | Which row to place in Row2. |
int | rowForRow3 | Which row to place in Row3. |
Matrix4x2d | result | The swizzled matrix. |
Exceptions
Type | Condition |
---|---|
IndexOutOfRangeException | If any of the rows are outside of the range [0, 3]. |
Swizzle(int, int, int, int)
Swizzles this instance. Swiches places of the rows of the matrix.
Declaration
public void Swizzle(int rowForRow0, int rowForRow1, int rowForRow2, int rowForRow3)
Parameters
Type | Name | Description |
---|---|---|
int | rowForRow0 | Which row to place in Row0. |
int | rowForRow1 | Which row to place in Row1. |
int | rowForRow2 | Which row to place in Row2. |
int | rowForRow3 | Which row to place in Row3. |
Swizzled(int, int, int, int)
Returns a swizzled copy of this instance.
Declaration
public readonly Matrix4x2d Swizzled(int rowForRow0, int rowForRow1, int rowForRow2, int rowForRow3)
Parameters
Type | Name | Description |
---|---|---|
int | rowForRow0 | Which row to place in Row0. |
int | rowForRow1 | Which row to place in Row1. |
int | rowForRow2 | Which row to place in Row2. |
int | rowForRow3 | Which row to place in Row3. |
Returns
Type | Description |
---|---|
Matrix4x2d | The swizzled copy. |
ToString()
Returns a System.String that represents the current Matrix3d.
Declaration
public override readonly string ToString()
Returns
Type | Description |
---|---|
string | The string representation of the matrix. |
Overrides
ToString(IFormatProvider)
Formats the value of the current instance using the specified format.
Declaration
public readonly string ToString(IFormatProvider formatProvider)
Parameters
Type | Name | Description |
---|---|---|
IFormatProvider | formatProvider | The provider to use to format the value. -or- A null reference ( |
Returns
Type | Description |
---|---|
string | The value of the current instance in the specified format. |
ToString(string)
Formats the value of the current instance using the specified format.
Declaration
public readonly string ToString(string format)
Parameters
Type | Name | Description |
---|---|---|
string | format | The format to use. -or- A null reference ( |
Returns
Type | Description |
---|---|
string | The value of the current instance in the specified format. |
ToString(string, IFormatProvider)
Formats the value of the current instance using the specified format.
Declaration
public readonly string ToString(string format, IFormatProvider formatProvider)
Parameters
Type | Name | Description |
---|---|---|
string | format | The format to use. -or- A null reference ( |
IFormatProvider | formatProvider | The provider to use to format the value. -or- A null reference ( |
Returns
Type | Description |
---|---|
string | The value of the current instance in the specified format. |
Transpose(Matrix4x2d)
Calculate the transpose of the given matrix.
Declaration
[Pure]
public static Matrix2x4d Transpose(Matrix4x2d mat)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | mat | The matrix to transpose. |
Returns
Type | Description |
---|---|
Matrix2x4d | The transpose of the given matrix. |
Transpose(in Matrix4x2d, out Matrix2x4d)
Calculate the transpose of the given matrix.
Declaration
public static void Transpose(in Matrix4x2d mat, out Matrix2x4d result)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | mat | The matrix to transpose. |
Matrix2x4d | result | The transpose of the given matrix. |
Transposed()
Returns a transposed copy of this instance.
Declaration
public readonly Matrix2x4d Transposed()
Returns
Type | Description |
---|---|
Matrix2x4d | The transposed copy. |
Operators
operator +(Matrix4x2d, Matrix4x2d)
Matrix addition.
Declaration
[Pure]
public static Matrix4x2d operator +(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
Matrix4x2d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new Matrix4x2d which holds the result of the addition. |
operator ==(Matrix4x2d, Matrix4x2d)
Compares two instances for equality.
Declaration
[Pure]
public static bool operator ==(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The first instance. |
Matrix4x2d | right | The second instance. |
Returns
Type | Description |
---|---|
bool | True, if left equals right; false otherwise. |
operator !=(Matrix4x2d, Matrix4x2d)
Compares two instances for inequality.
Declaration
[Pure]
public static bool operator !=(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | The first instance. |
Matrix4x2d | right | The second instance. |
Returns
Type | Description |
---|---|
bool | True, if left does not equal right; false otherwise. |
operator *(Matrix4x2d, Matrix2d)
Matrix multiplication.
Declaration
[Pure]
public static Matrix4x2d operator *(Matrix4x2d left, Matrix2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
Matrix2d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new Matrix2d which holds the result of the multiplication. |
operator *(Matrix4x2d, Matrix2x3d)
Matrix multiplication.
Declaration
[Pure]
public static Matrix4x3d operator *(Matrix4x2d left, Matrix2x3d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
Matrix2x3d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x3d | A new Matrix4x3d which holds the result of the multiplication. |
operator *(Matrix4x2d, Matrix2x4d)
Matrix multiplication.
Declaration
[Pure]
public static Matrix4d operator *(Matrix4x2d left, Matrix2x4d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
Matrix2x4d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4d | A new Matrix4d which holds the result of the multiplication. |
operator *(Matrix4x2d, double)
Scalar multiplication.
Declaration
[Pure]
public static Matrix4x2d operator *(Matrix4x2d left, double right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
double | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new Matrix4x2d which holds the result of the multiplication. |
operator *(double, Matrix4x2d)
Scalar multiplication.
Declaration
[Pure]
public static Matrix4x2d operator *(double left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
double | left | left-hand operand. |
Matrix4x2d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new Matrix4x2d which holds the result of the multiplication. |
operator -(Matrix4x2d, Matrix4x2d)
Matrix subtraction.
Declaration
[Pure]
public static Matrix4x2d operator -(Matrix4x2d left, Matrix4x2d right)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x2d | left | left-hand operand. |
Matrix4x2d | right | right-hand operand. |
Returns
Type | Description |
---|---|
Matrix4x2d | A new Matrix4x2d which holds the result of the subtraction. |