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  |