VRageMath
QuaternionD
Assembly: VRage.Math.dll
public struct QuaternionD
Defines a four-dimensional vector (x,y,z,w), which is used to efficiently rotate an object about the (x, y, z) vector by the angle theta, where w = cos(theta/2). Uses double precision floating point numbers for calculation and storage
Fields
| Member | Description |
|---|---|
| static Identity | |
| W | Specifies the rotation component of the quaternion. |
| X | Specifies the x-value of the vector component of the quaternion. |
| Y | Specifies the y-value of the vector component of the quaternion. |
| Z | Specifies the z-value of the vector component of the quaternion. |
Constructors
| Member | Description |
|---|---|
| QuaternionD(double, double, double, double) | |
| QuaternionD(Vector3D, double) |
Methods
| Member | Description |
|---|---|
| static Add(QuaternionD, QuaternionD) | Adds two Quaternions. |
| static Add(ref QuaternionD, ref QuaternionD, out QuaternionD) | Adds two Quaternions. |
| static Concatenate(QuaternionD, QuaternionD) | Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation. |
| static Concatenate(ref QuaternionD, ref QuaternionD, out QuaternionD) | Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation. |
| static Conjugate(QuaternionD) | Returns the conjugate of a specified QuaternionD. |
| static Conjugate(ref QuaternionD, out QuaternionD) | Returns the conjugate of a specified QuaternionD. |
| static CreateFromAxisAngle(Vector3D, double) | Creates a QuaternionD from a vector and an angle to rotate about the vector. |
| static CreateFromAxisAngle(ref Vector3D, double, out QuaternionD) | Creates a QuaternionD from a vector and an angle to rotate about the vector. |
| static CreateFromForwardUp(Vector3D, Vector3D) | Works for normalized vectors only |
| static CreateFromRotationMatrix(MatrixD) | Creates a QuaternionD from a rotation MatrixD. |
| static CreateFromRotationMatrix(ref MatrixD, out QuaternionD) | Creates a QuaternionD from a rotation MatrixD. |
| static CreateFromTwoVectors(ref Vector3D, ref Vector3D, out QuaternionD) | |
| static CreateFromTwoVectors(Vector3D, Vector3D) | |
| static CreateFromYawPitchRoll(double, double, double) | Creates a new QuaternionD from specified yaw, pitch, and roll angles. |
| static CreateFromYawPitchRoll(double, double, double, out QuaternionD) | Creates a new QuaternionD from specified yaw, pitch, and roll angles. |
| static Divide(QuaternionD, QuaternionD) | Divides a QuaternionD by another QuaternionD. |
| static Divide(ref QuaternionD, ref QuaternionD, out QuaternionD) | Divides a QuaternionD by another QuaternionD. |
| static Dot(QuaternionD, QuaternionD) | Calculates the dot product of two Quaternions. |
| static Dot(ref QuaternionD, ref QuaternionD, out double) | Calculates the dot product of two Quaternions. |
| static FromVector4(Vector4D) | |
| static Inverse(QuaternionD) | Returns the inverse of a QuaternionD. |
| static Inverse(ref QuaternionD, out QuaternionD) | Returns the inverse of a QuaternionD. |
| static IsZero(QuaternionD) | |
| static IsZero(QuaternionD, double) | |
| static Lerp(QuaternionD, QuaternionD, double) | Linearly interpolates between two quaternions. |
| static Lerp(ref QuaternionD, ref QuaternionD, double, out QuaternionD) | Linearly interpolates between two quaternions. |
| static Multiply(QuaternionD, QuaternionD) | Multiplies two quaternions. |
| static Multiply(ref QuaternionD, ref QuaternionD, out QuaternionD) | Multiplies two quaternions. |
| static Multiply(QuaternionD, double) | Multiplies a quaternion by a scalar value. |
| static Multiply(ref QuaternionD, double, out QuaternionD) | Multiplies a quaternion by a scalar value. |
| static Negate(QuaternionD) | Flips the sign of each component of the quaternion. |
| static Negate(ref QuaternionD, out QuaternionD) | Flips the sign of each component of the quaternion. |
| static Normalize(QuaternionD) | Divides each component of the quaternion by the length of the quaternion. |
| static Normalize(ref QuaternionD, out QuaternionD) | Divides each component of the quaternion by the length of the quaternion. |
| static Slerp(QuaternionD, QuaternionD, double) | Interpolates between two quaternions, using spherical linear interpolation. |
| static Slerp(ref QuaternionD, ref QuaternionD, double, out QuaternionD) | Interpolates between two quaternions, using spherical linear interpolation. |
| static Subtract(QuaternionD, QuaternionD) | Subtracts a quaternion from another quaternion. |
| static Subtract(ref QuaternionD, ref QuaternionD, out QuaternionD) | Subtracts a quaternion from another quaternion. |
| Conjugate() | Transforms this QuaternionD into its conjugate. |
| Equals(QuaternionD) | Determines whether the specified Object is equal to the QuaternionD. |
| Equals(object) | Returns a value that indicates whether the current instance is equal to a specified object. |
| GetAxisAngle(out Vector3D, out double) | |
| GetHashCode() | Get the hash code of this object. |
| Length() | Calculates the length of a QuaternionD. |
| LengthSquared() | Calculates the length squared of a QuaternionD. |
| Normalize() | Divides each component of the quaternion by the length of the quaternion. |
| ToString() | Retireves a string representation of the current object. |
| ToVector4() |