Show / Hide Table of Contents

Struct float3x3

Represents a 3x3 Matrix

Implements
System.IEquatable<float3x3>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
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
System.ValueType.Equals(System.Object)

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
System.ValueType.GetHashCode()

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
System.ValueType.ToString()

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

Implements

System.IEquatable<T>
Generated by DocFX
GitHub Repo
Back to top