Assembly: VRage.Math.dll

public struct MatrixD: IEquatable<MatrixD>

Defines a matrix.

Fields

Member Description
static Identity
static Zero
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.
M14 Value at row 1 column 4 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.
M24 Value at row 2 column 4 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.
M34 Value at row 3 column 4 of the matrix.
M41 Value at row 4 column 1 of the matrix.
M42 Value at row 4 column 2 of the matrix.
M43 Value at row 4 column 3 of the matrix.
M44 Value at row 4 column 4 of the matrix.

Properties

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

Implements: