Search Results for

    Show / Hide Table of Contents

    Struct Matrix3x3

    Represents a 3x3 matrix.

    Implements
    IEquatable<Matrix3x3>
    Inherited Members
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Evergine.Mathematics
    Assembly: Evergine.Mathematics.dll
    Syntax
    public struct Matrix3x3 : IEquatable<Matrix3x3>

    Constructors

    Matrix3x3(float, float, float, float, float, float, float, float, float)

    Initializes a new instance of the Matrix3x3 struct.

    Declaration
    public Matrix3x3(float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
    Parameters
    Type Name Description
    float m11

    The M11.

    float m12

    The M12.

    float m13

    The M13.

    float m21

    The M21.

    float m22

    The M22.

    float m23

    The M23.

    float m31

    The M31.

    float m32

    The M32.

    float m33

    The M33.

    Fields

    M11

    First row, first column.

    Declaration
    public float M11
    Field Value
    Type Description
    float

    M12

    First row, second column.

    Declaration
    public float M12
    Field Value
    Type Description
    float

    M13

    First row, third column.

    Declaration
    public float M13
    Field Value
    Type Description
    float

    M21

    Second row, first column.

    Declaration
    public float M21
    Field Value
    Type Description
    float

    M22

    Second row, second column.

    Declaration
    public float M22
    Field Value
    Type Description
    float

    M23

    Second row, third column.

    Declaration
    public float M23
    Field Value
    Type Description
    float

    M31

    Third row, first column.

    Declaration
    public float M31
    Field Value
    Type Description
    float

    M32

    Third row, second column.

    Declaration
    public float M32
    Field Value
    Type Description
    float

    M33

    Third row, third column.

    Declaration
    public float M33
    Field Value
    Type Description
    float

    Properties

    Down

    Gets or sets down.

    Declaration
    public Vector2 Down { get; set; }
    Property Value
    Type Description
    Vector2

    Down vector.

    Identity

    Gets the identity.

    Declaration
    public static Matrix3x3 Identity { get; }
    Property Value
    Type Description
    Matrix3x3

    IsIdentity

    Gets a value indicating whether the matrix is the identity matrix.

    Declaration
    public bool IsIdentity { get; }
    Property Value
    Type Description
    bool

    Left

    Gets or sets the left.

    Declaration
    public Vector2 Left { get; set; }
    Property Value
    Type Description
    Vector2

    The left.

    Right

    Gets or sets the right.

    Declaration
    public Vector2 Right { get; set; }
    Property Value
    Type Description
    Vector2

    The right.

    Rotation

    Gets the roll angle.

    Declaration
    public float Rotation { get; }
    Property Value
    Type Description
    float

    Scale

    Gets the scale vector from the matrix.

    Declaration
    public Vector2 Scale { get; }
    Property Value
    Type Description
    Vector2

    Translation

    Gets or sets the translation.

    Declaration
    public Vector2 Translation { get; set; }
    Property Value
    Type Description
    Vector2

    The translation.

    Up

    Gets or sets up.

    Declaration
    public Vector2 Up { get; set; }
    Property Value
    Type Description
    Vector2

    Up vector.

    Methods

    Add(Matrix3x3, Matrix3x3)

    Adds the specified matrix1.

    Declaration
    public static Matrix3x3 Add(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result.

    Add(ref Matrix3x3, ref Matrix3x3, out Matrix3x3)

    Adds the specified matrix1.

    Declaration
    public static void Add(ref Matrix3x3 matrix1, ref Matrix3x3 matrix2, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Matrix3x3 result

    The result.

    CreateFromQuaternion(Quaternion)

    Creates from quaternion.

    Declaration
    public static Matrix3x3 CreateFromQuaternion(Quaternion quaternion)
    Parameters
    Type Name Description
    Quaternion quaternion

    The quaternion.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateFromQuaternion(ref Quaternion, out Matrix3x3)

    Creates from quaternion.

    Declaration
    public static void CreateFromQuaternion(ref Quaternion quaternion, out Matrix3x3 matrix)
    Parameters
    Type Name Description
    Quaternion quaternion

    The quaternion.

    Matrix3x3 matrix

    The matrix.

    CreateRotation(Vector2, float)

    Creates the rotation.

    Declaration
    public static Matrix3x3 CreateRotation(Vector2 translate, float angle)
    Parameters
    Type Name Description
    Vector2 translate

    The translate.

    float angle

    The angle.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateRotation(float)

    Creates the rotation.

    Declaration
    public static Matrix3x3 CreateRotation(float angle)
    Parameters
    Type Name Description
    float angle

    The angle.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateScale(Vector2)

    Creates the scale.

    Declaration
    public static Matrix3x3 CreateScale(Vector2 scales)
    Parameters
    Type Name Description
    Vector2 scales

    The scales.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateScale(ref Vector2, out Matrix3x3)

    Creates the scale.

    Declaration
    public static void CreateScale(ref Vector2 scales, out Matrix3x3 result)
    Parameters
    Type Name Description
    Vector2 scales

    The scales.

    Matrix3x3 result

    The result.

    CreateScale(float)

    Creates the scale.

    Declaration
    public static Matrix3x3 CreateScale(float scale)
    Parameters
    Type Name Description
    float scale

    The scale.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateScale(float, out Matrix3x3)

    Creates the scale.

    Declaration
    public static void CreateScale(float scale, out Matrix3x3 result)
    Parameters
    Type Name Description
    float scale

    The scale.

    Matrix3x3 result

    The result.

    CreateScale(float, float)

    Creates the scale.

    Declaration
    public static Matrix3x3 CreateScale(float xScale, float yScale)
    Parameters
    Type Name Description
    float xScale

    The x scale.

    float yScale

    The y scale.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateScale(float, float, out Matrix3x3)

    Creates the scale.

    Declaration
    public static void CreateScale(float xScale, float yScale, out Matrix3x3 result)
    Parameters
    Type Name Description
    float xScale

    The x scale.

    float yScale

    The y scale.

    Matrix3x3 result

    The result.

    CreateTransform(Vector2, float, Vector2)

    Creates a transform matrix.

    Declaration
    public static Matrix3x3 CreateTransform(Vector2 translate, float angle, Vector2 scale)
    Parameters
    Type Name Description
    Vector2 translate

    2D translation.

    float angle

    Rotation angle.

    Vector2 scale

    Axis scale.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateTransform(Vector2, float, float)

    Creates a transform matrix.

    Declaration
    public static Matrix3x3 CreateTransform(Vector2 translate, float angle, float scale)
    Parameters
    Type Name Description
    Vector2 translate

    2D translation.

    float angle

    Rotation angle.

    float scale

    Axis scale.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateTranslation(Vector2)

    Creates the translation.

    Declaration
    public static Matrix3x3 CreateTranslation(Vector2 position)
    Parameters
    Type Name Description
    Vector2 position

    The position.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateTranslation(ref Vector2, out Matrix3x3)

    Creates the translation.

    Declaration
    public static void CreateTranslation(ref Vector2 position, out Matrix3x3 result)
    Parameters
    Type Name Description
    Vector2 position

    The position.

    Matrix3x3 result

    The result.

    CreateTranslation(float, float)

    Creates the translation.

    Declaration
    public static Matrix3x3 CreateTranslation(float xPosition, float yPosition)
    Parameters
    Type Name Description
    float xPosition

    The x position.

    float yPosition

    The y position.

    Returns
    Type Description
    Matrix3x3

    The result.

    CreateTranslation(float, float, out Matrix3x3)

    Creates the translation.

    Declaration
    public static void CreateTranslation(float xPosition, float yPosition, out Matrix3x3 result)
    Parameters
    Type Name Description
    float xPosition

    The x position.

    float yPosition

    The y position.

    Matrix3x3 result

    The result.

    Determinant()

    Determinants this instance.

    Declaration
    public float Determinant()
    Returns
    Type Description
    float

    The result.

    Equals(Matrix3x3)

    Equalses the specified other.

    Declaration
    public bool Equals(Matrix3x3 other)
    Parameters
    Type Name Description
    Matrix3x3 other

    The other.

    Returns
    Type Description
    bool

    The result.

    Equals(ref Matrix3x3)

    Equalses the specified other.

    Declaration
    public bool Equals(ref Matrix3x3 other)
    Parameters
    Type Name Description
    Matrix3x3 other

    The other.

    Returns
    Type Description
    bool

    The result.

    Equals(object)

    Determines whether the specified object is equal to this instance.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    object obj

    The object to compare with this instance.

    Returns
    Type Description
    bool

    true if the specified object is equal to this instance; otherwise, false.

    Overrides
    ValueType.Equals(object)

    GetHashCode()

    Returns a hash code for this instance.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int

    A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

    Overrides
    ValueType.GetHashCode()

    Invert(Matrix3x3)

    Inverts the specified matrix.

    Declaration
    public static Matrix3x3 Invert(Matrix3x3 matrix)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Returns
    Type Description
    Matrix3x3

    The result.

    Invert(ref Matrix3x3, out Matrix3x3)

    Inverts the specified matrix.

    Declaration
    public static bool Invert(ref Matrix3x3 matrix, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Matrix3x3 result

    The result.

    Returns
    Type Description
    bool

    True if everything ok.

    Lerp(Matrix3x3, Matrix3x3, float)

    Lerps the specified matrix1.

    Declaration
    public static Matrix3x3 Lerp(Matrix3x3 matrix1, Matrix3x3 matrix2, float amount)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    float amount

    The amount.

    Returns
    Type Description
    Matrix3x3

    The result.

    Lerp(ref Matrix3x3, ref Matrix3x3, float, out Matrix3x3)

    Lerps the specified matrix1.

    Declaration
    public static void Lerp(ref Matrix3x3 matrix1, ref Matrix3x3 matrix2, float amount, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    float amount

    The amount.

    Matrix3x3 result

    The result.

    Multiply(Matrix3x3, Matrix3x3)

    Multiplies the specified matrix1.

    Declaration
    public static Matrix3x3 Multiply(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result.

    Multiply(Matrix3x3, float)

    Multiplies the specified matrix1.

    Declaration
    public static Matrix3x3 Multiply(Matrix3x3 matrix1, float scaleFactor)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    float scaleFactor

    The scale factor.

    Returns
    Type Description
    Matrix3x3

    The result.

    Multiply(ref Matrix3x3, ref Matrix3x3, out Matrix3x3)

    Multiplies the specified matrix1.

    Declaration
    public static void Multiply(ref Matrix3x3 matrix1, ref Matrix3x3 matrix2, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Matrix3x3 result

    The result.

    Multiply(ref Matrix3x3, float, out Matrix3x3)

    Multiplies the specified matrix1.

    Declaration
    public static void Multiply(ref Matrix3x3 matrix, float scaleFactor, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix1.

    float scaleFactor

    The scale factor.

    Matrix3x3 result

    The result.

    Negate(Matrix3x3)

    Negates the specified matrix.

    Declaration
    public static Matrix3x3 Negate(Matrix3x3 matrix)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Returns
    Type Description
    Matrix3x3

    The result.

    Negate(ref Matrix3x3, out Matrix3x3)

    Negates the specified matrix.

    Declaration
    public static void Negate(ref Matrix3x3 matrix, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Matrix3x3 result

    The result.

    SetSameDiagonal(float)

    Set the same diagonal values in the matrix.

    Declaration
    public void SetSameDiagonal(float d)
    Parameters
    Type Name Description
    float d

    The diagonal value.

    Subtract(Matrix3x3, Matrix3x3)

    Subtracts the specified matrix1.

    Declaration
    public static Matrix3x3 Subtract(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result.

    Subtract(ref Matrix3x3, ref Matrix3x3, out Matrix3x3)

    Subtracts the specified matrix1.

    Declaration
    public static void Subtract(ref Matrix3x3 matrix1, ref Matrix3x3 matrix2, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Matrix3x3 result

    The result.

    ToMatrix4x4(Matrix3x3)

    Creates a 4x4 matrix from a 3x3 matrix.

    Declaration
    public static Matrix4x4 ToMatrix4x4(Matrix3x3 a)
    Parameters
    Type Name Description
    Matrix3x3 a

    3x3 matrix.

    Returns
    Type Description
    Matrix4x4

    Created 4x4 matrix.

    ToMatrix4x4(ref Matrix3x3, out Matrix4x4)

    Creates a 4x4 matrix from a 3x3 matrix.

    Declaration
    public static void ToMatrix4x4(ref Matrix3x3 a, out Matrix4x4 b)
    Parameters
    Type Name Description
    Matrix3x3 a

    3x3 matrix.

    Matrix4x4 b

    Created 4x4 matrix.

    ToString()

    Returns a string that represents this instance.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    A string that represents this instance.

    Overrides
    ValueType.ToString()

    Transpose(Matrix3x3)

    Transposes the specified matrix.

    Declaration
    public static Matrix3x3 Transpose(Matrix3x3 matrix)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Returns
    Type Description
    Matrix3x3

    The result.

    Transpose(ref Matrix3x3, out Matrix3x3)

    Transposes the specified matrix.

    Declaration
    public static void Transpose(ref Matrix3x3 matrix, out Matrix3x3 result)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    Matrix3x3 result

    The result.

    Operators

    operator +(Matrix3x3, Matrix3x3)

    Implements the operator +.

    Declaration
    public static Matrix3x3 operator +(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator /(Matrix3x3, Matrix3x3)

    Implements the operator /.

    Declaration
    public static Matrix3x3 operator /(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator /(Matrix3x3, float)

    Implements the operator /.

    Declaration
    public static Matrix3x3 operator /(Matrix3x3 matrix, float divider)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix1.

    float divider

    The divider.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator ==(Matrix3x3, Matrix3x3)

    Implements the operator ==.

    Declaration
    public static bool operator ==(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    bool

    The result of the operator.

    operator !=(Matrix3x3, Matrix3x3)

    Implements the operator !=.

    Declaration
    public static bool operator !=(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    bool

    The result of the operator.

    operator *(Matrix3x3, Matrix3x3)

    Implements the operator *.

    Declaration
    public static Matrix3x3 operator *(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator *(Matrix3x3, float)

    Implements the operator *.

    Declaration
    public static Matrix3x3 operator *(Matrix3x3 matrix, float scaleFactor)
    Parameters
    Type Name Description
    Matrix3x3 matrix

    The matrix.

    float scaleFactor

    The scale factor.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator *(float, Matrix3x3)

    Implements the operator *.

    Declaration
    public static Matrix3x3 operator *(float scaleFactor, Matrix3x3 matrix)
    Parameters
    Type Name Description
    float scaleFactor

    The scale factor.

    Matrix3x3 matrix

    The matrix.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator -(Matrix3x3, Matrix3x3)

    Implements the operator -.

    Declaration
    public static Matrix3x3 operator -(Matrix3x3 matrix1, Matrix3x3 matrix2)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Matrix3x3 matrix2

    The matrix2.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    operator -(Matrix3x3)

    Implements the operator -.

    Declaration
    public static Matrix3x3 operator -(Matrix3x3 matrix1)
    Parameters
    Type Name Description
    Matrix3x3 matrix1

    The matrix1.

    Returns
    Type Description
    Matrix3x3

    The result of the operator.

    Implements

    IEquatable<T>

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In This Article
    Back to top
    Generated by DocFX