-
Notifications
You must be signed in to change notification settings - Fork 123
VRageMath.Matrix
← Index ← Namespace Index
public struct Matrix: IEquatable<Matrix>Defines a matrix.
Namespace: VRageMath
Assembly: VRage.Math.dll
Implements:
Value at row 1 column 1 of the matrix.
Value at row 1 column 2 of the matrix.
Value at row 1 column 3 of the matrix.
Value at row 1 column 4 of the matrix.
Value at row 2 column 1 of the matrix.
Value at row 2 column 2 of the matrix.
Value at row 2 column 3 of the matrix.
Value at row 2 column 4 of the matrix.
Value at row 3 column 1 of the matrix.
Value at row 3 column 2 of the matrix.
Value at row 3 column 3 of the matrix.
Value at row 3 column 4 of the matrix.
Value at row 4 column 1 of the matrix.
Value at row 4 column 2 of the matrix.
Value at row 4 column 3 of the matrix.
Value at row 4 column 4 of the matrix.
Vector3 Backward { get; set; }
Gets and sets the backward vector of the Matrix.
Gets and sets the down vector of the Matrix.
Gets and sets the forward vector of the Matrix.
Gets and sets the left vector of the Matrix.
Gets and sets the right vector of the Matrix.
Vector3 Translation { get; set; }
Gets and sets the translation vector of the Matrix.
Gets and sets the up vector of the Matrix.
Matrix(float, float, float, float, float, float, float, float, float)
static Matrix Add(Matrix, Matrix)
Adds a matrix to another matrix.
static void Add(ref Matrix, ref Matrix, out Matrix)
Adds a matrix to another matrix.
static Matrix AlignRotationToAxes(ref Matrix, ref Matrix)
static Matrix CreateBillboard(Vector3, Vector3, Vector3, Vector3?)
Creates a spherical billboard that rotates around a specified object position.
static void CreateBillboard(ref Vector3, ref Vector3, ref Vector3, Vector3?, out Matrix)
Creates a spherical billboard that rotates around a specified object position.
static Matrix CreateConstrainedBillboard(Vector3, Vector3, Vector3, Vector3?, Vector3?)
Creates a cylindrical billboard that rotates around a specified axis.
Creates a cylindrical billboard that rotates around a specified axis.
static Matrix CreateFromAxisAngle(Vector3, float)
Creates a new Matrix that rotates around an arbitrary vector.
static void CreateFromAxisAngle(ref Vector3, float, out Matrix)
Creates a new Matrix that rotates around an arbitrary vector.
static Matrix CreateFromDir(Vector3)
static Matrix CreateFromDir(Vector3, Vector3)
static Matrix CreateFromPerspectiveFieldOfView(ref Matrix, float, float)
static Matrix CreateFromQuaternion(Quaternion)
Creates a rotation Matrix from a Quaternion.
static void CreateFromQuaternion(ref Quaternion, out Matrix)
Creates a rotation Matrix from a Quaternion.
static Matrix CreateFromTransformScale(Quaternion, Vector3, Vector3)
static Matrix CreateFromYawPitchRoll(float, float, float)
Creates a new rotation matrix from a specified yaw, pitch, and roll.
static void CreateFromYawPitchRoll(float, float, float, out Matrix)
Fills in a rotation matrix from a specified yaw, pitch, and roll.
static Matrix CreateLookAt(Vector3, Vector3, Vector3)
Creates a view matrix.
static void CreateLookAt(ref Vector3, ref Vector3, ref Vector3, out Matrix)
Creates a view matrix.
static Matrix CreateLookAtInverse(Vector3, Vector3, Vector3)
static Matrix CreateOrthographic(float, float, float, float)
Builds an orthogonal projection matrix.
static void CreateOrthographic(float, float, float, float, out Matrix)
Builds an orthogonal projection matrix.
static Matrix CreateOrthographicOffCenter(float, float, float, float, float, float)
Builds a customized, orthogonal projection matrix.
static void CreateOrthographicOffCenter(float, float, float, float, float, float, out Matrix)
Builds a customized, orthogonal projection matrix.
static Matrix CreatePerspective(float, float, float, float)
Builds a perspective projection matrix and returns the result by value.
static void CreatePerspective(float, float, float, float, out Matrix)
Builds a perspective projection matrix and returns the result by reference.
static Matrix CreatePerspectiveFieldOfView(float, float, float, float)
Builds a perspective projection matrix based on a field of view and returns by value.
static void CreatePerspectiveFieldOfView(float, float, float, float, out Matrix)
Builds a perspective projection matrix based on a field of view and returns by reference.
static Matrix CreatePerspectiveFovRhComplementary(float, float, float, float)
static Matrix CreatePerspectiveFovRhInfinite(float, float, float)
static Matrix CreatePerspectiveFovRhInfiniteComplementary(float, float, float)
static Matrix CreatePerspectiveFovRhInfiniteComplementaryInverse(float, float, float)
static Matrix CreatePerspectiveFovRhInfiniteInverse(float, float, float)
static Matrix CreatePerspectiveFovRhInverse(float, float, float, float)
static Matrix CreatePerspectiveOffCenter(float, float, float, float, float, float)
Builds a customized, perspective projection matrix.
static void CreatePerspectiveOffCenter(float, float, float, float, float, float, out Matrix)
Builds a customized, perspective projection matrix.
static Matrix CreateReflection(Plane)
Creates a Matrix that reflects the coordinate system about a specified Plane.
static void CreateReflection(ref Plane, out Matrix)
Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane.
static void CreateRotationFromTwoVectors(ref Vector3, ref Vector3, out Matrix)
static Matrix CreateRotationX(float)
Returns a matrix that can be used to rotate a set of vertices around the x-axis.
static void CreateRotationX(float, out Matrix)
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis.
static Matrix CreateRotationY(float)
Returns a matrix that can be used to rotate a set of vertices around the y-axis.
static void CreateRotationY(float, out Matrix)
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis.
static Matrix CreateRotationZ(float)
Returns a matrix that can be used to rotate a set of vertices around the z-axis.
static void CreateRotationZ(float, out Matrix)
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis.
static Matrix CreateScale(float, float, float)
Creates a scaling Matrix.
static void CreateScale(float, float, float, out Matrix)
Creates a scaling Matrix.
static Matrix CreateScale(Vector3)
Creates a scaling Matrix.
static void CreateScale(ref Vector3, out Matrix)
Creates a scaling Matrix.
static Matrix CreateScale(float)
Creates a scaling Matrix.
static void CreateScale(float, out Matrix)
Creates a scaling Matrix.
static Matrix CreateShadow(Vector3, 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 Vector3, ref Plane, out Matrix)
Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source.
static Matrix CreateTranslation(Vector3)
Creates a translation Matrix.
static void CreateTranslation(ref Vector3, out Matrix)
Creates a translation Matrix.
static Matrix CreateTranslation(float, float, float)
Creates a translation Matrix.
static void CreateTranslation(float, float, float, out Matrix)
Creates a translation Matrix.
static Matrix CreateWorld(Vector3)
static Matrix CreateWorld(Vector3, Vector3, Vector3)
Creates a world matrix with the specified parameters.
static void CreateWorld(ref Vector3, ref Vector3, ref Vector3, out Matrix)
Creates a world matrix with the specified parameters.
static Matrix Divide(Matrix, Matrix)
Divides the components of a matrix by the corresponding components of another matrix.
static void Divide(ref Matrix, ref Matrix, out Matrix)
Divides the components of a matrix by the corresponding components of another matrix.
static Matrix Divide(Matrix, float)
Divides the components of a matrix by a scalar.
static void Divide(ref Matrix, float, out Matrix)
Divides the components of a matrix by a scalar.
static bool GetEulerAnglesXYZ(ref Matrix, out Vector3)
Calculates the inverse of a matrix.
static Matrix Invert(ref Matrix)
static void Invert(ref Matrix, out Matrix)
Calculates the inverse of a matrix.
static Matrix Lerp(Matrix, Matrix, float)
Linearly interpolates between the corresponding values of two matrices.
static void Lerp(ref Matrix, ref Matrix, float, out Matrix)
Linearly interpolates between the corresponding values of two matrices.
static Matrix Multiply(Matrix, Matrix)
Multiplies a matrix by another matrix.
static void Multiply(ref Matrix, ref Matrix, out Matrix)
Multiplies a matrix by another matrix.
static Matrix Multiply(Matrix, float)
Multiplies a matrix by a scalar value.
static void Multiply(ref Matrix, float, out Matrix)
Multiplies a matrix by a scalar value.
static void MultiplyRotation(ref Matrix, ref Matrix, out Matrix)
Multiplies a matrix by another matrix, only rotation parts.
Negates individual elements of a matrix.
static void Negate(ref Matrix, out Matrix)
Negates individual elements of a matrix.
static Matrix Normalize(Matrix)
static Matrix Orthogonalize(Matrix)
static void Rescale(ref Matrix, float)
Same result as Matrix.CreateScale(scale) * matrix, but much faster
static void Rescale(ref Matrix, ref Vector3)
Same result as Matrix.CreateScale(scale) * matrix, but much faster
static Matrix Rescale(Matrix, float)
static Matrix Rescale(Matrix, Vector3)
static Matrix Round(ref Matrix)
static void Slerp(ref Matrix, ref Matrix, float, out Matrix)
Performs spherical linear interpolation of position and rotation.
static void Slerp(Matrix, Matrix, float, out Matrix)
Performs spherical linear interpolation of position and rotation.
static Matrix Slerp(Matrix, Matrix, float)
Performs spherical linear interpolation of position and rotation.
static void SlerpScale(ref Matrix, ref Matrix, float, out Matrix)
Performs spherical linear interpolation of position and rotation and scale.
static void SlerpScale(Matrix, Matrix, float, out Matrix)
Performs spherical linear interpolation of position and rotation and scale.
static Matrix SlerpScale(Matrix, Matrix, float)
Performs spherical linear interpolation of position and rotation and scale.
static void Subtract(ref Matrix, ref Matrix, out Matrix)
Subtracts matrices.
static Matrix Subtract(Matrix, Matrix)
Subtracts matrices.
static Matrix SwapYZCoordinates(Matrix)
static Matrix Transform(Matrix, Quaternion)
Transforms a Matrix by applying a Quaternion rotation.
static void Transform(ref Matrix, ref Quaternion, out Matrix)
Transforms a Matrix by applying a Quaternion rotation.
static Matrix Transpose(Matrix)
Transposes the rows and columns of a matrix.
static void Transpose(ref Matrix, out Matrix)
Transposes the rows and columns of a matrix.
Calculates the determinant of the matrix.
Determines whether the specified Object is equal to the Matrix.
Returns a value that indicates whether the current instance is equal to a specified object.
bool EqualsFast(ref Matrix, float = 0.0001)
Compares just position, forward and up
Direction GetClosestDirection(Vector3)
Direction GetClosestDirection(ref Vector3)
Vector3 GetDirectionVector(Direction)
Gets the hash code of this object.
Gets the orientation.
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.
void SetDirectionVector(Direction, Vector3)
Set this ma
void SetRotationAndScale(ref MatrixD)
Retrieves a string representation of the current object.
void TransposeRotationInPlace()
Transposes the rows and columns of a matrix that is assumed to be rotation only in place.
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!