VRageMath
Vector3D
Assembly: VRage.Math.dll
public struct Vector3D: IEquatable<Vector3D>
Defines a vector with three components. Vector3 with double floating point precision
Fields
| Member | Description |
|---|---|
| static Backward | |
| static Down | |
| static Forward | |
| static Half | |
| static Left | |
| static MaxValue | |
| static MinValue | |
| static NegativeInfinity | |
| static One | |
| static PositiveInfinity | |
| static Right | |
| static UnitX | |
| static UnitY | |
| static UnitZ | |
| static Up | |
| static Zero | |
| X | Gets or sets the x-component of the vector. |
| Y | Gets or sets the y-component of the vector. |
| Z | Gets or sets the z-component of the vector. |
Properties
| Member | Description |
|---|---|
| Sum | |
| Volume |
Constructors
Methods
| Member | Description |
|---|---|
| static Abs(ref Vector3D, out Vector3D) | |
| static Abs(Vector3D) | |
| static Add(Vector3D, Vector3D) | Adds two vectors. |
| static Add(ref Vector3D, ref Vector3D, out Vector3D) | Adds two vectors. |
| static Angle(Vector3D, Vector3D) | Gets angle between 2 vectors in radians |
| static ArePerpendicular(ref Vector3D, ref Vector3D) | |
| static Barycentric(Vector3D, Vector3D, Vector3D, double, double) | Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. |
| static Barycentric(ref Vector3D, ref Vector3D, ref Vector3D, double, double, out Vector3D) | Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 3D triangle. |
| static Barycentric(Vector3D, Vector3D, Vector3D, Vector3D, out double, out double, out double) | Compute barycentric coordinates (u, v, w) for point p with respect to triangle (a, b, c) From : Real-Time Collision Detection, Christer Ericson, CRC Press 3.4 Barycentric Coordinates |
| static CalculatePerpendicularVector(Vector3D) | |
| static CatmullRom(Vector3D, Vector3D, Vector3D, Vector3D, double) | Performs a Catmull-Rom interpolation using the specified positions. |
| static CatmullRom(ref Vector3D, ref Vector3D, ref Vector3D, ref Vector3D, double, out Vector3D) | Performs a Catmull-Rom interpolation using the specified positions. |
| static Clamp(Vector3D, Vector3D, Vector3D) | Restricts a value to be within a specified range. |
| static Clamp(ref Vector3D, ref Vector3D, ref Vector3D, out Vector3D) | Restricts a value to be within a specified range. |
| static ClampToSphere(Vector3D, double, bool) | |
| static ClampToSphere(ref Vector3D, double) | |
| static CreateFromAzimuthAndElevation(double, double, out Vector3D) | |
| static Cross(Vector3D, Vector3D) | Calculates the cross product of two vectors. |
| static Cross(ref Vector3D, ref Vector3D, out Vector3D) | Calculates the cross product of two vectors. |
| static Distance(Vector3D, Vector3D) | Calculates the distance between two vectors. |
| static Distance(Vector3D, Vector3) | |
| static Distance(Vector3, Vector3D) | |
| static Distance(ref Vector3D, ref Vector3D, out double) | Calculates the distance between two vectors. |
| static DistanceSquared(Vector3D, Vector3D) | Calculates the distance between two vectors squared. |
| static DistanceSquared(ref Vector3D, ref Vector3D, out double) | Calculates the distance between two vectors squared. |
| static Divide(Vector3D, Vector3D) | Divides the components of a vector by the components of another vector. |
| static Divide(ref Vector3D, ref Vector3D, out Vector3D) | Divides the components of a vector by the components of another vector. |
| static Divide(Vector3D, double) | Divides a vector by a scalar value. |
| static Divide(ref Vector3D, double, out Vector3D) | Divides a vector by a scalar value. |
| static DominantAxisProjection(Vector3D) | Returns a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. |
| static DominantAxisProjection(ref Vector3D, out Vector3D) | Calculates a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. The result is saved into a user-specified variable. |
| static Dot(Vector3D, Vector3D) | Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a doubleing point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. |
| static Dot(Vector3D, Vector3) | |
| static Dot(ref Vector3D, ref Vector3D, out double) | Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a doubleing point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. |
| static Dot(ref Vector3D, ref Vector3, out double) | |
| static Dot(ref Vector3, ref Vector3D, out double) | |
| static Floor(Vector3D) | |
| static Fract(ref Vector3D, out Vector3D) | |
| static GetAzimuthAndElevation(Vector3D, out double, out double) | |
| static Hermite(Vector3D, Vector3D, Vector3D, Vector3D, double) | Performs a Hermite spline interpolation. |
| static Hermite(ref Vector3D, ref Vector3D, ref Vector3D, ref Vector3D, double, out Vector3D) | Performs a Hermite spline interpolation. |
| static IsUnit(ref Vector3D) | |
| static IsZero(Vector3D) | |
| static IsZero(Vector3D, double) | |
| static IsZeroVector(Vector3D) | |
| static IsZeroVector(Vector3D, double) | |
| static Lerp(Vector3D, Vector3D, double) | Performs a linear interpolation between two vectors. |
| static Lerp(ref Vector3D, ref Vector3D, double, out Vector3D) | Performs a linear interpolation between two vectors. |
| static Max(Vector3D, Vector3D) | Returns a vector that contains the highest value from each matching pair of components. |
| static Max(ref Vector3D, ref Vector3D, out Vector3D) | Returns a vector that contains the highest value from each matching pair of components. |
| static Min(Vector3D, Vector3D) | Returns a vector that contains the lowest value from each matching pair of components. |
| static Min(ref Vector3D, ref Vector3D, out Vector3D) | Returns a vector that contains the lowest value from each matching pair of components. |
| static MinMax(ref Vector3D, ref Vector3D) | Separates minimal and maximal values of any two input vectors |
| static Multiply(Vector3D, Vector3D) | Multiplies the components of two vectors by each other. |
| static Multiply(ref Vector3D, ref Vector3D, out Vector3D) | Multiplies the components of two vectors by each other. |
| static Multiply(Vector3D, double) | Multiplies a vector by a scalar value. |
| static Multiply(ref Vector3D, double, out Vector3D) | Multiplies a vector by a scalar value. |
| static Negate(Vector3D) | Returns a vector pointing in the opposite direction. |
| static Negate(ref Vector3D, out Vector3D) | Returns a vector pointing in the opposite direction. |
| static Normalize(Vector3D) | Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. |
| static Normalize(ref Vector3D, out Vector3D) | Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector. |
| static ProjectOnPlane(ref Vector3D, ref Vector3D) | Projects given vector on plane specified by it's normal. |
| static ProjectOnVector(ref Vector3D, ref Vector3D) | Projects vector on another vector resulting in new vector in guided vector's direction with different length. |
| static RectangularDistance(Vector3D, Vector3D) | Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. |
| static RectangularDistance(ref Vector3D, ref Vector3D) | Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. |
| static Reflect(Vector3D, Vector3D) | Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. |
| static Reflect(ref Vector3D, ref Vector3D, out Vector3D) | Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. |
| static Reject(Vector3D, Vector3D) | Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction |
| static Reject(ref Vector3D, ref Vector3D, out Vector3D) | Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction |
| static Rotate(ref Vector3D, ref MatrixD, out Vector3D) | |
| static Rotate(Vector3D, MatrixD) | |
| static RotateAndScale(ref Vector3D, ref MatrixD, out Vector3D) | |
| static Round(Vector3D) | |
| static Round(Vector3D, int) | |
| static Sign(Vector3D) | |
| static SignNonZero(Vector3D) | Returns per component sign, never returns zero. For zero component returns sign 1. Faster than Sign. |
| static SmoothStep(Vector3D, Vector3D, double) | Interpolates between two values using a cubic equation. |
| static SmoothStep(ref Vector3D, ref Vector3D, double, out Vector3D) | Interpolates between two values using a cubic equation. |
| static Step(Vector3D) | |
| static Subtract(Vector3D, Vector3D) | Subtracts a vector from a vector. |
| static Subtract(ref Vector3D, ref Vector3D, out Vector3D) | Subtracts a vector from a vector. |
| static SwapYZCoordinates(Vector3D) | |
| static Transform(Vector3D, Quaternion) | Transforms a Vector3 by a specified Quaternion rotation. |
| static Transform(Vector3D, QuaternionD) | Transforms a Vector3 by a specified Quaternion rotation. |
| static Transform(ref Vector3D, ref Quaternion, out Vector3D) | Transforms a Vector3 by a specified Quaternion rotation. |
| static Transform(Vector3D[], ref MatrixD, Vector3D[]) | Transforms a source array of Vector3s by a specified Matrix and writes the results to an existing destination array. |
| static Transform(Vector3D[], ref MatrixD, *Vector3D) | |
| static Transform(Vector3D[], int, ref Matrix, Vector3D[], int, int) | Applies a specified transform Matrix to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. |
| static Transform(Vector3D[], ref Quaternion, Vector3D[]) | Transforms a source array of Vector3s by a specified Quaternion rotation and writes the results to an existing destination array. |
| static Transform(Vector3D[], int, ref Quaternion, Vector3D[], int, int) | Applies a specified Quaternion rotation to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. |
| static Transform(Vector3D, MatrixD) | Transforms a 3D vector by the given matrix. |
| static Transform(Vector3, MatrixD) | |
| static Transform(Vector3D, Matrix) | Transforms a 3D vector by the given matrix. |
| static Transform(Vector3D, ref MatrixD) | |
| static Transform(ref Vector3D, ref MatrixD, out Vector3D) | Transforms a Vector3 by the given Matrix. |
| static Transform(ref Vector3, ref MatrixD, out Vector3D) | |
| static Transform(ref Vector3D, ref MatrixI, out Vector3D) | |
| static TransformNoProjection(ref Vector3D, ref MatrixD, out Vector3D) | |
| static TransformNormal(Vector3D, MatrixD) | Transforms a 3D vector normal by a matrix. |
| static TransformNormal(ref Vector3D, ref MatrixD, out Vector3D) | Transforms a vector normal by a matrix. |
| static TransformNormal(ref Vector3, ref MatrixD, out Vector3D) | |
| static TransformNormal(ref Vector3D, ref MatrixI, out Vector3D) | |
| static TransformNormal(Vector3D, MyBlockOrientation) | |
| static TransformNormal(ref Vector3D, MyBlockOrientation, out Vector3D) | |
| static TransformNormal(Vector3D, ref MatrixD) | |
| static TransformNormal(Vector3D[], ref Matrix, Vector3D[]) | Transforms an array of 3D vector normals by a specified Matrix. |
| static TransformNormal(Vector3D[], ref Matrix, *Vector3D) | |
| static TransformNormal(Vector3D[], int, ref Matrix, Vector3D[], int, int) | Transforms a specified range in an array of 3D vector normals by a specified Matrix and writes the results to a specified range in a destination array. |
| static TransformNormal(Vector3D, Matrix) | Transforms a 3D vector normal by a matrix. |
| static TransformNormal(Vector3, MatrixD) | Transforms a 3D vector normal by a matrix. |
| static TryParse(string, out Vector3D) | |
| AbsMax() | Returns the component of the vector, whose absolute value is largest of all the three components. |
| AbsMaxComponent() | |
| AbsMin() | Returns the component of the vector, whose absolute value is smallest of all the three components. |
| AssertIsValid() | |
| CalculatePerpendicularVector(out Vector3D) | |
| Cross(Vector3D) | |
| Dot(Vector3D) | |
| Dot(Vector3) | |
| Dot(ref Vector3D) | |
| Equals(Vector3D) | Determines whether the specified Object is equal to the Vector3. |
| Equals(Vector3D, double) | |
| Equals(object) | Returns a value that indicates whether the current instance is equal to a specified object. |
| GetDim(int) | |
| GetHash() | Gets the hash code of the vector object. |
| GetHashCode() | |
| Interpolate3(Vector3D, Vector3D, double) | |
| IsInsideInclusive(ref Vector3D, ref Vector3D) | |
| IsValid() | |
| IsZero() | |
| Length() | Calculates the length of the vector. |
| LengthSquared() | Calculates the length of the vector squared. |
| Max() | Returns the component of the vector that is largest of all the three components. |
| Min() | Returns the component of the vector that is smallest of all the three components. |
| Normalize() | Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector. |
| Normalized() | Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. |
| Rotate(Vector3D, double) | |
| SetDim(int, double) | |
| ToString() | Retrieves a string representation of the current object. |
| ToString(string) | |
| VolumeInt(double) |
Implements: