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

VRageMath.MatrixD

Morten Aune Lyrstad edited this page Apr 16, 2022 · 59 revisions

IndexNamespace Index

MatrixD Struct

public struct MatrixD: IEquatable

Defines a matrix.

Namespace: VRageMath
Assembly: VRage.Math.dll

Implements:

Fields

Member Description
static MatrixD Identity
static MatrixD Zero
double M11 Value at row 1 column 1 of the matrix.
double M12 Value at row 1 column 2 of the matrix.
double M13 Value at row 1 column 3 of the matrix.
double M14 Value at row 1 column 4 of the matrix.
double M21 Value at row 2 column 1 of the matrix.
double M22 Value at row 2 column 2 of the matrix.
double M23 Value at row 2 column 3 of the matrix.
double M24 Value at row 2 column 4 of the matrix.
double M31 Value at row 3 column 1 of the matrix.
double M32 Value at row 3 column 2 of the matrix.
double M33 Value at row 3 column 3 of the matrix.
double M34 Value at row 3 column 4 of the matrix.
double M41 Value at row 4 column 1 of the matrix.
double M42 Value at row 4 column 2 of the matrix.
double M43 Value at row 4 column 3 of the matrix.
double M44 Value at row 4 column 4 of the matrix.

Properties

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

Constructors

Member Description
MatrixD(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)
MatrixD(double, double, double, double, double, double, double, double, double)
MatrixD(Matrix)

Methods

