Skip to content
This repository was archived by the owner on Dec 13, 2025. It is now read-only.

VRageMath.MatrixD

Malware edited this page Dec 21, 2018 · 60 revisions

Index

MatrixD Struct

Namespace: VRageMath
Assembly: VRage.Math.dll

Summary

Defines a matrix.

Fields

Member Description
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.
static VRageMath.MatrixD Identity
static VRageMath.MatrixD Zero

Properties

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

Methods

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

Clone this wiki locally