Vector3d


Index:
Articles
Classes
Hooks

Quick navigation:
cArrowEntity
cBeaconEntity
cBlockArea
cBlockEntity
cBlockEntityWithItems
cBlockInfo
cBoundingBox
cBrewingstandEntity
cChatColor
cChestEntity
cChunkDesc
cClientHandle
cCommandBlockEntity
cCompositeChat
cCraftingGrid
cCraftingRecipe
cCryptoHash
cCuboid
cDispenserEntity
cDropperEntity
cDropSpenserEntity
cEnchantments
cEntity
cEntityEffect
cExpBottleEntity
cFile
cFireChargeEntity
cFireworkEntity
cFloater
cFlowerPotEntity
cFurnaceEntity
cGhastFireballEntity
cHangingEntity
cHopperEntity
cIniFile
cInventory
cItem
cItemFrame
cItemGrid
cItems
cJson
cJukeboxEntity
cLineBlockTracer
cLuaWindow
cMap
cMapManager
cMobHeadEntity
cMobSpawnerEntity
cMojangAPI
cMonster
cNetwork
cNoteEntity
cObjective
cPainting
cPawn
cPickup
cPlayer
cPlugin
cPluginLua
cPluginManager
cProjectileEntity
cRankManager
cRoot
cScoreboard
cServer
cServerHandle
cSignEntity
cSplashPotionEntity
cStatManager
cStringCompression
cTCPLink
cTeam
cThrownEggEntity
cThrownEnderPearlEntity
cThrownSnowballEntity
cTNTEntity
cTracer
cUDPEndpoint
cUrlClient
cUrlParser
cWebAdmin
cWindow
cWitherSkullEntity
cWorld
HTTPFormData
HTTPRequest
HTTPTemplateRequest
ItemCategory
lxp
sqlite3
TakeDamageInfo
tolua
Vector3d
Vector3f
Vector3i
Globals

Contents


Vector3d class

A Vector3d object uses double precision floating point values to describe a point in 3D space.

See also Vector3f for single-precision floating point 3D coords and Vector3i for integer 3D coords.


Constants

NameValueNotes
EPS The max difference between two coords for which the coords are assumed equal (in LineCoeffToXYPlane() et al).
NO_INTERSECTION Special return value for the LineCoeffToXYPlane() et al meaning that there's no intersection with the plane.

Member variables

NameTypeNotes
x number The X coord of the vector.
y number The Y coord of the vector.
z number The Z coord of the vector.

Functions

NameParametersReturn valueNotes
() (constructor) Vector3d Creates a new Vector3d object with all its coords set to 0.
() (constructor) X, Y, Z Vector3d Creates a new Vector3d object with its coords set to the specified values.
() (constructor) Vector3f Vector3d Creates a new Vector3d object by copying the coords from the given Vector3f.
operator * number Vector3d Returns a new Vector3d object with each coord multiplied.
operator * Vector3d Vector3d Returns a new Vector3d object with each coord multiplied by the corresponding coord from the given vector.
operator + Vector3d Vector3d Returns a new Vector3d containing the sum of this vector and the specified vector
operator - Vector3d Returns a new Vector3d object that is a negative of this vector (all coords multiplied by -1).
operator - Vector3d Vector3d Returns a new Vector3d object containing the difference between this object and the specified vector.
operator / number Vector3d Returns a new Vector3d object with each coord divided by the specified number.
operator / Vector3d Vector3d Returns a new Vector3d object with each coord divided by the corresponding coord from the given vector.
Abs Updates each coord to its absolute value.
Clamp min, max Clamps each coord into the specified range.
Cross Vector3d Vector3d Returns a new Vector3d that is a cross product of this vector and the specified vector.
Dot Vector3d number Returns the dot product of this vector and the specified vector.
Equals Vector3d bool Returns true if this vector is exactly equal to the specified vector. Note that this is subject to (possibly imprecise) floating point math.
EqualsEps Rhs, Eps boolean Returns true if the differences between each corresponding coords of this vector and the one specified, are less than the specified Eps.
Floor Vector3i Returns a new Vector3i object with coords set to math.floor of this vector's coords.
HasNonZeroLength boolean Returns true if the vector has at least one coord non-zero. Note that this is subject to (possibly imprecise) floating point math.
Length number Returns the (euclidean) length of the vector.
LineCoeffToXYPlane Vector3d, Z number 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 Vector3d, Y number 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 Vector3d, X number 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 X, Y, Z Adds the specified offsets to each coord, effectively moving the vector by the specified coord offsets.
Move Diff 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 Vector3d Returns a new vector that has the same direction as this but is exactly 1 unit long. FIXME: Fails for a zero vector.
Set X, Y, Z Sets all the coords in this object.
SqrLength number 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.
abs OBSOLETE, use Abs() instead.
clamp min, max OBSOLETE, use Clamp() instead.
Generated on 2016-08-22 23:53:06, Build ID Unknown, Commit approx: 2ed4af74edd14ae17e1c6c64d44caa7b7fc30d5a