Space Engineers
|
Defines a matrix. More...
Public Member Functions | |
Vector3D | GetDirectionVector (Base6Directions.Direction direction) |
Gets the base vector of the matrix, corresponding to the given direction More... | |
void | SetDirectionVector (Base6Directions.Direction direction, Vector3D newValue) |
Sets the base vector of the matrix, corresponding to the given direction More... | |
Base6Directions.Direction | GetClosestDirection (Vector3D referenceVector) |
Base6Directions.Direction | GetClosestDirection (ref Vector3D referenceVector) |
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) | |
Initializes a new instance of Matrix. More... | |
MatrixD (double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33) | |
Initializes a new instance of Matrix with rotation data More... | |
MatrixD (Matrix m) | |
Vector4 | GetRow (int row) |
void | SetRow (int row, Vector4 value) |
override string | ToString () |
Retrieves a string representation of the current object. More... | |
bool | Equals (MatrixD other) |
Determines whether the specified Object is equal to the Matrix. More... | |
bool | EqualsFast (ref MatrixD other, double epsilon=0.0001) |
Compares just position, forward and up More... | |
override bool | Equals (object obj) |
Returns a value that indicates whether the current instance is equal to a specified object. More... | |
override int | GetHashCode () |
Gets the hash code of this object. More... | |
double | Determinant () |
Calculates the determinant of the matrix. More... | |
MatrixD | GetOrientation () |
Gets the orientation. More... | |
void | AssertIsValid () |
bool | IsValid () |
bool | IsNan () |
bool | IsRotation () |
bool | HasNoTranslationOrPerspective () |
Returns true if this matrix represents invertible (you can call Invert on it) linear (it does not contain translation or perspective transformation) transformation. Such matrix consist solely of rotations, shearing, mirroring and scaling. It can be orthogonalized to create an orthogonal rotation matrix. More... | |
bool | IsMirrored () |
Static Public Member Functions | |
static void | Rescale (ref MatrixD matrix, double scale) |
Same result as Matrix.CreateScale(scale) * matrix, but much faster More... | |
static void | Rescale (ref MatrixD matrix, float scale) |
Same result as Matrix.CreateScale(scale) * matrix, but much faster More... | |
static void | Rescale (ref MatrixD matrix, ref Vector3D scale) |
Same result as Matrix.CreateScale(scale) * matrix, but much faster More... | |
static MatrixD | Rescale (MatrixD matrix, double scale) |
static MatrixD | Rescale (MatrixD matrix, Vector3D scale) |
static | MatrixD () |
static MatrixD | operator- (MatrixD matrix1) |
Negates individual elements of a matrix. More... | |
static bool | operator== (MatrixD matrix1, MatrixD matrix2) |
Compares a matrix for equality with another matrix. More... | |
static bool | operator!= (MatrixD matrix1, MatrixD matrix2) |
Tests a matrix for inequality with another matrix. More... | |
static MatrixD | operator+ (MatrixD matrix1, MatrixD matrix2) |
Adds a matrix to another matrix. More... | |
static MatrixD | operator- (MatrixD matrix1, MatrixD matrix2) |
Subtracts matrices. More... | |
static MatrixD | operator* (MatrixD matrix1, MatrixD matrix2) |
Multiplies a matrix by another matrix. More... | |
static MatrixD | operator* (MatrixD matrix1, Matrix matrix2) |
Multiplies a matrix by another matrix. More... | |
static MatrixD | operator* (Matrix matrix1, MatrixD matrix2) |
Multiplies a matrix by another matrix. More... | |
static MatrixD | operator* (MatrixD matrix, double scaleFactor) |
Multiplies a matrix by a scalar value. More... | |
static MatrixD | operator* (double scaleFactor, MatrixD matrix) |
Multiplies a matrix by a scalar value. More... | |
static MatrixD | operator/ (MatrixD matrix1, MatrixD matrix2) |
Divides the components of a matrix by the corresponding components of another matrix. More... | |
static MatrixD | operator/ (MatrixD matrix1, double divider) |
Divides the components of a matrix by a scalar. More... | |
static MatrixD | CreateBillboard (Vector3D objectPosition, Vector3D cameraPosition, Vector3D cameraUpVector, Vector3D?cameraForwardVector) |
Creates a spherical billboard that rotates around a specified object position. More... | |
static void | CreateBillboard (ref Vector3D objectPosition, ref Vector3D cameraPosition, ref Vector3D cameraUpVector, Vector3D?cameraForwardVector, out MatrixD result) |
Creates a spherical billboard that rotates around a specified object position. More... | |
static MatrixD | CreateConstrainedBillboard (Vector3D objectPosition, Vector3D cameraPosition, Vector3D rotateAxis, Vector3D?cameraForwardVector, Vector3D?objectForwardVector) |
Creates a cylindrical billboard that rotates around a specified axis. More... | |
static void | CreateConstrainedBillboard (ref Vector3D objectPosition, ref Vector3D cameraPosition, ref Vector3D rotateAxis, Vector3D?cameraForwardVector, Vector3D?objectForwardVector, out MatrixD result) |
Creates a cylindrical billboard that rotates around a specified axis. More... | |
static MatrixD | CreateTranslation (Vector3D position) |
Creates a translation Matrix. More... | |
static MatrixD | CreateTranslation (Vector3 position) |
static void | CreateTranslation (ref Vector3D position, out MatrixD result) |
Creates a translation Matrix. More... | |
static MatrixD | CreateTranslation (double xPosition, double yPosition, double zPosition) |
Creates a translation Matrix. More... | |
static void | CreateTranslation (double xPosition, double yPosition, double zPosition, out MatrixD result) |
Creates a translation Matrix. More... | |
static MatrixD | CreateScale (double xScale, double yScale, double zScale) |
Creates a scaling Matrix. More... | |
static void | CreateScale (double xScale, double yScale, double zScale, out MatrixD result) |
Creates a scaling Matrix. More... | |
static MatrixD | CreateScale (Vector3D scales) |
Creates a scaling Matrix. More... | |
static void | CreateScale (ref Vector3D scales, out MatrixD result) |
Creates a scaling Matrix. More... | |
static MatrixD | CreateScale (double scale) |
Creates a scaling Matrix. More... | |
static void | CreateScale (double scale, out MatrixD result) |
Creates a scaling Matrix. More... | |
static MatrixD | CreateRotationX (double radians) |
Returns a matrix that can be used to rotate a set of vertices around the x-axis. More... | |
static void | CreateRotationX (double radians, out MatrixD result) |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis. More... | |
static MatrixD | CreateRotationY (double radians) |
Returns a matrix that can be used to rotate a set of vertices around the y-axis. More... | |
static void | CreateRotationY (double radians, out MatrixD result) |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis. More... | |
static MatrixD | CreateRotationZ (double radians) |
Returns a matrix that can be used to rotate a set of vertices around the z-axis. More... | |
static void | CreateRotationZ (double radians, out MatrixD result) |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis. More... | |
static MatrixD | CreateFromAxisAngle (Vector3D axis, double angle) |
Creates a new Matrix that rotates around an arbitrary vector. More... | |
static void | CreateFromAxisAngle (ref Vector3D axis, double angle, out MatrixD result) |
Creates a new Matrix that rotates around an arbitrary vector. More... | |
static MatrixD | CreatePerspectiveFieldOfView (double fieldOfView, double aspectRatio, double nearPlaneDistance, double farPlaneDistance) |
Builds a perspective projection matrix based on a field of view and returns by value. More... | |
static void | CreatePerspectiveFieldOfView (double fieldOfView, double aspectRatio, double nearPlaneDistance, double farPlaneDistance, out MatrixD result) |
Builds a perspective projection matrix based on a field of view and returns by reference. More... | |
static MatrixD | CreatePerspective (double width, double height, double nearPlaneDistance, double farPlaneDistance) |
Builds a perspective projection matrix and returns the result by value. More... | |
static void | CreatePerspective (double width, double height, double nearPlaneDistance, double farPlaneDistance, out MatrixD result) |
Builds a perspective projection matrix and returns the result by reference. More... | |
static MatrixD | CreatePerspectiveOffCenter (double left, double right, double bottom, double top, double nearPlaneDistance, double farPlaneDistance) |
Builds a customized, perspective projection matrix. More... | |
static void | CreatePerspectiveOffCenter (double left, double right, double bottom, double top, double nearPlaneDistance, double farPlaneDistance, out MatrixD result) |
Builds a customized, perspective projection matrix. More... | |
static MatrixD | CreateOrthographic (double width, double height, double zNearPlane, double zFarPlane) |
Builds an orthogonal projection matrix. More... | |
static void | CreateOrthographic (double width, double height, double zNearPlane, double zFarPlane, out MatrixD result) |
Builds an orthogonal projection matrix. More... | |
static MatrixD | CreateOrthographicOffCenter (double left, double right, double bottom, double top, double zNearPlane, double zFarPlane) |
Builds a customized, orthogonal projection matrix. More... | |
static void | CreateOrthographicOffCenter (double left, double right, double bottom, double top, double zNearPlane, double zFarPlane, out MatrixD result) |
Builds a customized, orthogonal projection matrix. More... | |
static MatrixD | CreateLookAt (Vector3D cameraPosition, Vector3D cameraTarget, Vector3 cameraUpVector) |
static MatrixD | CreateLookAt (Vector3D cameraPosition, Vector3D cameraTarget, Vector3D cameraUpVector) |
Creates a view matrix. More... | |
static Matrix | CreateLookAtInverse (Vector3D cameraPosition, Vector3D cameraTarget, Vector3D cameraUpVector) |
static void | CreateLookAt (ref Vector3D cameraPosition, ref Vector3D cameraTarget, ref Vector3D cameraUpVector, out MatrixD result) |
Creates a view matrix. More... | |
static MatrixD | CreateWorld (Vector3D position, Vector3 forward, Vector3 up) |
static MatrixD | CreateWorld (Vector3D position) |
static MatrixD | CreateWorld (Vector3D position, Vector3D forward, Vector3D up) |
Creates a world matrix with the specified parameters. More... | |
static void | CreateWorld (ref Vector3D position, ref Vector3D forward, ref Vector3D up, out MatrixD result) |
Creates a world matrix with the specified parameters. More... | |
static MatrixD | CreateFromQuaternion (Quaternion quaternion) |
Creates a rotation Matrix from a Quaternion. More... | |
static MatrixD | CreateFromQuaternion (QuaternionD quaternion) |
static void | CreateFromQuaternion (ref Quaternion quaternion, out MatrixD result) |
Creates a rotation Matrix from a Quaternion. More... | |
static MatrixD | CreateFromYawPitchRoll (double yaw, double pitch, double roll) |
Creates a new rotation matrix from a specified yaw, pitch, and roll. More... | |
static void | CreateFromYawPitchRoll (double yaw, double pitch, double roll, out MatrixD result) |
Fills in a rotation matrix from a specified yaw, pitch, and roll. More... | |
static MatrixD | CreateFromTransformScale (Quaternion orientation, Vector3D position, Vector3D scale) |
static MatrixD | CreateShadow (Vector3D lightDirection, Plane plane) |
Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source. More... | |
static void | CreateShadow (ref Vector3D lightDirection, ref Plane plane, out MatrixD result) |
Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source. More... | |
static MatrixD | CreateReflection (Plane value) |
Creates a Matrix that reflects the coordinate system about a specified Plane. More... | |
static void | CreateReflection (ref Plane value, out MatrixD result) |
Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane. More... | |
static MatrixD | Transform (MatrixD value, Quaternion rotation) |
Transforms a Matrix by applying a Quaternion rotation. More... | |
static void | Transform (ref MatrixD value, ref Quaternion rotation, out MatrixD result) |
Transforms a Matrix by applying a Quaternion rotation. More... | |
static MatrixD | Transpose (MatrixD matrix) |
Transposes the rows and columns of a matrix. More... | |
static void | Transpose (ref MatrixD matrix, out MatrixD result) |
Transposes the rows and columns of a matrix. More... | |
static MatrixD | Invert (MatrixD matrix) |
Calculates the inverse of a matrix. More... | |
static MatrixD | Invert (ref MatrixD matrix) |
static void | Invert (ref MatrixD matrix, out MatrixD result) |
Calculates the inverse of a matrix. More... | |
static MatrixD | Lerp (MatrixD matrix1, MatrixD matrix2, double amount) |
Linearly interpolates between the corresponding values of two matrices. More... | |
static void | Lerp (ref MatrixD matrix1, ref MatrixD matrix2, double amount, out MatrixD result) |
Linearly interpolates between the corresponding values of two matrices. More... | |
static void | Slerp (ref MatrixD matrix1, ref MatrixD matrix2, float amount, out MatrixD result) |
Performs spherical linear interpolation of position and rotation. More... | |
static void | SlerpScale (ref MatrixD matrix1, ref MatrixD matrix2, float amount, out MatrixD result) |
Performs spherical linear interpolation of position and rotation and scale. More... | |
static void | Slerp (MatrixD matrix1, MatrixD matrix2, float amount, out MatrixD result) |
Performs spherical linear interpolation of position and rotation. More... | |
static MatrixD | Slerp (MatrixD matrix1, MatrixD matrix2, float amount) |
Performs spherical linear interpolation of position and rotation. More... | |
static void | SlerpScale (MatrixD matrix1, MatrixD matrix2, float amount, out MatrixD result) |
Performs spherical linear interpolation of position and rotation and scale. More... | |
static MatrixD | SlerpScale (MatrixD matrix1, MatrixD matrix2, float amount) |
Performs spherical linear interpolation of position and rotation and scale. More... | |
static MatrixD | Negate (MatrixD matrix) |
Negates individual elements of a matrix. More... | |
static void | Negate (ref MatrixD matrix, out MatrixD result) |
Negates individual elements of a matrix. More... | |
static MatrixD | Add (MatrixD matrix1, MatrixD matrix2) |
Adds a matrix to another matrix. More... | |
static void | Add (ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result) |
Adds a matrix to another matrix. More... | |
static Matrix | Subtract (Matrix matrix1, Matrix matrix2) |
Subtracts matrices. More... | |
static void | Subtract (ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result) |
Subtracts matrices. More... | |
static MatrixD | Multiply (MatrixD matrix1, MatrixD matrix2) |
Multiplies a matrix by another matrix. More... | |
static MatrixD | Multiply (MatrixD matrix1, Matrix matrix2) |
Multiplies a matrix by another matrix. More... | |
static void | Multiply (ref MatrixD matrix1, ref Matrix matrix2, out MatrixD result) |
Multiplies a matrix by another matrix. More... | |
static void | Multiply (ref Matrix matrix1, ref MatrixD matrix2, out MatrixD result) |
static void | Multiply (ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result) |
Multiplies a matrix by another matrix. More... | |
static MatrixD | Multiply (MatrixD matrix1, double scaleFactor) |
Multiplies a matrix by a scalar value. More... | |
static void | Multiply (ref MatrixD matrix1, double scaleFactor, out MatrixD result) |
Multiplies a matrix by a scalar value. More... | |
static MatrixD | Divide (MatrixD matrix1, MatrixD matrix2) |
Divides the components of a matrix by the corresponding components of another matrix. More... | |
static void | Divide (ref MatrixD matrix1, ref MatrixD matrix2, out MatrixD result) |
Divides the components of a matrix by the corresponding components of another matrix. More... | |
static MatrixD | Divide (MatrixD matrix1, double divider) |
Divides the components of a matrix by a scalar. More... | |
static void | Divide (ref MatrixD matrix1, double divider, out MatrixD result) |
Divides the components of a matrix by a scalar. More... | |
static MatrixD | CreateFromDir (Vector3D dir) |
static MatrixD | CreateFromDir (Vector3D dir, Vector3D suggestedUp) |
static MatrixD | Normalize (MatrixD matrix) |
static MatrixD | Orthogonalize (MatrixD rotationMatrix) |
static MatrixD | AlignRotationToAxes (ref MatrixD toAlign, ref MatrixD axisDefinitionMatrix) |
static bool | GetEulerAnglesXYZ (ref MatrixD mat, out Vector3D xyz) |
static MatrixD | SwapYZCoordinates (MatrixD m) |
static implicit | operator Matrix (MatrixD m) |
static implicit | operator MatrixD (Matrix m) |
Public Attributes | |
double | M11 |
Value at row 1 column 1 of the matrix. More... | |
double | M12 |
Value at row 1 column 2 of the matrix. More... | |
double | M13 |
Value at row 1 column 3 of the matrix. More... | |
double | M14 |
Value at row 1 column 4 of the matrix. More... | |
double | M21 |
Value at row 2 column 1 of the matrix. More... | |
double | M22 |
Value at row 2 column 2 of the matrix. More... | |
double | M23 |
Value at row 2 column 3 of the matrix. More... | |
double | M24 |
Value at row 2 column 4 of the matrix. More... | |
double | M31 |
Value at row 3 column 1 of the matrix. More... | |
double | M32 |
Value at row 3 column 2 of the matrix. More... | |
double | M33 |
Value at row 3 column 3 of the matrix. More... | |
double | M34 |
Value at row 3 column 4 of the matrix. More... | |
double | M41 |
Value at row 4 column 1 of the matrix. More... | |
double | M42 |
Value at row 4 column 2 of the matrix. More... | |
double | M43 |
Value at row 4 column 3 of the matrix. More... | |
double | M44 |
Value at row 4 column 4 of the matrix. More... | |
Static Public Attributes | |
static MatrixD | Identity = new MatrixD(1, 0.0, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 0.0, 1) |
static MatrixD | Zero = new MatrixD(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) |
Properties | |
Vector3D | Col0 [get] |
Vector3D | Col1 [get] |
Vector3D | Col2 [get] |
Vector3D | Up [get, set] |
Gets and sets the up vector of the Matrix. More... | |
Vector3D | Down [get, set] |
Gets and sets the down vector of the Matrix. More... | |
Vector3D | Right [get, set] |
Gets and sets the right vector of the Matrix. More... | |
Vector3D | Left [get, set] |
Gets and sets the left vector of the Matrix. More... | |
Vector3D | Forward [get, set] |
Gets and sets the forward vector of the Matrix. More... | |
Vector3D | Backward [get, set] |
Gets and sets the backward vector of the Matrix. More... | |
Vector3D | Scale [get] |
Vector3D | Translation [get, set] |
Gets and sets the translation vector of the Matrix. More... | |
double | this[int row, int column] [get, set] |
Defines a matrix.
Definition at line 15 of file MatrixD.cs.
|
inlinestatic |
Definition at line 478 of file MatrixD.cs.
|
inline |
Initializes a new instance of Matrix.
m11 | Value to initialize m11 to. |
m12 | Value to initialize m12 to. |
m13 | Value to initialize m13 to. |
m14 | Value to initialize m14 to. |
m21 | Value to initialize m21 to. |
m22 | Value to initialize m22 to. |
m23 | Value to initialize m23 to. |
m24 | Value to initialize m24 to. |
m31 | Value to initialize m31 to. |
m32 | Value to initialize m32 to. |
m33 | Value to initialize m33 to. |
m34 | Value to initialize m34 to. |
m41 | Value to initialize m41 to. |
m42 | Value to initialize m42 to. |
m43 | Value to initialize m43 to. |
m44 | Value to initialize m44 to. |
Definition at line 486 of file MatrixD.cs.
|
inline |
Initializes a new instance of Matrix with rotation data
m11 | Value to initialize m11 to. |
m12 | Value to initialize m12 to. |
m13 | Value to initialize m13 to. |
m14 | Value to initialize m14 to. |
m21 | Value to initialize m21 to. |
m22 | Value to initialize m22 to. |
m23 | Value to initialize m23 to. |
m24 | Value to initialize m24 to. |
m31 | Value to initialize m31 to. |
m32 | Value to initialize m32 to. |
m33 | Value to initialize m33 to. |
m34 | Value to initialize m34 to. |
m41 | Value to initialize m41 to. |
m42 | Value to initialize m42 to. |
m43 | Value to initialize m43 to. |
m44 | Value to initialize m44 to. |
Definition at line 511 of file MatrixD.cs.
|
inline |
Definition at line 531 of file MatrixD.cs.
Adds a matrix to another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 2923 of file MatrixD.cs.
|
inlinestatic |
Adds a matrix to another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
result | [OutAttribute] Resulting matrix. |
Definition at line 2949 of file MatrixD.cs.
|
inlinestatic |
Definition at line 3474 of file MatrixD.cs.
|
inline |
Definition at line 3357 of file MatrixD.cs.
|
inlinestatic |
Creates a spherical billboard that rotates around a specified object position.
objectPosition | Position of the object the billboard will rotate around. |
cameraPosition | Position of the camera. |
cameraUpVector | The up vector of the camera. |
cameraForwardVector | Optional forward vector of the camera. |
Definition at line 849 of file MatrixD.cs.
|
inlinestatic |
Creates a spherical billboard that rotates around a specified object position.
objectPosition | Position of the object the billboard will rotate around. |
cameraPosition | Position of the camera. |
cameraUpVector | The up vector of the camera. |
cameraForwardVector | Optional forward vector of the camera. |
result | [OutAttribute] The created billboard matrix. |
Definition at line 889 of file MatrixD.cs.
|
inlinestatic |
Creates a cylindrical billboard that rotates around a specified axis.
objectPosition | Position of the object the billboard will rotate around. |
cameraPosition | Position of the camera. |
rotateAxis | Axis to rotate the billboard around. |
cameraForwardVector | Optional forward vector of the camera. |
objectForwardVector | Optional forward vector of the object. |
Definition at line 927 of file MatrixD.cs.
|
inlinestatic |
Creates a cylindrical billboard that rotates around a specified axis.
objectPosition | Position of the object the billboard will rotate around. |
cameraPosition | Position of the camera. |
rotateAxis | Axis to rotate the billboard around. |
cameraForwardVector | Optional forward vector of the camera. |
objectForwardVector | Optional forward vector of the object. |
result | [OutAttribute] The created billboard matrix. |
Definition at line 990 of file MatrixD.cs.
Creates a new Matrix that rotates around an arbitrary vector.
axis | The axis to rotate around. |
angle | The angle to rotate around the vector. |
Definition at line 1499 of file MatrixD.cs.
|
inlinestatic |
Creates a new Matrix that rotates around an arbitrary vector.
axis | The axis to rotate around. |
angle | The angle to rotate around the vector. |
result | [OutAttribute] The created Matrix. |
Definition at line 1536 of file MatrixD.cs.
Definition at line 3404 of file MatrixD.cs.
Definition at line 3430 of file MatrixD.cs.
|
inlinestatic |
Creates a rotation Matrix from a Quaternion.
quaternion | Quaternion to create the Matrix from. |
Definition at line 2023 of file MatrixD.cs.
|
inlinestatic |
Definition at line 2054 of file MatrixD.cs.
|
inlinestatic |
Creates a rotation Matrix from a Quaternion.
quaternion | Quaternion to create the Matrix from. |
result | [OutAttribute] The created Matrix. |
Definition at line 2089 of file MatrixD.cs.
|
inlinestatic |
Definition at line 2142 of file MatrixD.cs.
|
inlinestatic |
Creates a new rotation matrix from a specified yaw, pitch, and roll.
yaw | Angle of rotation, in radians, around the y-axis. |
pitch | Angle of rotation, in radians, around the x-axis. |
roll | Angle of rotation, in radians, around the z-axis. |
Definition at line 2122 of file MatrixD.cs.
|
inlinestatic |
Fills in a rotation matrix from a specified yaw, pitch, and roll.
yaw | Angle of rotation, in radians, around the y-axis. |
pitch | Angle of rotation, in radians, around the x-axis. |
roll | Angle of rotation, in radians, around the z-axis. |
result | [OutAttribute] An existing matrix filled in to represent the specified yaw, pitch, and roll. |
Definition at line 2135 of file MatrixD.cs.
|
inlinestatic |
Definition at line 1868 of file MatrixD.cs.
|
inlinestatic |
Creates a view matrix.
cameraPosition | The position of the camera. |
cameraTarget | The target towards which the camera is pointing. |
cameraUpVector | The direction that is "up" from the camera's point of view. |
Definition at line 1876 of file MatrixD.cs.
|
inlinestatic |
Creates a view matrix.
cameraPosition | The position of the camera. |
cameraTarget | The target towards which the camera is pointing. |
cameraUpVector | The direction that is "up" from the camera's point of view. |
result | [OutAttribute] The created view matrix. |
Definition at line 1930 of file MatrixD.cs.
|
inlinestatic |
Definition at line 1901 of file MatrixD.cs.
|
inlinestatic |
Builds an orthogonal projection matrix.
width | Width of the view volume. |
height | Height of the view volume. |
zNearPlane | Minimum z-value of the view volume. |
zFarPlane | Maximum z-value of the view volume. |
Definition at line 1797 of file MatrixD.cs.
|
inlinestatic |
Builds an orthogonal projection matrix.
width | Width of the view volume. |
height | Height of the view volume. |
zNearPlane | Minimum z-value of the view volume. |
zFarPlane | Maximum z-value of the view volume. |
result | [OutAttribute] The projection matrix. |
Definition at line 1816 of file MatrixD.cs.
|
inlinestatic |
Builds a customized, orthogonal projection matrix.
left | Minimum x-value of the view volume. |
right | Maximum x-value of the view volume. |
bottom | Minimum y-value of the view volume. |
top | Maximum y-value of the view volume. |
zNearPlane | Minimum z-value of the view volume. |
zFarPlane | Maximum z-value of the view volume. |
Definition at line 1833 of file MatrixD.cs.
|
inlinestatic |
Builds a customized, orthogonal projection matrix.
left | Minimum x-value of the view volume. |
right | Maximum x-value of the view volume. |
bottom | Minimum y-value of the view volume. |
top | Maximum y-value of the view volume. |
zNearPlane | Minimum z-value of the view volume. |
zFarPlane | Maximum z-value of the view volume. |
result | [OutAttribute] The projection matrix. |
Definition at line 1853 of file MatrixD.cs.
|
inlinestatic |
Builds a perspective projection matrix and returns the result by value.
width | Width of the view volume at the near view plane. |
height | Height of the view volume at the near view plane. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to the far view plane. |
Definition at line 1655 of file MatrixD.cs.
|
inlinestatic |
Builds a perspective projection matrix and returns the result by reference.
width | Width of the view volume at the near view plane. |
height | Height of the view volume at the near view plane. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to the far view plane. |
result | [OutAttribute] The projection matrix. |
Definition at line 1691 of file MatrixD.cs.
|
inlinestatic |
Builds a perspective projection matrix based on a field of view and returns by value.
fieldOfView | Field of view in the y direction, in radians. |
aspectRatio | Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to the far view plane. |
Definition at line 1571 of file MatrixD.cs.
|
inlinestatic |
Builds a perspective projection matrix based on a field of view and returns by reference.
fieldOfView | Field of view in the y direction, in radians. |
aspectRatio | Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to the far view plane. |
result | [OutAttribute] The perspective projection matrix. |
Definition at line 1614 of file MatrixD.cs.
|
inlinestatic |
Builds a customized, perspective projection matrix.
left | Minimum x-value of the view volume at the near view plane. |
right | Maximum x-value of the view volume at the near view plane. |
bottom | Minimum y-value of the view volume at the near view plane. |
top | Maximum y-value of the view volume at the near view plane. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to of the far view plane. |
Definition at line 1725 of file MatrixD.cs.
|
inlinestatic |
Builds a customized, perspective projection matrix.
left | Minimum x-value of the view volume at the near view plane. |
right | Maximum x-value of the view volume at the near view plane. |
bottom | Minimum y-value of the view volume at the near view plane. |
top | Maximum y-value of the view volume at the near view plane. |
nearPlaneDistance | Distance to the near view plane. |
farPlaneDistance | Distance to of the far view plane. |
result | [OutAttribute] The created projection matrix. |
Definition at line 1762 of file MatrixD.cs.
Creates a Matrix that reflects the coordinate system about a specified Plane.
value | The Plane about which to create a reflection. |
Definition at line 2218 of file MatrixD.cs.
|
inlinestatic |
Returns a matrix that can be used to rotate a set of vertices around the x-axis.
radians | The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. |
Definition at line 1337 of file MatrixD.cs.
|
inlinestatic |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis.
radians | The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. |
result | [OutAttribute] The matrix in which to place the calculated data. |
Definition at line 1365 of file MatrixD.cs.
|
inlinestatic |
Returns a matrix that can be used to rotate a set of vertices around the y-axis.
radians | The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. |
Definition at line 1391 of file MatrixD.cs.
|
inlinestatic |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis.
radians | The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. |
result | [OutAttribute] The matrix in which to place the calculated data. |
Definition at line 1419 of file MatrixD.cs.
|
inlinestatic |
Returns a matrix that can be used to rotate a set of vertices around the z-axis.
radians | The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. |
Definition at line 1445 of file MatrixD.cs.
|
inlinestatic |
Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis.
radians | The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. |
result | [OutAttribute] The rotation matrix. |
Definition at line 1473 of file MatrixD.cs.
|
inlinestatic |
Creates a scaling Matrix.
xScale | Value to scale by on the x-axis. |
yScale | Value to scale by on the y-axis. |
zScale | Value to scale by on the z-axis. |
Definition at line 1173 of file MatrixD.cs.
|
inlinestatic |
Creates a scaling Matrix.
xScale | Value to scale by on the x-axis. |
yScale | Value to scale by on the y-axis. |
zScale | Value to scale by on the z-axis. |
result | [OutAttribute] The created scaling Matrix. |
Definition at line 1202 of file MatrixD.cs.
Creates a scaling Matrix.
scales | Amounts to scale by on the x, y, and z axes. |
Definition at line 1229 of file MatrixD.cs.
Creates a scaling Matrix.
scales | Amounts to scale by on the x, y, and z axes. |
result | [OutAttribute] The created scaling Matrix. |
Definition at line 1258 of file MatrixD.cs.
|
inlinestatic |
Creates a scaling Matrix.
scale | Amount to scale by. |
Definition at line 1285 of file MatrixD.cs.
|
inlinestatic |
Creates a scaling Matrix.
scale | Value to scale by. |
result | [OutAttribute] The created scaling Matrix. |
Definition at line 1312 of file MatrixD.cs.
Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.
lightDirection | A Vector3 specifying the direction from which the light that will cast the shadow is coming. |
plane | The Plane onto which the new matrix should flatten geometry so as to cast a shadow. |
Definition at line 2154 of file MatrixD.cs.
|
inlinestatic |
Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source.
lightDirection | A Vector3 specifying the direction from which the light that will cast the shadow is coming. |
plane | The Plane onto which the new matrix should flatten geometry so as to cast a shadow. |
result | [OutAttribute] A Matrix that can be used to flatten geometry onto the specified plane from the specified direction. |
Definition at line 2187 of file MatrixD.cs.
Creates a translation Matrix.
position | Amounts to translate by on the x, y, and z axes. |
Definition at line 1051 of file MatrixD.cs.
Definition at line 1073 of file MatrixD.cs.
|
inlinestatic |
Creates a translation Matrix.
position | Amounts to translate by on the x, y, and z axes. |
result | [OutAttribute] The created translation Matrix. |
Definition at line 1099 of file MatrixD.cs.
|
inlinestatic |
Creates a translation Matrix.
xPosition | Value to translate by on the x-axis. |
yPosition | Value to translate by on the y-axis. |
zPosition | Value to translate by on the z-axis. |
Definition at line 1123 of file MatrixD.cs.
|
inlinestatic |
Creates a translation Matrix.
xPosition | Value to translate by on the x-axis. |
yPosition | Value to translate by on the y-axis. |
zPosition | Value to translate by on the z-axis. |
result | [OutAttribute] The created translation Matrix. |
Definition at line 1149 of file MatrixD.cs.
|
inlinestatic |
Definition at line 1953 of file MatrixD.cs.
Definition at line 1958 of file MatrixD.cs.
|
inlinestatic |
Creates a world matrix with the specified parameters.
position | Position of the object. This value is used in translation operations. |
forward | Forward direction of the object. |
up | Upward direction of the object; usually [0, 1, 0]. |
Definition at line 1967 of file MatrixD.cs.
|
inlinestatic |
Creates a world matrix with the specified parameters.
position | Position of the object. This value is used in translation operations. |
forward | Forward direction of the object. |
up | Upward direction of the object; usually [0, 1, 0]. |
result | [OutAttribute] The created world matrix. |
Definition at line 1996 of file MatrixD.cs.
|
inline |
Calculates the determinant of the matrix.
Definition at line 2570 of file MatrixD.cs.
Divides the components of a matrix by the corresponding components of another matrix.
matrix1 | Source matrix. |
matrix2 | The divisor. |
Definition at line 3245 of file MatrixD.cs.
|
inlinestatic |
Divides the components of a matrix by the corresponding components of another matrix.
matrix1 | Source matrix. |
matrix2 | The divisor. |
result | [OutAttribute] Result of the division. |
Definition at line 3271 of file MatrixD.cs.
Divides the components of a matrix by a scalar.
matrix1 | Source matrix. |
divider | The divisor. |
Definition at line 3295 of file MatrixD.cs.
|
inlinestatic |
Divides the components of a matrix by a scalar.
matrix1 | Source matrix. |
divider | The divisor. |
result | [OutAttribute] Result of the division. |
Definition at line 3322 of file MatrixD.cs.
|
inline |
Determines whether the specified Object is equal to the Matrix.
other | The Object to compare with the current Matrix. |
Definition at line 2452 of file MatrixD.cs.
|
inline |
Returns a value that indicates whether the current instance is equal to a specified object.
obj | Object with which to make the comparison. |
Definition at line 2485 of file MatrixD.cs.
|
inline |
Compares just position, forward and up
Definition at line 2463 of file MatrixD.cs.
|
inline |
Definition at line 327 of file MatrixD.cs.
|
inline |
Definition at line 332 of file MatrixD.cs.
|
inline |
Gets the base vector of the matrix, corresponding to the given direction
Definition at line 274 of file MatrixD.cs.
Definition at line 3569 of file MatrixD.cs.
|
inline |
Gets the hash code of this object.
Definition at line 2496 of file MatrixD.cs.
|
inline |
|
inline |
Definition at line 2388 of file MatrixD.cs.
|
inline |
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.
Definition at line 3392 of file MatrixD.cs.
Calculates the inverse of a matrix.
matrix | Source matrix. |
Definition at line 2601 of file MatrixD.cs.
Definition at line 2606 of file MatrixD.cs.
Calculates the inverse of a matrix.
matrix | The source matrix. |
result | [OutAttribute] The inverse of matrix. The same matrix can be used for both arguments. |
Definition at line 2671 of file MatrixD.cs.
|
inline |
Definition at line 3633 of file MatrixD.cs.
|
inline |
Definition at line 3367 of file MatrixD.cs.
|
inline |
Definition at line 3372 of file MatrixD.cs.
|
inline |
Definition at line 3362 of file MatrixD.cs.
|
inlinestatic |
Linearly interpolates between the corresponding values of two matrices.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
amount | Interpolation value. |
Definition at line 2734 of file MatrixD.cs.
|
inlinestatic |
Linearly interpolates between the corresponding values of two matrices.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
amount | Interpolation value. |
result | [OutAttribute] Resulting matrix. |
Definition at line 2760 of file MatrixD.cs.
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 3023 of file MatrixD.cs.
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 3050 of file MatrixD.cs.
|
inlinestatic |
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
result | [OutAttribute] Result of the multiplication. |
Definition at line 3077 of file MatrixD.cs.
|
inlinestatic |
Definition at line 3113 of file MatrixD.cs.
|
inlinestatic |
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
result | [OutAttribute] Result of the multiplication. |
Definition at line 3153 of file MatrixD.cs.
Multiplies a matrix by a scalar value.
matrix1 | Source matrix. |
scaleFactor | Scalar value. |
Definition at line 3193 of file MatrixD.cs.
|
inlinestatic |
Multiplies a matrix by a scalar value.
matrix1 | Source matrix. |
scaleFactor | Scalar value. |
result | [OutAttribute] The result of the multiplication. |
Definition at line 3220 of file MatrixD.cs.
Negates individual elements of a matrix.
matrix | Source matrix. |
Definition at line 2873 of file MatrixD.cs.
Negates individual elements of a matrix.
matrix | Source matrix. |
result | [OutAttribute] Negated matrix. |
Definition at line 2899 of file MatrixD.cs.
Definition at line 3438 of file MatrixD.cs.
Definition at line 3638 of file MatrixD.cs.
Definition at line 3647 of file MatrixD.cs.
Tests a matrix for inequality with another matrix.
matrix1 | The matrix on the left of the equal sign. |
matrix2 | The matrix on the right of the equal sign. |
Definition at line 594 of file MatrixD.cs.
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 658 of file MatrixD.cs.
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 690 of file MatrixD.cs.
Multiplies a matrix by another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 716 of file MatrixD.cs.
Multiplies a matrix by a scalar value.
matrix | Source matrix. |
scaleFactor | Scalar value. |
Definition at line 742 of file MatrixD.cs.
Multiplies a matrix by a scalar value.
scaleFactor | Scalar value. |
matrix | Source matrix. |
Definition at line 769 of file MatrixD.cs.
Adds a matrix to another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 606 of file MatrixD.cs.
Negates individual elements of a matrix.
matrix1 | Source matrix. |
Definition at line 556 of file MatrixD.cs.
Subtracts matrices.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 632 of file MatrixD.cs.
Divides the components of a matrix by the corresponding components of another matrix.
matrix1 | Source matrix. |
matrix2 | The divisor. |
Definition at line 796 of file MatrixD.cs.
Divides the components of a matrix by a scalar.
matrix1 | Source matrix. |
divider | The divisor. |
Definition at line 822 of file MatrixD.cs.
Compares a matrix for equality with another matrix.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 582 of file MatrixD.cs.
Definition at line 3448 of file MatrixD.cs.
|
inlinestatic |
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Definition at line 390 of file MatrixD.cs.
|
inlinestatic |
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Definition at line 409 of file MatrixD.cs.
Same result as Matrix.CreateScale(scale) * matrix, but much faster
Definition at line 428 of file MatrixD.cs.
Definition at line 444 of file MatrixD.cs.
Definition at line 451 of file MatrixD.cs.
|
inline |
Sets the base vector of the matrix, corresponding to the given direction
Definition at line 299 of file MatrixD.cs.
|
inline |
Definition at line 2400 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation.
Definition at line 2783 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation.
Definition at line 2835 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation.
Definition at line 2843 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation and scale.
Definition at line 2801 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation and scale.
Definition at line 2853 of file MatrixD.cs.
|
inlinestatic |
Performs spherical linear interpolation of position and rotation and scale.
Definition at line 2861 of file MatrixD.cs.
Subtracts matrices.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
Definition at line 2973 of file MatrixD.cs.
|
inlinestatic |
Subtracts matrices.
matrix1 | Source matrix. |
matrix2 | Source matrix. |
result | [OutAttribute] Result of the subtraction. |
Definition at line 2999 of file MatrixD.cs.
Definition at line 3618 of file MatrixD.cs.
|
inline |
Retrieves a string representation of the current object.
Definition at line 2442 of file MatrixD.cs.
|
inlinestatic |
Transforms a Matrix by applying a Quaternion rotation.
value | The Matrix to transform. |
rotation | The rotation to apply, expressed as a Quaternion. |
Definition at line 2284 of file MatrixD.cs.
|
inlinestatic |
Transforms a Matrix by applying a Quaternion rotation.
value | The Matrix to transform. |
rotation | The rotation to apply, expressed as a Quaternion. |
result | [OutAttribute] An existing Matrix filled in with the result of the transform. |
Definition at line 2331 of file MatrixD.cs.
Transposes the rows and columns of a matrix.
matrix | Source matrix. |
Definition at line 2505 of file MatrixD.cs.
Transposes the rows and columns of a matrix.
matrix | Source matrix. |
result | [OutAttribute] Transposed matrix. |
Definition at line 2531 of file MatrixD.cs.
|
static |
Definition at line 23 of file MatrixD.cs.
double VRageMath.MatrixD.M11 |
Value at row 1 column 1 of the matrix.
Definition at line 31 of file MatrixD.cs.
double VRageMath.MatrixD.M12 |
Value at row 1 column 2 of the matrix.
Definition at line 36 of file MatrixD.cs.
double VRageMath.MatrixD.M13 |
Value at row 1 column 3 of the matrix.
Definition at line 41 of file MatrixD.cs.
double VRageMath.MatrixD.M14 |
Value at row 1 column 4 of the matrix.
Definition at line 46 of file MatrixD.cs.
double VRageMath.MatrixD.M21 |
Value at row 2 column 1 of the matrix.
Definition at line 51 of file MatrixD.cs.
double VRageMath.MatrixD.M22 |
Value at row 2 column 2 of the matrix.
Definition at line 56 of file MatrixD.cs.
double VRageMath.MatrixD.M23 |
Value at row 2 column 3 of the matrix.
Definition at line 61 of file MatrixD.cs.
double VRageMath.MatrixD.M24 |
Value at row 2 column 4 of the matrix.
Definition at line 66 of file MatrixD.cs.
double VRageMath.MatrixD.M31 |
Value at row 3 column 1 of the matrix.
Definition at line 71 of file MatrixD.cs.
double VRageMath.MatrixD.M32 |
Value at row 3 column 2 of the matrix.
Definition at line 76 of file MatrixD.cs.
double VRageMath.MatrixD.M33 |
Value at row 3 column 3 of the matrix.
Definition at line 81 of file MatrixD.cs.
double VRageMath.MatrixD.M34 |
Value at row 3 column 4 of the matrix.
Definition at line 86 of file MatrixD.cs.
double VRageMath.MatrixD.M41 |
Value at row 4 column 1 of the matrix.
Definition at line 91 of file MatrixD.cs.
double VRageMath.MatrixD.M42 |
Value at row 4 column 2 of the matrix.
Definition at line 96 of file MatrixD.cs.
double VRageMath.MatrixD.M43 |
Value at row 4 column 3 of the matrix.
Definition at line 101 of file MatrixD.cs.
double VRageMath.MatrixD.M44 |
Value at row 4 column 4 of the matrix.
Definition at line 106 of file MatrixD.cs.
Definition at line 24 of file MatrixD.cs.
|
getset |
Gets and sets the backward vector of the Matrix.
Definition at line 254 of file MatrixD.cs.
|
get |
Definition at line 109 of file MatrixD.cs.
|
get |
Definition at line 121 of file MatrixD.cs.
|
get |
Definition at line 133 of file MatrixD.cs.
|
getset |
Gets and sets the down vector of the Matrix.
Definition at line 170 of file MatrixD.cs.
|
getset |
Gets and sets the forward vector of the Matrix.
Definition at line 233 of file MatrixD.cs.
|
getset |
Gets and sets the left vector of the Matrix.
Definition at line 212 of file MatrixD.cs.
|
getset |
Gets and sets the right vector of the Matrix.
Definition at line 191 of file MatrixD.cs.
|
get |
Definition at line 379 of file MatrixD.cs.
|
getset |
Definition at line 2416 of file MatrixD.cs.
|
getset |
Gets and sets the translation vector of the Matrix.
Definition at line 461 of file MatrixD.cs.
|
getset |
Gets and sets the up vector of the Matrix.
Definition at line 149 of file MatrixD.cs.