Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

VRageMath.Matrix3x3

Morten Aune Lyrstad edited this page Feb 17, 2020 · 52 revisions

IndexNamespace Index

Matrix3x3 Struct

public struct Matrix3x3: IEquatable<VRageMath.Matrix3x3>

Defines a matrix.

Namespace: VRageMath
Assembly: VRage.Math.dll

Implements:

Fields

Member Description
M11 Value at row 1 column 1 of the matrix.
M12 Value at row 1 column 2 of the matrix.
M13 Value at row 1 column 3 of the matrix.
M21 Value at row 2 column 1 of the matrix.
M22 Value at row 2 column 2 of the matrix.
M23 Value at row 2 column 3 of the matrix.
M31 Value at row 3 column 1 of the matrix.
M32 Value at row 3 column 2 of the matrix.
M33 Value at row 3 column 3 of the matrix.
Identity
Zero

Properties

Member Description
Up { get; set; } Gets and sets the up vector of the Matrix3x3.
Down { get; set; } Gets and sets the down vector of the Matrix3x3.
Right { get; set; } Gets and sets the right vector of the Matrix3x3.
Col0 { get; }
Col1 { get; }
Col2 { get; }
Left { get; set; } Gets and sets the left vector of the Matrix3x3.
Forward { get; set; } Gets and sets the forward vector of the Matrix3x3.
Backward { get; set; } Gets and sets the backward vector of the Matrix3x3.
Scale { get; }
Item { get; set; }

Constructors

Member Description
Matrix3x3(float, float, float, float, float, float, float, float, float)
Matrix3x3(Matrix3x3)
Matrix3x3(MatrixD)

Methods

Member Description
GetDirectionVector(Direction)
SetDirectionVector(Direction, Vector3)
GetClosestDirection(Vector3)
GetClosestDirection(ref Vector3)
Rescale(ref Matrix3x3, float) Same result as Matrix3x3.CreateScale(scale) * matrix, but much faster
Rescale(ref Matrix3x3, ref Vector3) Same result as Matrix3x3.CreateScale(scale) * matrix, but much faster
Rescale(Matrix3x3, float)
Rescale(Matrix3x3, Vector3)
CreateScale(float, float, float) Creates a scaling Matrix3x3.
CreateScale(float, float, float, out Matrix3x3) Creates a scaling Matrix3x3.
CreateScale(Vector3) Creates a scaling Matrix3x3.
CreateScale(ref Vector3, out Matrix3x3) Creates a scaling Matrix3x3.
CreateScale(float) Creates a scaling Matrix3x3.
CreateScale(float, out Matrix3x3) Creates a scaling Matrix3x3.
CreateRotationX(float) Returns a matrix that can be used to rotate a set of vertices around the x-axis.
CreateRotationX(float, out Matrix3x3) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis.
CreateRotationY(float) Returns a matrix that can be used to rotate a set of vertices around the y-axis.
CreateRotationY(float, out Matrix3x3) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis.
CreateRotationZ(float) Returns a matrix that can be used to rotate a set of vertices around the z-axis.
CreateRotationZ(float, out Matrix3x3) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis.
CreateFromAxisAngle(Vector3, float) Creates a new Matrix3x3 that rotates around an arbitrary vector.
CreateFromAxisAngle(ref Vector3, float, out Matrix3x3) Creates a new Matrix3x3 that rotates around an arbitrary vector.
CreateRotationFromTwoVectors(ref Vector3, ref Vector3, out Matrix3x3)
CreateFromQuaternion(Quaternion) Creates a rotation Matrix3x3 from a Quaternion.
CreateFromQuaternion(ref Quaternion, out Matrix3x3) Creates a rotation Matrix3x3 from a Quaternion.
CreateFromYawPitchRoll(float, float, float) Creates a new rotation matrix from a specified yaw, pitch, and roll.
CreateFromYawPitchRoll(float, float, float, out Matrix3x3) Fills in a rotation matrix from a specified yaw, pitch, and roll.
Transform(ref Matrix3x3, ref Quaternion, out Matrix3x3) Transforms a Matrix3x3 by applying a Quaternion rotation.
GetRow(int)
SetRow(int, Vector3)
ToString() Retrieves a string representation of the current object.
Equals(Matrix3x3) Determines whether the specified Object is equal to the Matrix3x3.
EqualsFast(ref Matrix3x3, float) Compares just position, forward and up
Equals(object) Returns a value that indicates whether the current instance is equal to a specified object.
GetHashCode() Gets the hash code of this object.
Transpose(ref Matrix3x3, out Matrix3x3) Transposes the rows and columns of a matrix.
Transpose()
Determinant()
Invert(ref Matrix3x3, out Matrix3x3) Calculates the inverse of a matrix.
Lerp(ref Matrix3x3, ref Matrix3x3, float, out Matrix3x3) Linearly interpolates between the corresponding values of two matrices.
Slerp(ref Matrix3x3, ref Matrix3x3, float, out Matrix3x3) Performs spherical linear interpolation of position and rotation.
SlerpScale(ref Matrix3x3, ref Matrix3x3, float, out Matrix3x3) Performs spherical linear interpolation of position and rotation and scale.
Negate(ref Matrix3x3, out Matrix3x3) Negates individual elements of a matrix.
Add(ref Matrix3x3, ref Matrix3x3, out Matrix3x3) Adds a matrix to another matrix.
Subtract(ref Matrix3x3, ref Matrix3x3, out Matrix3x3) Subtracts matrices.
Multiply(ref Matrix3x3, ref Matrix3x3, out Matrix3x3) Multiplies a matrix by another matrix.
Multiply(ref Matrix3x3, float, out Matrix3x3) Multiplies a matrix by a scalar value.
Divide(ref Matrix3x3, ref Matrix3x3, out Matrix3x3) Divides the components of a matrix by the corresponding components of another matrix.
Divide(ref Matrix3x3, float, out Matrix3x3) Divides the components of a matrix by a scalar.
GetOrientation() Gets the orientation.
AssertIsValid()
IsValid()
IsNan()
IsRotation()
CreateFromDir(Vector3)
CreateWorld(ref Vector3, ref Vector3) Creates a world matrix with the specified parameters.
CreateFromDir(Vector3, Vector3)
Normalize(Matrix3x3)
Orthogonalize(Matrix3x3)
Round(ref Matrix3x3)
AlignRotationToAxes(ref Matrix3x3, ref Matrix3x3)
GetEulerAnglesXYZ(ref Matrix3x3, out Vector3)
IsMirrored()
IsOrthogonal()
Clone this wiki locally