This repository was archived by the owner on Dec 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 123
VRageMath.MatrixD
Malware edited this page Dec 21, 2018
·
60 revisions
← Index
Namespace: VRageMath
Assembly: VRage.Math.dll
Defines a matrix.
| 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. |
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. |
static Identity
|
|
static Zero
|
| Member | Description |
|---|---|
Col0 |
|
Col1 |
|
Col2 |
|
Up |
Gets and sets the up vector of the Matrix. |
Down |
Gets and sets the down vector of the Matrix. |
Right |
Gets and sets the right vector of the Matrix. |
Left |
Gets and sets the left vector of the Matrix. |
Forward |
Gets and sets the forward vector of the Matrix. |
Backward |
Gets and sets the backward vector of the Matrix. |
Scale |
|
Translation |
Gets and sets the translation vector of the Matrix. |
Rotation |
|
Item |
| Member | Description |
|---|---|
static Subtract(Matrix, Matrix)
|
Subtracts matrices. |
static Subtract(ref MatrixD, ref MatrixD, ref MatrixD)
|
Subtracts 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, ref MatrixD)
|
Multiplies a matrix by another matrix. |
static Multiply(ref Matrix, ref MatrixD, ref MatrixD)
|
|
static Multiply(ref MatrixD, ref MatrixD, ref MatrixD)
|
Multiplies a matrix by another matrix. |
static Multiply(MatrixD, double)
|
Multiplies a matrix by a scalar value. |
static Multiply(ref MatrixD, double, ref MatrixD)
|
Multiplies a matrix by a scalar value. |
static Divide(MatrixD, MatrixD)
|
Divides the components of a matrix by the corresponding components of another matrix. |
static Divide(ref MatrixD, ref MatrixD, ref 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, ref MatrixD)
|
Divides the components of a matrix by a scalar. |
GetOrientation() |
Gets the orientation. |
AssertIsValid() |
|
IsValid() |
|
IsNan() |
|
IsRotation() |
|
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 CreateFromDir(Vector3D)
|
|
static CreateFromDir(Vector3D, Vector3D)
|
|
static Normalize(MatrixD)
|
|
Orthogonalize() |
|
static Orthogonalize(MatrixD)
|
|
static AlignRotationToAxes(ref MatrixD, ref MatrixD)
|
|
static GetEulerAnglesXYZ(ref MatrixD, ref Vector3D)
|
|
static SwapYZCoordinates(MatrixD)
|
|
IsMirrored() |
|
GetDirectionVector(Direction) |
|
SetDirectionVector(Direction, Vector3D) |
|
GetClosestDirection(Vector3D) |
|
GetClosestDirection(ref Vector3D) |
|
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 CreateBillboard(Vector3D, Vector3D, Vector3D, Nullable<Vector3D>)
|
Creates a spherical billboard that rotates around a specified object position. |
static CreateBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Nullable<Vector3D>, ref MatrixD)
|
Creates a spherical billboard that rotates around a specified object position. |
static CreateConstrainedBillboard(Vector3D, Vector3D, Vector3D, Nullable<Vector3D>, Nullable<Vector3D>)
|
Creates a cylindrical billboard that rotates around a specified axis. |
static CreateConstrainedBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Nullable<Vector3D>, Nullable<Vector3D>, ref MatrixD)
|
Creates a cylindrical billboard that rotates around a specified axis. |
static CreateTranslation(Vector3D)
|
Creates a translation Matrix. |
static CreateTranslation(Vector3)
|
|
static CreateTranslation(ref Vector3D, ref MatrixD)
|
Creates a translation Matrix. |
static CreateTranslation(double, double, double)
|
Creates a translation Matrix. |
static CreateTranslation(double, double, double, ref MatrixD)
|
Creates a translation Matrix. |
static CreateScale(double, double, double)
|
Creates a scaling Matrix. |
static CreateScale(double, double, double, ref MatrixD)
|
Creates a scaling Matrix. |
static CreateScale(Vector3D)
|
Creates a scaling Matrix. |
static CreateScale(ref Vector3D, ref MatrixD)
|
Creates a scaling Matrix. |
static CreateScale(double)
|
Creates a scaling Matrix. |
static CreateScale(double, ref MatrixD)
|
Creates a scaling Matrix. |
static CreateRotationX(double)
|
Returns a matrix that can be used to rotate a set of vertices around the x-axis. |
static CreateRotationX(double, ref 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, ref 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, ref MatrixD)
|
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis. |
static CreateFromAxisAngle(Vector3D, double)
|
Creates a new Matrix that rotates around an arbitrary vector. |
static CreateFromAxisAngle(ref Vector3D, double, ref MatrixD)
|
Creates a new Matrix that rotates around an arbitrary vector. |
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, ref MatrixD)
|
Builds a perspective projection matrix based on a field of view and returns by reference. |
static CreatePerspective(double, double, double, double)
|
Builds a perspective projection matrix and returns the result by value. |
static CreatePerspective(double, double, double, double, ref MatrixD)
|
Builds a perspective projection matrix and returns the result by reference. |
static CreatePerspectiveOffCenter(double, double, double, double, double, double)
|
Builds a customized, perspective projection matrix. |
static CreatePerspectiveOffCenter(double, double, double, double, double, double, ref MatrixD)
|
Builds a customized, perspective projection matrix. |
static CreateOrthographic(double, double, double, double)
|
Builds an orthogonal projection matrix. |
static CreateOrthographic(double, double, double, double, ref 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, ref MatrixD)
|
Builds a customized, orthogonal projection matrix. |
static CreateLookAt(Vector3D, Vector3D, Vector3)
|
|
static CreateLookAt(Vector3D, Vector3D, Vector3D)
|
Creates a view matrix. |
static CreateLookAtInverse(Vector3D, Vector3D, Vector3D)
|
|
static CreateLookAt(ref Vector3D, ref Vector3D, ref Vector3D, ref MatrixD)
|
Creates a view 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, ref MatrixD)
|
Creates a world matrix with the specified parameters. |
static CreateFromQuaternion(Quaternion)
|
Creates a rotation Matrix from a Quaternion. |
static CreateFromQuaternion(QuaternionD)
|
|
static CreateFromQuaternion(ref Quaternion, ref MatrixD)
|
Creates a rotation Matrix from a Quaternion. |
static CreateFromYawPitchRoll(double, double, double)
|
Creates a new rotation matrix from a specified yaw, pitch, and roll. |
static CreateFromYawPitchRoll(double, double, double, ref MatrixD)
|
Fills in a rotation matrix from a specified yaw, pitch, and roll. |
static CreateFromTransformScale(Quaternion, Vector3D, Vector3D)
|
|
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, ref MatrixD)
|
Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source. |
static CreateReflection(Plane)
|
Creates a Matrix that reflects the coordinate system about a specified Plane. |
static CreateReflection(ref Plane, ref MatrixD)
|
Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane. |
static Transform(MatrixD, Quaternion)
|
Transforms a Matrix by applying a Quaternion rotation. |
static Transform(ref MatrixD, ref Quaternion, ref MatrixD)
|
Transforms a Matrix by applying a Quaternion rotation. |
GetRow(int) |
|
SetRow(int, Vector4) |
|
ToString() |
Retrieves a string representation of the current object. |
Equals(MatrixD) |
Determines whether the specified Object is equal to the Matrix. |
EqualsFast(ref MatrixD, double) |
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. |
static Transpose(MatrixD)
|
Transposes the rows and columns of a matrix. |
static Transpose(ref MatrixD, ref MatrixD)
|
Transposes the rows and columns of a matrix. |
Determinant() |
Calculates the determinant of the matrix. |
static Invert(MatrixD)
|
Calculates the inverse of a matrix. |
static Invert(ref MatrixD)
|
|
static Invert(ref MatrixD, ref 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, ref MatrixD)
|
Linearly interpolates between the corresponding values of two matrices. |
static Slerp(ref MatrixD, ref MatrixD, float, ref MatrixD)
|
Performs spherical linear interpolation of position and rotation. |
IsOrthogonal() |
|
IsOrthogonal(double) |
|
static SlerpScale(ref MatrixD, ref MatrixD, float, ref MatrixD)
|
Performs spherical linear interpolation of position and rotation and scale. |
static Slerp(MatrixD, MatrixD, float, ref MatrixD)
|
Performs spherical linear interpolation of position and rotation. |
static Slerp(MatrixD, MatrixD, float)
|
Performs spherical linear interpolation of position and rotation. |
static SlerpScale(MatrixD, MatrixD, float, ref MatrixD)
|
Performs spherical linear interpolation of position and rotation and scale. |
static SlerpScale(MatrixD, MatrixD, float)
|
Performs spherical linear interpolation of position and rotation and scale. |
static Negate(MatrixD)
|
Negates individual elements of a matrix. |
static Negate(ref MatrixD, ref MatrixD)
|
Negates individual elements of a matrix. |
static Add(MatrixD, MatrixD)
|
Adds a matrix to another matrix. |
static Add(ref MatrixD, ref MatrixD, ref MatrixD)
|
Adds a matrix to another matrix. |
Do you have questions, comments, suggestions for improvements? Is there something I can do better? Did I make a mistake? Please add an issue here, and prefix your issue title with Wiki. Thank you, your help will be very appreciated!