Struct float3x3
Represents a 3x3 Matrix
Implements
Inherited Members
Namespace: Fusee.Math.Core
Assembly: Fusee.Math.Core.dll
Syntax
public struct float3x3 : IEquatable<float3x3>
Constructors
float3x3(float3, float3, float3)
Constructs a new instance.
Declaration
public float3x3(float3 row1, float3 row2, float3 row3)
Parameters
Type | Name | Description |
---|---|---|
float3 | row1 | Top row of the matrix |
float3 | row2 | Second row of the matrix |
float3 | row3 | Third row of the matrix |
float3x3(float4x4)
Constructs a new instance.
Declaration
public float3x3(float4x4 mat4)
Parameters
Type | Name | Description |
---|---|---|
float4x4 | mat4 | The incoming float4x4. |
float3x3(Single, Single, Single, Single, Single, Single, Single, Single, Single)
Constructs a new instance.
Declaration
public float3x3(float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
Parameters
Type | Name | Description |
---|---|---|
System.Single | m11 | First item of the first row of the matrix. |
System.Single | m12 | Second item of the first row of the matrix. |
System.Single | m13 | Third item of the first row of the matrix. |
System.Single | m21 | First item of the second row of the matrix. |
System.Single | m22 | Second item of the second row of the matrix. |
System.Single | m23 | Third item of the second row of the matrix. |
System.Single | m31 | First item of the third row of the matrix. |
System.Single | m32 | Second item of the third row of the matrix. |
System.Single | m33 | Third item of the third row of the matrix. |
Fields
Identity
The identity matrix
Declaration
public static readonly float3x3 Identity
Field Value
Type | Description |
---|---|
float3x3 |
Row1
Top row of the matrix
Declaration
public float3 Row1
Field Value
Type | Description |
---|---|
float3 |
Row2
2nd row of the matrix
Declaration
public float3 Row2
Field Value
Type | Description |
---|---|
float3 |
Row3
3rd row of the matrix
Declaration
public float3 Row3
Field Value
Type | Description |
---|---|
float3 |
Zero
The zero matrix
Declaration
public static readonly float3x3 Zero
Field Value
Type | Description |
---|---|
float3x3 |
Properties
Column1
The first column of this matrix
Declaration
public float3 Column1 { get; set; }
Property Value
Type | Description |
---|---|
float3 |
Column2
The second column of this matrix
Declaration
public float3 Column2 { get; set; }
Property Value
Type | Description |
---|---|
float3 |
Column3
The third column of this matrix
Declaration
public float3 Column3 { get; set; }
Property Value
Type | Description |
---|---|
float3 |
Determinant
The determinant of this matrix
Declaration
public readonly float Determinant { get; }
Property Value
Type | Description |
---|---|
System.Single |
IsAffine
Indicates whether the current matrix represents an affine transformation.
Declaration
public readonly bool IsAffine { get; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the current matrix represents an affine transformation; otherwise, false. |
M11
Gets and sets the value at row 1, column 1 of this instance.
Declaration
public float M11 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M12
Gets and sets the value at row 1, column 2 of this instance.
Declaration
public float M12 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M13
Gets and sets the value at row 1, column 3 of this instance.
Declaration
public float M13 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M21
Gets and sets the value at row 2, column 1 of this instance.
Declaration
public float M21 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M22
Gets and sets the value at row 2, column 2 of this instance.
Declaration
public float M22 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M23
Gets and sets the value at row 2, column 3 of this instance.
Declaration
public float M23 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M31
Gets and sets the value at row 3, column 1 of this instance.
Declaration
public float M31 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M32
Gets and sets the value at row 3, column 2 of this instance.
Declaration
public float M32 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
M33
Gets and sets the value at row 3, column 3 of this instance.
Declaration
public float M33 { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
ParseConverter
Gets and sets the Converter object. Has the ability to convert a string to a float3x3.
Declaration
public static Converter<string, float3x3> ParseConverter { get; set; }
Property Value
Type | Description |
---|---|
Converter<System.String, float3x3> | The parse property. |
Methods
Add(float3x3, float3x3)
Adds two instances.
Declaration
public static float3x3 Add(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | The left operand of the addition. |
float3x3 | right | The right operand of the addition. |
Returns
Type | Description |
---|---|
float3x3 | A new instance that is the result of the addition. |
Equals(float3x3)
Indicates whether the current matrix is equal to another matrix.
Declaration
public bool Equals(float3x3 other)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | other | A matrix to compare with this matrix. |
Returns
Type | Description |
---|---|
System.Boolean | 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
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj | The object to compare tresult. |
Returns
Type | Description |
---|---|
System.Boolean | True if the instances are equal; false otherwise. |
Overrides
GetHashCode()
Returns the hashcode for this instance.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
System.Int32 | A System.Int32 containing the unique hashcode for this instance. |
Overrides
Mult(float3x3, float3x3)
Multiplies two instances.
Declaration
public static float3x3 Mult(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | The left operand of the multiplication. |
float3x3 | right | The right operand of the multiplication. |
Returns
Type | Description |
---|---|
float3x3 | A new instance that is the result of the multiplication |
Parse(String, IFormatProvider)
Parses a string into a float3x3.
Declaration
public static float3x3 Parse(string source, IFormatProvider provider = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | source | |
System.IFormatProvider | provider |
Returns
Type | Description |
---|---|
float3x3 |
Subtract(float3x3, float3x3)
Subtracts the right instance from the left instance.
Declaration
public static float3x3 Subtract(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | The left operand of the subtraction. |
float3x3 | right | The right operand of the subtraction. |
Returns
Type | Description |
---|---|
float3x3 | A new instance that is the result of the subtraction. |
ToArray()
Returns this matrix as an array
Declaration
public float[] ToArray()
Returns
Type | Description |
---|---|
System.Single[] |
ToString()
Returns a System.String that represents the current float3x3.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
System.String | A string. |
Overrides
ToString(IFormatProvider)
Returns a System.String that represents the current float3x3.
Declaration
public string ToString(IFormatProvider provider)
Parameters
Type | Name | Description |
---|---|---|
System.IFormatProvider | provider | Provides information about a specific culture. |
Returns
Type | Description |
---|---|
System.String | A System.String that represents this instance. |
Transform(float2, float3x3)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float2 Transform(float2 vector, float3x3 matrix)
Parameters
Type | Name | Description |
---|---|---|
float2 | vector | A float2 instance. |
float3x3 | matrix | A float3x3 instance. |
Returns
Type | Description |
---|---|
float2 | A new float2 instance containing the result. |
Transform(float3, float3x3)
Transforms a given vector by a matrix via vector*matrix (pre-multiplication of the vector).
Declaration
public static float3 Transform(float3 vector, float3x3 matrix)
Parameters
Type | Name | Description |
---|---|---|
float3 | vector | A float3 instance. |
float3x3 | matrix | A float3x3 instance. |
Returns
Type | Description |
---|---|
float3 | A new float3 instance containing the result. |
Transform(float3x3, float2)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float2 Transform(float3x3 matrix, float2 vector)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | matrix | A float3x3 instance. |
float2 | vector | A float2 instance. |
Returns
Type | Description |
---|---|
float2 | A new float2 instance containing the result. |
Transform(float3x3, float3)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float3 Transform(float3x3 matrix, float3 vector)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | matrix | A float3x3 instance. |
float3 | vector | A float3 instance. |
Returns
Type | Description |
---|---|
float3 | A new float3 instance containing the result. |
Transpose()
Returns the transposes of this instance.
Declaration
public float3x3 Transpose()
Returns
Type | Description |
---|---|
float3x3 |
Transpose(float3x3)
Calculate the transpose of the given matrix
Declaration
public static float3x3 Transpose(float3x3 mat)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | mat | The matrix to transpose |
Returns
Type | Description |
---|---|
float3x3 | The transpose of the given matrix |
Operators
Addition(float3x3, float3x3)
Matrix addition
Declaration
public static float3x3 operator +(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | left-hand operand |
float3x3 | right | right-hand operand |
Returns
Type | Description |
---|---|
float3x3 | A new float3x3 which holds the result of the multiplication |
Equality(float3x3, float3x3)
Compares two instances for equality.
Declaration
public static bool operator ==(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | The first instance. |
float3x3 | right | The second instance. |
Returns
Type | Description |
---|---|
System.Boolean | True, if left equals right; false otherwise. |
Inequality(float3x3, float3x3)
Compares two instances for inequality.
Declaration
public static bool operator !=(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | The first instance. |
float3x3 | right | The second instance. |
Returns
Type | Description |
---|---|
System.Boolean | True, if left does not equal right; false otherwise. |
Multiply(float2, float3x3)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float2 operator *(float2 vector, float3x3 matrix)
Parameters
Type | Name | Description |
---|---|---|
float2 | vector | A float2 instance. |
float3x3 | matrix | A float3x3 instance. |
Returns
Type | Description |
---|---|
float2 | A new float2 instance containing the result. |
Multiply(float3, float3x3)
Transforms a given vector by a matrix via vector*matrix (pre-multiplication of the vector).
Declaration
public static float3 operator *(float3 vector, float3x3 matrix)
Parameters
Type | Name | Description |
---|---|---|
float3 | vector | A float3 instance. |
float3x3 | matrix | A float3x3 instance. |
Returns
Type | Description |
---|---|
float3 | A new float3 instance containing the result. |
Multiply(float3x3, float2)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float2 operator *(float3x3 matrix, float2 vector)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | matrix | A float3x3 instance. |
float2 | vector | A float2 instance. |
Returns
Type | Description |
---|---|
float2 | A new float2 instance containing the result. |
Multiply(float3x3, float3)
Transforms a given vector by a matrix via matrix*vector (post-multiplication of the vector).
Declaration
public static float3 operator *(float3x3 matrix, float3 vector)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | matrix | A float3x3 instance. |
float3 | vector | A float3 instance. |
Returns
Type | Description |
---|---|
float3 | A new float3 instance containing the result. |
Multiply(float3x3, float3x3)
Matrix multiplication
Declaration
public static float3x3 operator *(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | left-hand operand |
float3x3 | right | right-hand operand |
Returns
Type | Description |
---|---|
float3x3 | A new Float3x3 which holds the result of the multiplication |
Subtraction(float3x3, float3x3)
Matrix subtraction
Declaration
public static float3x3 operator -(float3x3 left, float3x3 right)
Parameters
Type | Name | Description |
---|---|---|
float3x3 | left | left-hand operand |
float3x3 | right | right-hand operand |
Returns
Type | Description |
---|---|
float3x3 | A new float2x2 which holds the result of the multiplication |