A Vector3d object uses double precision floating point values to describe a point in 3D space.
Name | Parameters | Return value | Notes |
() (constructor) |
|
|
Creates a new Vector3d object by copying the coords from the given Vector3f. |
() (constructor) |
|
|
Creates a new Vector3d object with all its coords set to 0. |
() (constructor) |
|
|
Creates a new Vector3d object with its coords set to the specified values. |
operator * |
|
|
Returns a new Vector3d object with each coord multiplied. |
operator * |
|
|
Returns a new Vector3d object with each coord multiplied by the corresponding coord from the given vector. |
operator + |
|
|
Returns a new Vector3d containing the sum of this vector and the specified vector |
operator - |
|
|
Returns a new Vector3d object that is a negative of this vector (all coords multiplied by -1). |
operator - |
|
|
Returns a new Vector3d object containing the difference between this object and the specified vector. |
operator / |
|
|
Returns a new Vector3d object with each coord divided by the corresponding coord from the given vector. |
operator / |
|
|
Returns a new Vector3d object with each coord divided by the specified number. |
Abs |
|
|
Updates each coord to its absolute value. |
Ceil |
|
|
Returns a new Vector3i object with coords set to math.ceil of this vector's coords. |
Clamp |
|
|
Clamps each coord into the specified range. |
Cross |
|
|
Returns a new Vector3d that is a cross product of this vector and the specified vector. |
Dot |
|
|
Returns the dot product of this vector and the specified vector. |
Equals |
|
|
Returns true if this vector is exactly equal to the specified vector. Note that this is subject to (possibly imprecise) floating point math. |
EqualsEps |
|
|
Returns true if the differences between each corresponding coords of this vector and the one specified are less than the specified Eps. |
Floor |
|
|
Returns a new Vector3i object with coords set to math.floor of this vector's coords. |
HasNonZeroLength |
|
|
Returns true if the vector has at least one coord non-zero. Note that this is subject to (possibly imprecise) floating point math. |
Length |
|
|
Returns the (euclidean) length of the vector. |
LineCoeffToXYPlane |
|
|
Returns the coefficient for the line from the specified vector through this vector to reach the specified Z coord. The result satisfies the following equation: (this + Result * (Param - this)).z = Z. Returns the NO_INTERSECTION constant if there's no intersection. |
LineCoeffToXZPlane |
|
|
Returns the coefficient for the line from the specified vector through this vector to reach the specified Y coord. The result satisfies the following equation: (this + Result * (Param - this)).y = Y. Returns the NO_INTERSECTION constant if there's no intersection. |
LineCoeffToYZPlane |
|
|
Returns the coefficient for the line from the specified vector through this vector to reach the specified X coord. The result satisfies the following equation: (this + Result * (Param - this)).x = X. Returns the NO_INTERSECTION constant if there's no intersection. |
Move |
|
|
Adds the specified offsets to each coord, effectively moving the vector by the specified coord offsets. |
Move |
|
|
Adds the specified vector to this vector. Is slightly better performant than adding with a "+" because this doesn't create a new object for the result. |
Normalize |
|
|
Changes this vector so that it keeps current direction but is exactly 1 unit long. FIXME: Fails for a zero vector. |
NormalizeCopy |
|
|
Returns a new vector that has the same direction as this but is exactly 1 unit long. FIXME: Fails for a zero vector. |
Set |
|
|
Sets all the coords in this object. |
SqrLength |
|
|
Returns the (euclidean) length of this vector, squared. This operation is slightly less computationally expensive than Length(), while it conserves some properties of Length(), such as comparison. |
TurnCCW |
|
|
Rotates the vector 90 degrees counterclockwise around the vertical axis. Note that this is specific to minecraft's axis ordering, which is X+ left, Z+ down. |
TurnCW |
|
|
Rotates the vector 90 degrees clockwise around the vertical axis. Note that this is specific to minecraft's axis ordering, which is X+ left, Z+ down. |
addedX |
|
|
Returns a copy of the vector, moved by the specified offset on the X axis |
addedXZ |
|
|
Returns a copy of the vector, moved by the specified offsets on the X and Z axes |
addedY |
|
|
Returns a copy of the vector, moved by the specified offset on the Y axis |
addedZ |
|
|
Returns a copy of the vector, moved by the specified offset on the Z axis |