Class MatrixD
Defines a matrix.
Inheritance
Namespace: VRageMath
Assembly: VRage.Math.dll
Syntax
public sealed class MatrixD : ValueType, IEquatable<MatrixD>
Constructors
MatrixD(Double, Double, Double, Double, Double, Double, Double, Double, Double)
Initializes a new instance of Matrix with rotation data
Declaration
public MatrixD(double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | m11 | Value to initialize m11 to. |
| System.Double | m12 | Value to initialize m12 to. |
| System.Double | m13 | Value to initialize m13 to. |
| System.Double | m21 | Value to initialize m21 to. |
| System.Double | m22 | Value to initialize m22 to. |
| System.Double | m23 | Value to initialize m23 to. |
| System.Double | m31 | Value to initialize m31 to. |
| System.Double | m32 | Value to initialize m32 to. |
| System.Double | m33 | Value to initialize m33 to. |
MatrixD(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)
Initializes a new instance of Matrix.
Declaration
public MatrixD(double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43, double m44)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | m11 | Value to initialize m11 to. |
| System.Double | m12 | Value to initialize m12 to. |
| System.Double | m13 | Value to initialize m13 to. |
| System.Double | m14 | Value to initialize m14 to. |
| System.Double | m21 | Value to initialize m21 to. |
| System.Double | m22 | Value to initialize m22 to. |
| System.Double | m23 | Value to initialize m23 to. |
| System.Double | m24 | Value to initialize m24 to. |
| System.Double | m31 | Value to initialize m31 to. |
| System.Double | m32 | Value to initialize m32 to. |
| System.Double | m33 | Value to initialize m33 to. |
| System.Double | m34 | Value to initialize m34 to. |
| System.Double | m41 | Value to initialize m41 to. |
| System.Double | m42 | Value to initialize m42 to. |
| System.Double | m43 | Value to initialize m43 to. |
| System.Double | m44 | Value to initialize m44 to. |
MatrixD(Matrix)
Declaration
public MatrixD(Matrix m)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | m |
Fields
Identity
Declaration
public static MatrixD Identity
Field Value
| Type | Description |
|---|---|
| MatrixD |
M11
Value at row 1 column 1 of the matrix.
Declaration
public double M11
Field Value
| Type | Description |
|---|---|
| System.Double |
M12
Value at row 1 column 2 of the matrix.
Declaration
public double M12
Field Value
| Type | Description |
|---|---|
| System.Double |
M13
Value at row 1 column 3 of the matrix.
Declaration
public double M13
Field Value
| Type | Description |
|---|---|
| System.Double |
M14
Value at row 1 column 4 of the matrix.
Declaration
public double M14
Field Value
| Type | Description |
|---|---|
| System.Double |
M21
Value at row 2 column 1 of the matrix.
Declaration
public double M21
Field Value
| Type | Description |
|---|---|
| System.Double |
M22
Value at row 2 column 2 of the matrix.
Declaration
public double M22
Field Value
| Type | Description |
|---|---|
| System.Double |
M23
Value at row 2 column 3 of the matrix.
Declaration
public double M23
Field Value
| Type | Description |
|---|---|
| System.Double |
M24
Value at row 2 column 4 of the matrix.
Declaration
public double M24
Field Value
| Type | Description |
|---|---|
| System.Double |
M31
Value at row 3 column 1 of the matrix.
Declaration
public double M31
Field Value
| Type | Description |
|---|---|
| System.Double |
M32
Value at row 3 column 2 of the matrix.
Declaration
public double M32
Field Value
| Type | Description |
|---|---|
| System.Double |
M33
Value at row 3 column 3 of the matrix.
Declaration
public double M33
Field Value
| Type | Description |
|---|---|
| System.Double |
M34
Value at row 3 column 4 of the matrix.
Declaration
public double M34
Field Value
| Type | Description |
|---|---|
| System.Double |
M41
Value at row 4 column 1 of the matrix.
Declaration
public double M41
Field Value
| Type | Description |
|---|---|
| System.Double |
M42
Value at row 4 column 2 of the matrix.
Declaration
public double M42
Field Value
| Type | Description |
|---|---|
| System.Double |
M43
Value at row 4 column 3 of the matrix.
Declaration
public double M43
Field Value
| Type | Description |
|---|---|
| System.Double |
M44
Value at row 4 column 4 of the matrix.
Declaration
public double M44
Field Value
| Type | Description |
|---|---|
| System.Double |
Zero
Declaration
public static MatrixD Zero
Field Value
| Type | Description |
|---|---|
| MatrixD |
Properties
Backward
Gets and sets the backward vector of the Matrix.
Declaration
public Vector3D Backward { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Col0
Declaration
public Vector3D Col0 { get; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Col1
Declaration
public Vector3D Col1 { get; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Col2
Declaration
public Vector3D Col2 { get; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Down
Gets and sets the down vector of the Matrix.
Declaration
public Vector3D Down { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Forward
Gets and sets the forward vector of the Matrix.
Declaration
public Vector3D Forward { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Item[Int32, Int32]
Declaration
public double this[int row, int column] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | row | |
| System.Int32 | column |
Property Value
| Type | Description |
|---|---|
| System.Double |
Left
Gets and sets the left vector of the Matrix.
Declaration
public Vector3D Left { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Right
Gets and sets the right vector of the Matrix.
Declaration
public Vector3D Right { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Rotation
Declaration
public Matrix3x3 Rotation { get; }
Property Value
| Type | Description |
|---|---|
| Matrix3x3 |
Scale
Declaration
public Vector3D Scale { get; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Translation
Gets and sets the translation vector of the Matrix.
Declaration
public Vector3D Translation { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Up
Gets and sets the up vector of the Matrix.
Declaration
public Vector3D Up { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3D |
Methods
Add(MatrixD, MatrixD)
Adds a matrix to another matrix.
Declaration
public static MatrixD Add(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Add(ref MatrixD, ref MatrixD, out MatrixD)
Adds a matrix to another matrix.
Declaration
public static void Add(ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
| MatrixD | result | [OutAttribute] Resulting matrix. |
AlignRotationToAxes(ref MatrixD, ref MatrixD)
Declaration
public static MatrixD AlignRotationToAxes(ref MatrixD toAlign, ref MatrixD axisDefinitionMatrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | toAlign | |
| MatrixD | axisDefinitionMatrix |
Returns
| Type | Description |
|---|---|
| MatrixD |
AssertIsValid(String)
Declaration
public void AssertIsValid(string message = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | message |
CreateBillboard(Vector3D, Vector3D, Vector3D, Nullable<Vector3D>)
Creates a spherical billboard that rotates around a specified object position.
Declaration
public static MatrixD CreateBillboard(Vector3D objectPosition, Vector3D cameraPosition, Vector3D cameraUpVector, Nullable<Vector3D> cameraForwardVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | objectPosition | Position of the object the billboard will rotate around. |
| Vector3D | cameraPosition | Position of the camera. |
| Vector3D | cameraUpVector | The up vector of the camera. |
| System.Nullable<Vector3D> | cameraForwardVector | Optional forward vector of the camera. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Nullable<Vector3D>, out MatrixD)
Creates a spherical billboard that rotates around a specified object position.
Declaration
public static void CreateBillboard(ref Vector3D objectPosition, ref Vector3D cameraPosition, ref Vector3D cameraUpVector, Nullable<Vector3D> cameraForwardVector, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | objectPosition | Position of the object the billboard will rotate around. |
| Vector3D | cameraPosition | Position of the camera. |
| Vector3D | cameraUpVector | The up vector of the camera. |
| System.Nullable<Vector3D> | cameraForwardVector | Optional forward vector of the camera. |
| MatrixD | result | [OutAttribute] The created billboard matrix. |
CreateConstrainedBillboard(Vector3D, Vector3D, Vector3D, Nullable<Vector3D>, Nullable<Vector3D>)
Creates a cylindrical billboard that rotates around a specified axis.
Declaration
public static MatrixD CreateConstrainedBillboard(Vector3D objectPosition, Vector3D cameraPosition, Vector3D rotateAxis, Nullable<Vector3D> cameraForwardVector, Nullable<Vector3D> objectForwardVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | objectPosition | Position of the object the billboard will rotate around. |
| Vector3D | cameraPosition | Position of the camera. |
| Vector3D | rotateAxis | Axis to rotate the billboard around. |
| System.Nullable<Vector3D> | cameraForwardVector | Optional forward vector of the camera. |
| System.Nullable<Vector3D> | objectForwardVector | Optional forward vector of the object. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateConstrainedBillboard(ref Vector3D, ref Vector3D, ref Vector3D, Nullable<Vector3D>, Nullable<Vector3D>, out MatrixD)
Creates a cylindrical billboard that rotates around a specified axis.
Declaration
public static void CreateConstrainedBillboard(ref Vector3D objectPosition, ref Vector3D cameraPosition, ref Vector3D rotateAxis, Nullable<Vector3D> cameraForwardVector, Nullable<Vector3D> objectForwardVector, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | objectPosition | Position of the object the billboard will rotate around. |
| Vector3D | cameraPosition | Position of the camera. |
| Vector3D | rotateAxis | Axis to rotate the billboard around. |
| System.Nullable<Vector3D> | cameraForwardVector | Optional forward vector of the camera. |
| System.Nullable<Vector3D> | objectForwardVector | Optional forward vector of the object. |
| MatrixD | result | [OutAttribute] The created billboard matrix. |
CreateFromAxisAngle(Vector3D, Double)
Creates a new Matrix that rotates around an arbitrary vector.
Declaration
public static MatrixD CreateFromAxisAngle(Vector3D axis, double angle)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | axis | The axis to rotate around. |
| System.Double | angle | The angle to rotate around the vector. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromAxisAngle(ref Vector3D, Double, out MatrixD)
Creates a new Matrix that rotates around an arbitrary vector.
Declaration
public static void CreateFromAxisAngle(ref Vector3D axis, double angle, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | axis | The axis to rotate around. |
| System.Double | angle | The angle to rotate around the vector. |
| MatrixD | result | [OutAttribute] The created Matrix. |
CreateFromDir(Vector3D)
Declaration
public static MatrixD CreateFromDir(Vector3D dir)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | dir |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromDir(Vector3D, Vector3D)
Declaration
public static MatrixD CreateFromDir(Vector3D dir, Vector3D suggestedUp)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | dir | |
| Vector3D | suggestedUp |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromQuaternion(Quaternion)
Creates a rotation Matrix from a Quaternion.
Declaration
public static MatrixD CreateFromQuaternion(Quaternion quaternion)
Parameters
| Type | Name | Description |
|---|---|---|
| Quaternion | quaternion | Quaternion to create the Matrix from. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromQuaternion(ref Quaternion, out MatrixD)
Creates a rotation Matrix from a Quaternion.
Declaration
public static void CreateFromQuaternion(ref Quaternion quaternion, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Quaternion | quaternion | Quaternion to create the Matrix from. |
| MatrixD | result | [OutAttribute] The created Matrix. |
CreateFromQuaternion(QuaternionD)
Declaration
public static MatrixD CreateFromQuaternion(QuaternionD quaternion)
Parameters
| Type | Name | Description |
|---|---|---|
| QuaternionD | quaternion |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromTransformScale(Quaternion, Vector3D, Vector3D)
Declaration
public static MatrixD CreateFromTransformScale(Quaternion orientation, Vector3D position, Vector3D scale)
Parameters
| Type | Name | Description |
|---|---|---|
| Quaternion | orientation | |
| Vector3D | position | |
| Vector3D | scale |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromYawPitchRoll(Double, Double, Double)
Creates a new rotation matrix from a specified yaw, pitch, and roll.
Declaration
public static MatrixD CreateFromYawPitchRoll(double yaw, double pitch, double roll)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | yaw | Angle of rotation, in radians, around the y-axis. |
| System.Double | pitch | Angle of rotation, in radians, around the x-axis. |
| System.Double | roll | Angle of rotation, in radians, around the z-axis. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateFromYawPitchRoll(Double, Double, Double, out MatrixD)
Fills in a rotation matrix from a specified yaw, pitch, and roll.
Declaration
public static void CreateFromYawPitchRoll(double yaw, double pitch, double roll, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | yaw | Angle of rotation, in radians, around the y-axis. |
| System.Double | pitch | Angle of rotation, in radians, around the x-axis. |
| System.Double | roll | Angle of rotation, in radians, around the z-axis. |
| MatrixD | result | [OutAttribute] An existing matrix filled in to represent the specified yaw, pitch, and roll. |
CreateLookAt(Vector3D, Vector3D, Vector3)
Declaration
public static MatrixD CreateLookAt(Vector3D cameraPosition, Vector3D cameraTarget, Vector3 cameraUpVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | cameraPosition | |
| Vector3D | cameraTarget | |
| Vector3 | cameraUpVector |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateLookAt(Vector3D, Vector3D, Vector3D)
Creates a view matrix.
Declaration
public static MatrixD CreateLookAt(Vector3D cameraPosition, Vector3D cameraTarget, Vector3D cameraUpVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | cameraPosition | The position of the camera. |
| Vector3D | cameraTarget | The target towards which the camera is pointing. |
| Vector3D | cameraUpVector | The direction that is "up" from the camera's point of view. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateLookAt(ref Vector3D, ref Vector3D, ref Vector3D, out MatrixD)
Creates a view matrix.
Declaration
public static void CreateLookAt(ref Vector3D cameraPosition, ref Vector3D cameraTarget, ref Vector3D cameraUpVector, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | cameraPosition | The position of the camera. |
| Vector3D | cameraTarget | The target towards which the camera is pointing. |
| Vector3D | cameraUpVector | The direction that is "up" from the camera's point of view. |
| MatrixD | result | [OutAttribute] The created view matrix. |
CreateLookAtInverse(Vector3D, Vector3D, Vector3D)
Declaration
public static MatrixD CreateLookAtInverse(Vector3D cameraPosition, Vector3D cameraTarget, Vector3D cameraUpVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | cameraPosition | |
| Vector3D | cameraTarget | |
| Vector3D | cameraUpVector |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateOrthographic(Double, Double, Double, Double)
Builds an orthogonal projection matrix.
Declaration
public static MatrixD CreateOrthographic(double width, double height, double zNearPlane, double zFarPlane)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | Width of the view volume. |
| System.Double | height | Height of the view volume. |
| System.Double | zNearPlane | Minimum z-value of the view volume. |
| System.Double | zFarPlane | Maximum z-value of the view volume. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateOrthographic(Double, Double, Double, Double, out MatrixD)
Builds an orthogonal projection matrix.
Declaration
public static void CreateOrthographic(double width, double height, double zNearPlane, double zFarPlane, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | Width of the view volume. |
| System.Double | height | Height of the view volume. |
| System.Double | zNearPlane | Minimum z-value of the view volume. |
| System.Double | zFarPlane | Maximum z-value of the view volume. |
| MatrixD | result | [OutAttribute] The projection matrix. |
CreateOrthographicOffCenter(Double, Double, Double, Double, Double, Double)
Builds a customized, orthogonal projection matrix.
Declaration
public static MatrixD CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNearPlane, double zFarPlane)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | left | Minimum x-value of the view volume. |
| System.Double | right | Maximum x-value of the view volume. |
| System.Double | bottom | Minimum y-value of the view volume. |
| System.Double | top | Maximum y-value of the view volume. |
| System.Double | zNearPlane | Minimum z-value of the view volume. |
| System.Double | zFarPlane | Maximum z-value of the view volume. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateOrthographicOffCenter(Double, Double, Double, Double, Double, Double, out MatrixD)
Builds a customized, orthogonal projection matrix.
Declaration
public static void CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNearPlane, double zFarPlane, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | left | Minimum x-value of the view volume. |
| System.Double | right | Maximum x-value of the view volume. |
| System.Double | bottom | Minimum y-value of the view volume. |
| System.Double | top | Maximum y-value of the view volume. |
| System.Double | zNearPlane | Minimum z-value of the view volume. |
| System.Double | zFarPlane | Maximum z-value of the view volume. |
| MatrixD | result | [OutAttribute] The projection matrix. |
CreatePerspective(Double, Double, Double, Double)
Builds a perspective projection matrix and returns the result by value.
Declaration
public static MatrixD CreatePerspective(double width, double height, double nearPlaneDistance, double farPlaneDistance)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | Width of the view volume at the near view plane. |
| System.Double | height | Height of the view volume at the near view plane. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to the far view plane. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreatePerspective(Double, Double, Double, Double, out MatrixD)
Builds a perspective projection matrix and returns the result by reference.
Declaration
public static void CreatePerspective(double width, double height, double nearPlaneDistance, double farPlaneDistance, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | Width of the view volume at the near view plane. |
| System.Double | height | Height of the view volume at the near view plane. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to the far view plane. |
| MatrixD | result | [OutAttribute] The projection matrix. |
CreatePerspectiveFieldOfView(Double, Double, Double, Double)
Builds a perspective projection matrix based on a field of view and returns by value.
Declaration
public static MatrixD CreatePerspectiveFieldOfView(double fieldOfView, double aspectRatio, double nearPlaneDistance, double farPlaneDistance)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | fieldOfView | Field of view in the y direction, in radians. |
| System.Double | aspectRatio | Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to the far view plane. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreatePerspectiveFieldOfView(Double, Double, Double, Double, out MatrixD)
Builds a perspective projection matrix based on a field of view and returns by reference.
Declaration
public static void CreatePerspectiveFieldOfView(double fieldOfView, double aspectRatio, double nearPlaneDistance, double farPlaneDistance, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | fieldOfView | Field of view in the y direction, in radians. |
| System.Double | aspectRatio | Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to the far view plane. |
| MatrixD | result | [OutAttribute] The perspective projection matrix. |
CreatePerspectiveOffCenter(Double, Double, Double, Double, Double, Double)
Builds a customized, perspective projection matrix.
Declaration
public static MatrixD CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double nearPlaneDistance, double farPlaneDistance)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | left | Minimum x-value of the view volume at the near view plane. |
| System.Double | right | Maximum x-value of the view volume at the near view plane. |
| System.Double | bottom | Minimum y-value of the view volume at the near view plane. |
| System.Double | top | Maximum y-value of the view volume at the near view plane. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to of the far view plane. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreatePerspectiveOffCenter(Double, Double, Double, Double, Double, Double, out MatrixD)
Builds a customized, perspective projection matrix.
Declaration
public static void CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double nearPlaneDistance, double farPlaneDistance, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | left | Minimum x-value of the view volume at the near view plane. |
| System.Double | right | Maximum x-value of the view volume at the near view plane. |
| System.Double | bottom | Minimum y-value of the view volume at the near view plane. |
| System.Double | top | Maximum y-value of the view volume at the near view plane. |
| System.Double | nearPlaneDistance | Distance to the near view plane. |
| System.Double | farPlaneDistance | Distance to of the far view plane. |
| MatrixD | result | [OutAttribute] The created projection matrix. |
CreateReflection(Plane)
Creates a Matrix that reflects the coordinate system about a specified Plane.
Declaration
public static MatrixD CreateReflection(Plane value)
Parameters
| Type | Name | Description |
|---|---|---|
| Plane | value | The Plane about which to create a reflection. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateReflection(ref Plane, out MatrixD)
Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane.
Declaration
public static void CreateReflection(ref Plane value, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Plane | value | The Plane about which to create a reflection. |
| MatrixD | result | [OutAttribute] A Matrix that creates the reflection. |
CreateRotationX(Double)
Returns a matrix that can be used to rotate a set of vertices around the x-axis.
Declaration
public static MatrixD CreateRotationX(double radians)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. |
Returns
| Type | Description |
|---|---|
| MatrixD |
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.
Declaration
public static void CreateRotationX(double radians, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. |
| MatrixD | result | [OutAttribute] The matrix in which to place the calculated data. |
CreateRotationY(Double)
Returns a matrix that can be used to rotate a set of vertices around the y-axis.
Declaration
public static MatrixD CreateRotationY(double radians)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. |
Returns
| Type | Description |
|---|---|
| MatrixD |
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.
Declaration
public static void CreateRotationY(double radians, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. |
| MatrixD | result | [OutAttribute] The matrix in which to place the calculated data. |
CreateRotationZ(Double)
Returns a matrix that can be used to rotate a set of vertices around the z-axis.
Declaration
public static MatrixD CreateRotationZ(double radians)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. |
Returns
| Type | Description |
|---|---|
| MatrixD |
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.
Declaration
public static void CreateRotationZ(double radians, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | radians | The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. |
| MatrixD | result | [OutAttribute] The rotation matrix. |
CreateScale(Double)
Creates a scaling Matrix.
Declaration
public static MatrixD CreateScale(double scale)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | scale | Amount to scale by. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateScale(Double, Double, Double)
Creates a scaling Matrix.
Declaration
public static MatrixD CreateScale(double xScale, double yScale, double zScale)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | xScale | Value to scale by on the x-axis. |
| System.Double | yScale | Value to scale by on the y-axis. |
| System.Double | zScale | Value to scale by on the z-axis. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateScale(Double, Double, Double, out MatrixD)
Creates a scaling Matrix.
Declaration
public static void CreateScale(double xScale, double yScale, double zScale, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | xScale | Value to scale by on the x-axis. |
| System.Double | yScale | Value to scale by on the y-axis. |
| System.Double | zScale | Value to scale by on the z-axis. |
| MatrixD | result | [OutAttribute] The created scaling Matrix. |
CreateScale(Double, out MatrixD)
Creates a scaling Matrix.
Declaration
public static void CreateScale(double scale, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | scale | Value to scale by. |
| MatrixD | result | [OutAttribute] The created scaling Matrix. |
CreateScale(Vector3D)
Creates a scaling Matrix.
Declaration
public static MatrixD CreateScale(Vector3D scales)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | scales | Amounts to scale by on the x, y, and z axes. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateScale(ref Vector3D, out MatrixD)
Creates a scaling Matrix.
Declaration
public static void CreateScale(ref Vector3D scales, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | scales | Amounts to scale by on the x, y, and z axes. |
| MatrixD | result | [OutAttribute] The created scaling Matrix. |
CreateShadow(Vector3D, Plane)
Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.
Declaration
public static MatrixD CreateShadow(Vector3D lightDirection, Plane plane)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | lightDirection | A Vector3 specifying the direction from which the light that will cast the shadow is coming. |
| Plane | plane | The Plane onto which the new matrix should flatten geometry so as to cast a shadow. |
Returns
| Type | Description |
|---|---|
| MatrixD |
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.
Declaration
public static void CreateShadow(ref Vector3D lightDirection, ref Plane plane, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | lightDirection | A Vector3 specifying the direction from which the light that will cast the shadow is coming. |
| Plane | plane | The Plane onto which the new matrix should flatten geometry so as to cast a shadow. |
| MatrixD | result | [OutAttribute] A Matrix that can be used to flatten geometry onto the specified plane from the specified direction. |
CreateTranslation(Double, Double, Double)
Creates a translation Matrix.
Declaration
public static MatrixD CreateTranslation(double xPosition, double yPosition, double zPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | xPosition | Value to translate by on the x-axis. |
| System.Double | yPosition | Value to translate by on the y-axis. |
| System.Double | zPosition | Value to translate by on the z-axis. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateTranslation(Double, Double, Double, out MatrixD)
Creates a translation Matrix.
Declaration
public static void CreateTranslation(double xPosition, double yPosition, double zPosition, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | xPosition | Value to translate by on the x-axis. |
| System.Double | yPosition | Value to translate by on the y-axis. |
| System.Double | zPosition | Value to translate by on the z-axis. |
| MatrixD | result | [OutAttribute] The created translation Matrix. |
CreateTranslation(Vector3)
Declaration
public static MatrixD CreateTranslation(Vector3 position)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateTranslation(Vector3D)
Creates a translation Matrix.
Declaration
public static MatrixD CreateTranslation(Vector3D position)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position | Amounts to translate by on the x, y, and z axes. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateTranslation(ref Vector3D, out MatrixD)
Creates a translation Matrix.
Declaration
public static void CreateTranslation(ref Vector3D position, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position | Amounts to translate by on the x, y, and z axes. |
| MatrixD | result | [OutAttribute] The created translation Matrix. |
CreateWorld(Vector3D)
Declaration
public static MatrixD CreateWorld(Vector3D position)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateWorld(Vector3D, Vector3, Vector3)
Declaration
public static MatrixD CreateWorld(Vector3D position, Vector3 forward, Vector3 up)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position | |
| Vector3 | forward | |
| Vector3 | up |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateWorld(Vector3D, Vector3D, Vector3D)
Creates a world matrix with the specified parameters.
Declaration
public static MatrixD CreateWorld(Vector3D position, Vector3D forward, Vector3D up)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position | Position of the object. This value is used in translation operations. |
| Vector3D | forward | Forward direction of the object. |
| Vector3D | up | Upward direction of the object; usually [0, 1, 0]. |
Returns
| Type | Description |
|---|---|
| MatrixD |
CreateWorld(ref Vector3D, ref Vector3D, ref Vector3D, out MatrixD)
Creates a world matrix with the specified parameters.
Declaration
public static void CreateWorld(ref Vector3D position, ref Vector3D forward, ref Vector3D up, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | position | Position of the object. This value is used in translation operations. |
| Vector3D | forward | Forward direction of the object. |
| Vector3D | up | Upward direction of the object; usually [0, 1, 0]. |
| MatrixD | result | [OutAttribute] The created world matrix. |
Determinant()
Calculates the determinant of the matrix.
Declaration
public double Determinant()
Returns
| Type | Description |
|---|---|
| System.Double |
Divide(MatrixD, Double)
Divides the components of a matrix by a scalar.
Declaration
public static MatrixD Divide(MatrixD matrix1, double divider)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| System.Double | divider | The divisor. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Divide(MatrixD, MatrixD)
Divides the components of a matrix by the corresponding components of another matrix.
Declaration
public static MatrixD Divide(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | The divisor. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Divide(ref MatrixD, Double, out MatrixD)
Divides the components of a matrix by a scalar.
Declaration
public static void Divide(ref MatrixD matrix1, double divider, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| System.Double | divider | The divisor. |
| MatrixD | result | [OutAttribute] Result of the division. |
Divide(ref MatrixD, ref MatrixD, out MatrixD)
Divides the components of a matrix by the corresponding components of another matrix.
Declaration
public static void Divide(ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | The divisor. |
| MatrixD | result | [OutAttribute] Result of the division. |
Equals(Object)
Returns a value that indicates whether the current instance is equal to a specified object.
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | obj | Object with which to make the comparison. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Equals(MatrixD)
Determines whether the specified Object is equal to the Matrix.
Declaration
public bool Equals(MatrixD other)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | other | The Object to compare with the current Matrix. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
EqualsFast(ref MatrixD, Double)
Compares just position, forward and up
Declaration
public bool EqualsFast(ref MatrixD other, double epsilon = 0.0001)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | other | |
| System.Double | epsilon |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetClosestDirection(Vector3D)
Declaration
public Base6Directions.Direction GetClosestDirection(Vector3D referenceVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | referenceVector |
Returns
| Type | Description |
|---|---|
| Base6Directions.Direction |
GetClosestDirection(ref Vector3D)
Declaration
public Base6Directions.Direction GetClosestDirection(ref Vector3D referenceVector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3D | referenceVector |
Returns
| Type | Description |
|---|---|
| Base6Directions.Direction |
GetDirectionVector(Base6Directions.Direction)
Gets the base vector of the matrix, corresponding to the given direction
Declaration
public Vector3D GetDirectionVector(Base6Directions.Direction direction)
Parameters
| Type | Name | Description |
|---|---|---|
| Base6Directions.Direction | direction |
Returns
| Type | Description |
|---|---|
| Vector3D |
GetEulerAnglesXYZ(ref MatrixD, out Vector3D)
Declaration
public static bool GetEulerAnglesXYZ(ref MatrixD mat, out Vector3D xyz)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | mat | |
| Vector3D | xyz |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetHashCode()
Gets the hash code of this object.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| System.Int32 |
GetOrientation()
Gets the orientation.
Declaration
public MatrixD GetOrientation()
Returns
| Type | Description |
|---|---|
| MatrixD |
GetRow(Int32)
Declaration
public Vector4D GetRow(int row)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | row |
Returns
| Type | Description |
|---|---|
| Vector4D |
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.
Declaration
public bool HasNoTranslationOrPerspective()
Returns
| Type | Description |
|---|---|
| System.Boolean |
Invert(MatrixD)
Calculates the inverse of a matrix.
Declaration
public static MatrixD Invert(MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Invert(ref MatrixD)
Declaration
public static MatrixD Invert(ref MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix |
Returns
| Type | Description |
|---|---|
| MatrixD |
Invert(ref MatrixD, out MatrixD)
Calculates the inverse of a matrix.
Declaration
public static void Invert(ref MatrixD matrix, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | The source matrix. |
| MatrixD | result | [OutAttribute] The inverse of matrix. The same matrix can be used for both arguments. |
IsMirrored()
Declaration
public bool IsMirrored()
Returns
| Type | Description |
|---|---|
| System.Boolean |
IsNan()
Declaration
public bool IsNan()
Returns
| Type | Description |
|---|---|
| System.Boolean |
IsOrthogonal()
Declaration
public bool IsOrthogonal()
Returns
| Type | Description |
|---|---|
| System.Boolean |
IsOrthogonal(Double)
Declaration
public bool IsOrthogonal(double epsilon)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | epsilon |
Returns
| Type | Description |
|---|---|
| System.Boolean |
IsRotation()
Declaration
public bool IsRotation()
Returns
| Type | Description |
|---|---|
| System.Boolean |
IsValid()
Declaration
public bool IsValid()
Returns
| Type | Description |
|---|---|
| System.Boolean |
Lerp(MatrixD, MatrixD, Double)
Linearly interpolates between the corresponding values of two matrices.
Declaration
public static MatrixD Lerp(MatrixD matrix1, MatrixD matrix2, double amount)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
| System.Double | amount | Interpolation value. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Lerp(ref MatrixD, ref MatrixD, Double, out MatrixD)
Linearly interpolates between the corresponding values of two matrices.
Declaration
public static void Lerp(ref MatrixD matrix1, ref MatrixD matrix2, double amount, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
| System.Double | amount | Interpolation value. |
| MatrixD | result | [OutAttribute] Resulting matrix. |
Multiply(ref Matrix, ref MatrixD, out MatrixD)
Declaration
public static void Multiply(ref Matrix matrix1, ref MatrixD matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | matrix1 | |
| MatrixD | matrix2 | |
| MatrixD | result |
Multiply(MatrixD, Double)
Multiplies a matrix by a scalar value.
Declaration
public static MatrixD Multiply(MatrixD matrix1, double scaleFactor)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| System.Double | scaleFactor | Scalar value. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(MatrixD, Matrix)
Multiplies a matrix by another matrix.
Declaration
public static MatrixD Multiply(MatrixD matrix1, Matrix matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| Matrix | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(MatrixD, MatrixD)
Multiplies a matrix by another matrix.
Declaration
public static MatrixD Multiply(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(ref MatrixD, Double, out MatrixD)
Multiplies a matrix by a scalar value.
Declaration
public static void Multiply(ref MatrixD matrix1, double scaleFactor, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| System.Double | scaleFactor | Scalar value. |
| MatrixD | result | [OutAttribute] The result of the multiplication. |
Multiply(ref MatrixD, ref Matrix, out MatrixD)
Multiplies a matrix by another matrix.
Declaration
public static void Multiply(ref MatrixD matrix1, ref Matrix matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| Matrix | matrix2 | Source matrix. |
| MatrixD | result | [OutAttribute] Result of the multiplication. |
Multiply(ref MatrixD, ref MatrixD, out MatrixD)
Multiplies a matrix by another matrix.
Declaration
public static void Multiply(ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
| MatrixD | result | [OutAttribute] Result of the multiplication. |
Negate(MatrixD)
Negates individual elements of a matrix.
Declaration
public static MatrixD Negate(MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Negate(ref MatrixD, out MatrixD)
Negates individual elements of a matrix.
Declaration
public static void Negate(ref MatrixD matrix, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
| MatrixD | result | [OutAttribute] Negated matrix. |
Normalize(MatrixD)
Declaration
public static MatrixD Normalize(MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix |
Returns
| Type | Description |
|---|---|
| MatrixD |
Orthogonalize()
Declaration
public void Orthogonalize()
Orthogonalize(MatrixD)
Declaration
public static MatrixD Orthogonalize(MatrixD rotationMatrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | rotationMatrix |
Returns
| Type | Description |
|---|---|
| MatrixD |
Rescale(MatrixD, Double)
Declaration
public static MatrixD Rescale(MatrixD matrix, double scale)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | |
| System.Double | scale |
Returns
| Type | Description |
|---|---|
| MatrixD |
Rescale(MatrixD, Vector3D)
Declaration
public static MatrixD Rescale(MatrixD matrix, Vector3D scale)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | |
| Vector3D | scale |
Returns
| Type | Description |
|---|---|
| MatrixD |
Rescale(ref MatrixD, Double)
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Declaration
public static void Rescale(ref MatrixD matrix, double scale)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | |
| System.Double | scale |
Rescale(ref MatrixD, Single)
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Declaration
public static void Rescale(ref MatrixD matrix, float scale)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | |
| System.Single | scale |
Rescale(ref MatrixD, ref Vector3D)
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Declaration
public static void Rescale(ref MatrixD matrix, ref Vector3D scale)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | |
| Vector3D | scale |
SetDirectionVector(Base6Directions.Direction, Vector3D)
Sets the base vector of the matrix, corresponding to the given direction
Declaration
public void SetDirectionVector(Base6Directions.Direction direction, Vector3D newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| Base6Directions.Direction | direction | |
| Vector3D | newValue |
SetFrom(in Matrix)
Declaration
public void SetFrom(in Matrix m)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | m |
SetRotationAndScale(in Matrix)
Declaration
public void SetRotationAndScale(in Matrix m)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | m |
SetRow(Int32, Vector4)
Declaration
public void SetRow(int row, Vector4 value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | row | |
| Vector4 | value |
Slerp(MatrixD, MatrixD, Double)
Performs spherical linear interpolation of position and rotation.
Declaration
public static MatrixD Slerp(MatrixD matrix1, MatrixD matrix2, double amount)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | |
| MatrixD | matrix2 | |
| System.Double | amount |
Returns
| Type | Description |
|---|---|
| MatrixD |
Slerp(in MatrixD, in MatrixD, Double, out MatrixD)
Performs spherical linear interpolation of position and rotation.
Declaration
public static void Slerp(in MatrixD matrix1, in MatrixD matrix2, double amount, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | |
| MatrixD | matrix2 | |
| System.Double | amount | |
| MatrixD | result |
SlerpScale(MatrixD, MatrixD, Double)
Performs spherical linear interpolation of position and rotation and scale.
Declaration
public static MatrixD SlerpScale(MatrixD matrix1, MatrixD matrix2, double amount)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | |
| MatrixD | matrix2 | |
| System.Double | amount |
Returns
| Type | Description |
|---|---|
| MatrixD |
SlerpScale(MatrixD, MatrixD, Double, out MatrixD)
Performs spherical linear interpolation of position and rotation and scale.
Declaration
public static void SlerpScale(MatrixD matrix1, MatrixD matrix2, double amount, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | |
| MatrixD | matrix2 | |
| System.Double | amount | |
| MatrixD | result |
SlerpScale(ref MatrixD, ref MatrixD, Double, out MatrixD)
Performs spherical linear interpolation of position and rotation and scale.
Declaration
public static void SlerpScale(ref MatrixD matrix1, ref MatrixD matrix2, double amount, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | |
| MatrixD | matrix2 | |
| System.Double | amount | |
| MatrixD | result |
Subtract(Matrix, Matrix)
Subtracts matrices.
Declaration
public static Matrix Subtract(Matrix matrix1, Matrix matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | matrix1 | Source matrix. |
| Matrix | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| Matrix |
Subtract(ref MatrixD, ref MatrixD, out MatrixD)
Subtracts matrices.
Declaration
public static void Subtract(ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
| MatrixD | result | [OutAttribute] Result of the subtraction. |
SwapYZCoordinates(MatrixD)
Declaration
public static MatrixD SwapYZCoordinates(MatrixD m)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | m |
Returns
| Type | Description |
|---|---|
| MatrixD |
ToString()
Retrieves a string representation of the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| System.String |
Transform(MatrixD, Quaternion)
Transforms a Matrix by applying a Quaternion rotation.
Declaration
public static MatrixD Transform(MatrixD value, Quaternion rotation)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | value | The Matrix to transform. |
| Quaternion | rotation | The rotation to apply, expressed as a Quaternion. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Transform(ref MatrixD, ref Quaternion, out MatrixD)
Transforms a Matrix by applying a Quaternion rotation.
Declaration
public static void Transform(ref MatrixD value, ref Quaternion rotation, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | value | The Matrix to transform. |
| Quaternion | rotation | The rotation to apply, expressed as a Quaternion. |
| MatrixD | result | [OutAttribute] An existing Matrix filled in with the result of the transform. |
Transpose(MatrixD)
Transposes the rows and columns of a matrix.
Declaration
public static MatrixD Transpose(MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Transpose(ref MatrixD, out MatrixD)
Transposes the rows and columns of a matrix.
Declaration
public static void Transpose(ref MatrixD matrix, out MatrixD result)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
| MatrixD | result | [OutAttribute] Transposed matrix. |
Operators
Addition(MatrixD, MatrixD)
Adds a matrix to another matrix.
Declaration
public static MatrixD operator +(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Division(MatrixD, Double)
Divides the components of a matrix by a scalar.
Declaration
public static MatrixD operator /(MatrixD matrix1, double divider)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| System.Double | divider | The divisor. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Division(MatrixD, MatrixD)
Divides the components of a matrix by the corresponding components of another matrix.
Declaration
public static MatrixD operator /(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | The divisor. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Equality(MatrixD, MatrixD)
Compares a matrix for equality with another matrix.
Declaration
public static bool operator ==(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Implicit(in Matrix to MatrixD)
Declaration
public static implicit operator MatrixD(in Matrix m)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | m |
Returns
| Type | Description |
|---|---|
| MatrixD |
Implicit(in MatrixD to Matrix)
Declaration
public static implicit operator Matrix(in MatrixD m)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | m |
Returns
| Type | Description |
|---|---|
| Matrix |
Inequality(MatrixD, MatrixD)
Tests a matrix for inequality with another matrix.
Declaration
public static bool operator !=(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | The matrix on the left of the equal sign. |
| MatrixD | matrix2 | The matrix on the right of the equal sign. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Multiply(Double, MatrixD)
Multiplies a matrix by a scalar value.
Declaration
public static MatrixD operator *(double scaleFactor, MatrixD matrix)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | scaleFactor | Scalar value. |
| MatrixD | matrix | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(Matrix, MatrixD)
Multiplies a matrix by another matrix.
Declaration
public static MatrixD operator *(Matrix matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(MatrixD, Double)
Multiplies a matrix by a scalar value.
Declaration
public static MatrixD operator *(MatrixD matrix, double scaleFactor)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix | Source matrix. |
| System.Double | scaleFactor | Scalar value. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(MatrixD, Matrix)
Multiplies a matrix by another matrix.
Declaration
public static MatrixD operator *(MatrixD matrix1, Matrix matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| Matrix | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Multiply(MatrixD, MatrixD)
Multiplies a matrix by another matrix.
Declaration
public static MatrixD operator *(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
Subtraction(MatrixD, MatrixD)
Subtracts matrices.
Declaration
public static MatrixD operator -(MatrixD matrix1, MatrixD matrix2)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
| MatrixD | matrix2 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |
UnaryNegation(MatrixD)
Negates individual elements of a matrix.
Declaration
public static MatrixD operator -(MatrixD matrix1)
Parameters
| Type | Name | Description |
|---|---|---|
| MatrixD | matrix1 | Source matrix. |
Returns
| Type | Description |
|---|---|
| MatrixD |