myspace / Docs /LuaDoc_point.md.html
sirnii's picture
Upload 1816 files
b6a38d7 verified
raw
history blame
7.13 kB
# point reference
## point:AddX
Returns a point with the X coordinate changed by the parameter. If the parameter is zero, the original point is returned to avoid an allocation.
Pseudocode:
~~~~ Lua
function point:AddX(x0)
return point(self.x + x0, self.y, self.z)
~~~~
point **point:AddX**(number x0)
number x0
: value to add to the x coordinate
_returns_ point
: new point with the x coordinate increased by x0
## point:AddY
Returns a point with the Y coordinate changed by the parameter. If the parameter is zero, the original point is returned to avoid an allocation.
Pseudocode:
~~~~ Lua
function point:AddY(y0)
return point(self.x, self.y + y0, self.z)
~~~~
point **point:AddY**(number y0)
number y0
: value to add to the y coordinate
_returns_ point
: new point with the y coordinate increased by y0
## point:AddZ
Returns a point with the Z coordinate changed by the parameter.
Pseudocode:
~~~~ Lua
function point:AddZ(z0)
return point(self.x, self.y, self.z + z0)
~~~~
point **point:AddZ**(number z0)
number z0
: value to add to the z coordinate
_returns_ point
: new point with the z coordinate increased by z0
## point:InplaceAdd
Add to the coordinates of an existing point inplace (without creating another point).
point **point:InplaceAdd**(number x, number y[, number z])
point **point:InplaceAdd**(point other)
_returns_ point
: the point itself
## point:InplaceAddX
Add to the x coordinate of an existing point inplace (without creating another point).
point **point:InplaceAddX**(number x)
_returns_ point
: the point itself
## point:InplaceAddY
Add to the y coordinate of an existing point inplace (without creating another point).
point **point:InplaceAddY**(number y)
_returns_ point
: the point itself
## point:InplaceAddZ
Add to the z coordinate of an existing point inplace (without creating another point).
point **point:InplaceAddZ**(number z)
_returns_ point
: the point itself
## point:InplaceSet
Set the coordinates of an existing point inplace (without creating another point).
point **point:InplaceSet**(number x, number y[, number z])
point **point:InplaceSet**(point other)
_returns_ point
: the point itself
## point:InplaceSetX
Set the x coordinate of an existing point inplace (without creating another point).
point **point:InplaceSetX**(number x)
_returns_ point
: the point itself
## point:InplaceSetY
Set the y coordinate of an existing point inplace (without creating another point).
point **point:InplaceSetY**(number y)
_returns_ point
: the point itself
## point:InplaceSetZ
Set the z coordinate of an existing point inplace (without creating another point).
point **point:InplaceSetZ**(number z)
_returns_ point
: the point itself
## point:IsValidZ
Checks if the point has a valid Z coordinate.
bool **point:IsValidZ**()
_returns_ bool
: true if the point's Z coordinate is valid (i.e. different from the special value InvalidZ, denoting on-the-terrain points).
## point:Normalize
Returns a point with the same vector direction, but with vector length 4096. If z == InvalidZ, normalizes only in the 2D plane XY coordinates.
point **point:Normalize**()
_returns_ point n
: a point with length 4096 with the same direction as the original point.
## point:SetInvalidZ
Returns a new point with the Z coordinate set to the special value InvalidZ, denoting a point on the terrain surface.
point **point:SetInvalidZ**()
## point:SetLen
Returns a point with the same vector direction, but with set vector length. If z == InvalidZ, only sets the length of the XY coordinates.
point **point:SetLen**(int len)
int len
: desired vector length of the output point.
_returns_ point p
: a point with vector length set to *len* and the same direction as the original point.
## point:SetLen2D
Returns a point with the same vector direction in the XY plane, but with a set vector len. Ignores the Z coordinate of the original point. Sets the output Z to InvalidZ.
point **point:SetLen2D**(int len)
int len
: desired vector length of the output point.
_returns_ point p
: a point with vector length in the XY plane set to *len*, z == InvalidZ, and the same direction as the original point.
## point:SetTerrainZ
Returns a new point with Z set to the terrain/walkable height at these XY coordintes.
point **point:SetTerrainZ**()
_returns_ point
: a new point with Z set to the terrain/walkable height at XY
## point:SetX
Returns a point with the X coordinate set to the parameter.
Pseudocode:
~~~~ Lua
function point:SetX(x0)
return point(x0, self.y, self.z)
~~~~
point **point:SetX**(number x0)
number x0
: new x coordinate value
_returns_ point
: new point with the x coordinate set to x0
## point:SetY
Returns a point with the Y coordinate set to the parameter. If the parameter is equal to the current coordinate value, the original point is returned to avoid an allocation.
Pseudocode:
~~~~ Lua
function point:SetY(y0)
return point(self.x, y0, self.z)
~~~~
point **point:SetY**(number y0)
number y0
: new y coordinate value
_returns_ point
: new point with the y coordinate set to y0
## point:SetZ
Returns a point with the Z coordinate set to the parameter.
Pseudocode:
~~~~ Lua
function point:SetZ(z0)
return point(self.x, self.y, z0)
~~~~
point **point:SetZ**(number z0)
number z0
: new z coordinate value
_returns_ point
: new point with the z coordinate set to z0
## point:x
Returns the x coordinate of the point.
number **point:x**()
_returns_ x
: the x coordinate of the point
## point:xy
Returns the x and y coordinates of the point.
number, number **point:xy**()
_returns_ x, y
: the x and y coordinates of the point
## point:xyz
Returns the coordinates of the point. Two return values are returned if the point has InvalidZ.
number, number, number **point:xyz**()
_returns_ x, y, z
: the coordinate of the point
## point:y
Returns the y coordinate of the point.
number **point:y**()
_returns_ y
: the y coordinate of the point
## point:z
Returns the z coordinate of the point.
number **point:z**()
_returns_ z
: the z coordinate of the point, or nil if it's InvalidZ
## LimitLen
Returns a point with the same vector direction, but with vector length limited to the specified length. If the point already has a vector length no greater than the parameter, returns it unmodified.
point **LimitLen**(point pt, int length)
_returns_ point
: a new point with the same vector direction as the original point
## point
Creates a point from two or three number coordinates. If only two are supplied, Z = InvalidZ (the point is on the terrain).
point **point**(number x, number y [, number z])
x, y, z
: the coordinates of the new point
_returns_ point
: the created point
(insert footer.md.html here)
<link rel="stylesheet" type="text/css" href="Style.css" />
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>