Member Description
static MatrixD Add(MatrixD, MatrixD) Adds a matrix to another matrix.
static void Add(ref MatrixD, ref MatrixD, out MatrixD) Adds a matrix to another matrix.
static MatrixD AlignRotationToAxes(ref MatrixD, ref MatrixD)
static MatrixD CreateBillboard(Vector3D, Vector3D, Vector3D, Vector3D?) Creates a spherical billboard that rotates around a specified object position.
static void CreateBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Vector3D?, out MatrixD) Creates a spherical billboard that rotates around a specified object position.
static MatrixD CreateConstrainedBillboard(Vector3D, Vector3D, Vector3D, Vector3D?, Vector3D?) Creates a cylindrical billboard that rotates around a specified axis.
static void CreateConstrainedBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Vector3D?, Vector3D?, out MatrixD) Creates a cylindrical billboard that rotates around a specified axis.
static MatrixD CreateFromAxisAngle(Vector3D, double) Creates a new Matrix that rotates around an arbitrary vector.
static void CreateFromAxisAngle(ref Vector3D, double, out MatrixD) Creates a new Matrix that rotates around an arbitrary vector.
static MatrixD CreateFromDir(Vector3D)
static MatrixD CreateFromDir(Vector3D, Vector3D)
static MatrixD CreateFromQuaternion(Quaternion) Creates a rotation Matrix from a Quaternion.
static MatrixD CreateFromQuaternion(QuaternionD)
static void CreateFromQuaternion(ref Quaternion, out MatrixD) Creates a rotation Matrix from a Quaternion.
static MatrixD CreateFromTransformScale(Quaternion, Vector3D, Vector3D)
static MatrixD CreateFromYawPitchRoll(double, double, double) Creates a new rotation matrix from a specified yaw, pitch, and roll.
static void CreateFromYawPitchRoll(double, double, double, out MatrixD) Fills in a rotation matrix from a specified yaw, pitch, and roll.
static MatrixD CreateLookAt(Vector3D, Vector3D, Vector3)
static MatrixD CreateLookAt(Vector3D, Vector3D, Vector3D) Creates a view matrix.
static void CreateLookAt(ref Vector3D, ref Vector3D, ref Vector3D, out MatrixD) Creates a view matrix.
static MatrixD CreateLookAtInverse(Vector3D, Vector3D, Vector3D)
static MatrixD CreateOrthographic(double, double, double, double) Builds an orthogonal projection matrix.
static void CreateOrthographic(double, double, double, double, out MatrixD) Builds an orthogonal projection matrix.
static MatrixD CreateOrthographicOffCenter(double, double, double, double, double, double) Builds a customized, orthogonal projection matrix.
static void CreateOrthographicOffCenter(double, double, double, double, double, double, out MatrixD) Builds a customized, orthogonal projection matrix.
static MatrixD CreatePerspective(double, double, double, double) Builds a perspective projection matrix and returns the result by value.
static void CreatePerspective(double, double, double, double, out MatrixD) Builds a perspective projection matrix and returns the result by reference.
static MatrixD CreatePerspectiveFieldOfView(double, double, double, double) Builds a perspective projection matrix based on a field of view and returns by value.
static void CreatePerspectiveFieldOfView(double, double, double, double, out MatrixD) Builds a perspective projection matrix based on a field of view and returns by reference.
static MatrixD CreatePerspectiveOffCenter(double, double, double, double, double, double) Builds a customized, perspective projection matrix.
static void CreatePerspectiveOffCenter(double, double, double, double, double, double, out MatrixD) Builds a customized, perspective projection matrix.
static MatrixD CreateReflection(Plane) Creates a Matrix that reflects the coordinate system about a specified Plane.
static void CreateReflection(ref Plane, out MatrixD) Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane.
static MatrixD CreateRotationX(double) Returns a matrix that can be used to rotate a set of vertices around the x-axis.
static void CreateRotationX(double, out MatrixD) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis.
static MatrixD CreateRotationY(double) Returns a matrix that can be used to rotate a set of vertices around the y-axis.
static void CreateRotationY(double, out MatrixD) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis.
static MatrixD CreateRotationZ(double) Returns a matrix that can be used to rotate a set of vertices around the z-axis.
static void CreateRotationZ(double, out MatrixD) Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis.
static MatrixD CreateScale(double, double, double) Creates a scaling Matrix.
static void CreateScale(double, double, double, out MatrixD) Creates a scaling Matrix.
static MatrixD CreateScale(Vector3D) Creates a scaling Matrix.
static void CreateScale(ref Vector3D, out MatrixD) Creates a scaling Matrix.
static MatrixD CreateScale(double) Creates a scaling Matrix.
static void CreateScale(double, out MatrixD) Creates a scaling Matrix.
static MatrixD CreateShadow(Vector3D, Plane) Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.
static void CreateShadow(ref Vector3D, ref Plane, out MatrixD) Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source.
static MatrixD CreateTranslation(Vector3D) Creates a translation Matrix.
static MatrixD CreateTranslation(Vector3)
static void CreateTranslation(ref Vector3D, out MatrixD) Creates a translation Matrix.
static MatrixD CreateTranslation(double, double, double) Creates a translation Matrix.
static void CreateTranslation(double, double, double, out MatrixD) Creates a translation Matrix.
static MatrixD CreateWorld(Vector3D, Vector3, Vector3)
static MatrixD CreateWorld(Vector3D)
static MatrixD CreateWorld(Vector3D, Vector3D, Vector3D) Creates a world matrix with the specified parameters.
static void CreateWorld(ref Vector3D, ref Vector3D, ref Vector3D, out MatrixD) Creates a world matrix with the specified parameters.
static MatrixD Divide(MatrixD, MatrixD) Divides the components of a matrix by the corresponding components of another matrix.
static void Divide(ref MatrixD, ref MatrixD, out MatrixD) Divides the components of a matrix by the corresponding components of another matrix.
static MatrixD Divide(MatrixD, double) Divides the components of a matrix by a scalar.
static void Divide(ref MatrixD, double, out MatrixD) Divides the components of a matrix by a scalar.
static bool GetEulerAnglesXYZ(ref MatrixD, out Vector3D)
static MatrixD Invert(MatrixD) Calculates the inverse of a matrix.
static MatrixD Invert(ref MatrixD)
static void Invert(ref MatrixD, out MatrixD) Calculates the inverse of a matrix.
static MatrixD Lerp(MatrixD, MatrixD, double) Linearly interpolates between the corresponding values of two matrices.
static void Lerp(ref MatrixD, ref MatrixD, double, out MatrixD) Linearly interpolates between the corresponding values of two matrices.
static MatrixD Multiply(MatrixD, MatrixD) Multiplies a matrix by another matrix.
static MatrixD Multiply(MatrixD, Matrix) Multiplies a matrix by another matrix.
static void Multiply(ref MatrixD, ref Matrix, out MatrixD) Multiplies a matrix by another matrix.
static void Multiply(ref Matrix, ref MatrixD, out MatrixD)
static void Multiply(ref MatrixD, ref MatrixD, out MatrixD) Multiplies a matrix by another matrix.
static MatrixD Multiply(MatrixD, double) Multiplies a matrix by a scalar value.
static void Multiply(ref MatrixD, double, out MatrixD) Multiplies a matrix by a scalar value.
static MatrixD Negate(MatrixD) Negates individual elements of a matrix.
static void Negate(ref MatrixD, out MatrixD) Negates individual elements of a matrix.
static MatrixD Normalize(MatrixD)
static MatrixD Orthogonalize(MatrixD)
static void Rescale(ref MatrixD, double) Same result as Matrix.CreateScale(scale) * matrix, but much faster
static void Rescale(ref MatrixD, float) Same result as Matrix.CreateScale(scale) * matrix, but much faster
static void Rescale(ref MatrixD, ref Vector3D) Same result as Matrix.CreateScale(scale) * matrix, but much faster
static MatrixD Rescale(MatrixD, double)
static MatrixD Rescale(MatrixD, Vector3D)
static void Slerp(ref MatrixD, ref MatrixD, double, out MatrixD) Performs spherical linear interpolation of position and rotation.
static MatrixD Slerp(MatrixD, MatrixD, double) Performs spherical linear interpolation of position and rotation.
static void SlerpScale(ref MatrixD, ref MatrixD, double, out MatrixD) Performs spherical linear interpolation of position and rotation and scale.
static void SlerpScale(MatrixD, MatrixD, double, out MatrixD) Performs spherical linear interpolation of position and rotation and scale.
static MatrixD SlerpScale(MatrixD, MatrixD, double) Performs spherical linear interpolation of position and rotation and scale.
static void Subtract(ref MatrixD, ref MatrixD, out MatrixD) Subtracts matrices.
static Matrix Subtract(Matrix, Matrix) Subtracts matrices.
static MatrixD SwapYZCoordinates(MatrixD)
static MatrixD Transform(MatrixD, Quaternion) Transforms a Matrix by applying a Quaternion rotation.
static void Transform(ref MatrixD, ref Quaternion, out MatrixD) Transforms a Matrix by applying a Quaternion rotation.
static MatrixD Transpose(MatrixD) Transposes the rows and columns of a matrix.
static void Transpose(ref MatrixD, out MatrixD) Transposes the rows and columns of a matrix.
void AssertIsValid([string])
double Determinant() Calculates the determinant of the matrix.
bool Equals(MatrixD) Determines whether the specified Object is equal to the Matrix.
bool Equals(object) Returns a value that indicates whether the current instance is equal to a specified object.
bool EqualsFast(ref MatrixD, [double]) Compares just position, forward and up
Direction GetClosestDirection(Vector3D)
Direction GetClosestDirection(ref Vector3D)
Vector3D GetDirectionVector(Direction)
int GetHashCode() Gets the hash code of this object.
MatrixD GetOrientation() Gets the orientation.
Vector4D GetRow(int)
bool HasNoTranslationOrPerspective() Returns true if this matrix represents invertible (you can call Invert on it) linear (it does not contain translation or perspective transformation) transformation. Such matrix consist solely of rotations, shearing, mirroring and scaling. It can be orthogonalized to create an orthogonal rotation matrix.
bool IsMirrored()
bool IsNan()
bool IsOrthogonal()
bool IsOrthogonal(double)
bool IsRotation()
bool IsValid()
void Orthogonalize()
void SetDirectionVector(Direction, Vector3D)
void SetFrom(ref Matrix)
void SetRotationAndScale(ref Matrix)
void SetRow(int, Vector4)
string ToString() Retrieves a string representation of the current object.
Clone this wiki locally