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 Apr 16, 2022 · 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
static Matrix3x3 Identity
static Matrix3x3 Zero
float M11 Value at row 1 column 1 of the matrix.
float M12 Value at row 1 column 2 of the matrix.
float M13 Value at row 1 column 3 of the matrix.
float M21 Value at row 2 column 1 of the matrix.
float M22 Value at row 2 column 2 of the matrix.
float M23 Value at row 2 column 3 of the matrix.
float M31 Value at row 3 column 1 of the matrix.
float M32 Value at row 3 column 2 of the matrix.
float M33 Value at row 3 column 3 of the matrix.

Properties

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

Constructors

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

Methods

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