Returns the absolute value of a [Variant] parameter [param x] (i.e. non-negative value). Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported.
Returns the absolute value of a [Variant] parameter [param x] (i.e. non-negative value). Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], [Vector4i].
[codeblock]
var a = abs(-1)
# a is 1
@ -36,6 +36,7 @@
var f = abs(Vector3i(-7, -8, -9))
# f is (7, 8, 9)
[/codeblock]
[b]Note:[/b] For better type safety, use [method absf], [method absi], [method Vector2.abs], [method Vector2i.abs], [method Vector3.abs], [method Vector3i.abs], [method Vector4.abs], or [method Vector4i.abs].
</description>
</method>
<methodname="absf">
@ -143,7 +144,7 @@
i = ceil(1.001) # i is 2.0
[/codeblock]
See also [method floor], [method round], and [method snapped].
[b]Note:[/b] For better type safety, see [method ceilf], [method ceili], [method Vector2.ceil], [method Vector3.ceil] and [method Vector4.ceil].
[b]Note:[/b] For better type safety, use [method ceilf], [method ceili], [method Vector2.ceil], [method Vector3.ceil], or [method Vector4.ceil].
</description>
</method>
<methodname="ceilf">
@ -168,7 +169,7 @@
<paramindex="1"name="min"type="Variant"/>
<paramindex="2"name="max"type="Variant"/>
<description>
Clamps the [param value], returning a [Variant] not less than [param min] and not more than [param max]. Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported.
Clamps the [param value], returning a [Variant] not less than [param min] and not more than [param max]. Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], [Vector4i].
[codeblock]
var a = clamp(-10, -1, 5)
# a is -1
@ -188,6 +189,7 @@
var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, -6))
# f is (-4, -5, -6)
[/codeblock]
[b]Note:[/b] For better type safety, use [method clampf], [method clampi], [method Vector2.clamp], [method Vector2i.clamp], [method Vector3.clamp], [method Vector3i.clamp], [method Vector4.clamp], or [method Vector4i.clamp].
</description>
</method>
<methodname="clampf">
@ -367,7 +369,7 @@
a = floor(-2.99) # a is -3.0
[/codeblock]
See also [method ceil], [method round], and [method snapped].
[b]Note:[/b] For better type safety, see [method floorf], [method floori], [method Vector2.floor], [method Vector3.floor] and [method Vector4.floor].
[b]Note:[/b] For better type safety, use [method floorf], [method floori], [method Vector2.floor], [method Vector3.floor], or [method Vector4.floor].
</description>
</method>
<methodname="floorf">
@ -950,7 +952,7 @@
round(2.6) # Returns 3
[/codeblock]
See also [method floor], [method ceil], and [method snapped].
[b]Note:[/b] For better type safety, use [method roundf], [method roundi], [method Vector2.round], [method Vector3.round] or [method Vector4.round], instead.
[b]Note:[/b] For better type safety, use [method roundf], [method roundi], [method Vector2.round], [method Vector3.round], or [method Vector4.round].
</description>
</method>
<methodname="roundf">
@ -987,21 +989,22 @@
<returntype="Variant"/>
<paramindex="0"name="x"type="Variant"/>
<description>
Returns the sign of [param x] as same type of [Variant] as [param x] with each component being -1, 0 and 1 for each negative, zero and positive values respectively. Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported.
Returns the same type of [Variant] as [param x], with [code]-1[/code] for negative values, [code]1[/code] for positive values, and [code]0[/code] for zeros. Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], [Vector4i].
[b]Note:[/b] For better type safety, use [method signf], [method signi], [method Vector2.sign], [method Vector2i.sign], [method Vector3.sign], [method Vector3i.sign], [method Vector4.sign], or [method Vector4i.sign].
</description>
</method>
<methodname="signf">
<returntype="float"/>
<paramindex="0"name="x"type="float"/>
<description>
Returns the sign of [param x] as a [float]: -1.0 or 1.0. Returns 0.0 if [param x] is 0.0.
Returns [code]-1.0[/code] if [param x] is negative, [code]1.0[/code] if [param x] is positive, and [code]0.0[/code] if if [param x] is zero.
[codeblock]
sign(-6.5) # Returns -1.0
sign(0.0) # Returns 0.0
@ -1013,7 +1016,7 @@
<returntype="int"/>
<paramindex="0"name="x"type="int"/>
<description>
Returns the sign of [param x] as an [int]: -1 or 1. Returns 0 if [param x] is 0.
Returns [code]-1[/code] if [param x] is negative, [code]1[/code] if [param x] is positive, and [code]0[/code] if if [param x] is zero.
[codeblock]
sign(-6) # Returns -1
sign(0) # Returns 0
@ -1063,16 +1066,46 @@
</description>
</method>
<methodname="snapped">
<returntype="Variant"/>
<paramindex="0"name="x"type="Variant"/>
<paramindex="1"name="step"type="Variant"/>
<description>
Returns the multiple of [param step] that is the closest to [param x]. This can also be used to round a floating point number to an arbitrary number of decimals.
The returned value is the same type of [Variant] as [param step]. Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], [Vector4i].
See also [method ceil], [method floor], and [method round].
[b]Note:[/b] For better type safety, use [method snappedf], [method snappedi], [method Vector2.snapped], [method Vector2i.snapped], [method Vector3.snapped], [method Vector3i.snapped], [method Vector4.snapped], or [method Vector4i.snapped].
</description>
</method>
<methodname="snappedf">
<returntype="float"/>
<paramindex="0"name="x"type="float"/>
<paramindex="1"name="step"type="float"/>
<description>
Snaps the float value [param x] to a given [param step]. This can also be used to round a floating point number to an arbitrary number of decimals.
Returns the multiple of [param step] that is the closest to [param x]. This can also be used to round a floating point number to an arbitrary number of decimals.
A type-safe version of [method snapped], returning a [float].
[codeblock]
snapped(100, 32) # Returns 96
snapped(3.14159, 0.01) # Returns 3.14
snapped(32.0, 2.5) # Returns 32.5
snapped(3.14159, 0.01) # Returns 3.14
[/codeblock]
</description>
</method>
<methodname="snappedi">
<returntype="int"/>
<paramindex="0"name="x"type="float"/>
<paramindex="1"name="step"type="int"/>
<description>
Returns the multiple of [param step] that is the closest to [param x].
A type-safe version of [method snapped], returning an [int].
[codeblock]
snapped(53, 16) # Returns 48
snapped(4096, 100) # Returns 4100
[/codeblock]
See also [method ceil], [method floor], and [method round].
Returns the vector "bounced off" from a plane defined by the given normal.
Returns a new vector "bounced off" from a plane defined by the given normal.
</description>
</method>
<methodname="ceil"qualifiers="const">
@ -276,7 +276,7 @@
<methodname="normalized"qualifiers="const">
<returntype="Vector2"/>
<description>
Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
Returns a new vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
</description>
</method>
<methodname="orthogonal"qualifiers="const">
@ -303,21 +303,21 @@
<returntype="Vector2"/>
<paramindex="0"name="b"type="Vector2"/>
<description>
Returns this vector projected onto the vector [code]b[/code].
Returns the result of projecting the vector onto the given vector [param b].
</description>
</method>
<methodname="reflect"qualifiers="const">
<returntype="Vector2"/>
<paramindex="0"name="n"type="Vector2"/>
<description>
Returns the vector reflected (i.e. mirrored, or symmetric) over a line defined by the given direction vector [param n].
Returns the result of reflecting the vector from a line defined by the given direction vector [param n].
</description>
</method>
<methodname="rotated"qualifiers="const">
<returntype="Vector2"/>
<paramindex="0"name="angle"type="float"/>
<description>
Returns the vector rotated by [param angle] (in radians). See also [method @GlobalScope.deg_to_rad].
Returns the result of rotating this vector by [param angle] (in radians). See also [method @GlobalScope.deg_to_rad].
</description>
</method>
<methodname="round"qualifiers="const">
@ -329,7 +329,7 @@
<methodname="sign"qualifiers="const">
<returntype="Vector2"/>
<description>
Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
Returns a new vector with each component set to [code]1.0[/code] if it's positive, [code]-1.0[/code] if it's negative, and [code]0.0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="slerp"qualifiers="const">
@ -345,14 +345,14 @@
<returntype="Vector2"/>
<paramindex="0"name="n"type="Vector2"/>
<description>
Returns this vector slid along a plane defined by the given normal.
Returns the result of sliding the vector along a plane defined by the given normal.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector2"/>
<paramindex="0"name="step"type="Vector2"/>
<description>
Returns this vector with each component snapped to the nearest multiple of [param step]. This can also be used to round to an arbitrary number of decimals.
Returns a new vector with each component snapped to the nearest multiple of the corresponding component in [param step]. This can also be used to round the components to an arbitrary number of decimals.
Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
Returns a new vector with each component set to [code]1[/code] if it's positive, [code]-1[/code] if it's negative, and [code]0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector2i"/>
<paramindex="0"name="step"type="Vector2i"/>
<description>
Returns a new vector with each component snapped to the closest multiple of the corresponding component in [param step].
Returns this vector projected onto the vector [param b].
Returns the result of projecting the vector onto the given vector [param b].
</description>
</method>
<methodname="reflect"qualifiers="const">
<returntype="Vector3"/>
<paramindex="0"name="n"type="Vector3"/>
<description>
Returns this vector reflected from a plane defined by the given normal.
Returns the result of reflecting the vector from a plane defined by the given normal [param n].
</description>
</method>
<methodname="rotated"qualifiers="const">
@ -302,7 +302,7 @@
<paramindex="0"name="axis"type="Vector3"/>
<paramindex="1"name="angle"type="float"/>
<description>
Rotates this vector around a given axis by [param angle] (in radians). The axis must be a normalized vector.
Returns the result of rotating this vector around a given axis by [param angle] (in radians). The axis must be a normalized vector. See also [method @GlobalScope.deg_to_rad].
</description>
</method>
<methodname="round"qualifiers="const">
@ -314,7 +314,7 @@
<methodname="sign"qualifiers="const">
<returntype="Vector3"/>
<description>
Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
Returns a new vector with each component set to [code]1.0[/code] if it's positive, [code]-1.0[/code] if it's negative, and [code]0.0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="signed_angle_to"qualifiers="const">
@ -338,14 +338,14 @@
<returntype="Vector3"/>
<paramindex="0"name="n"type="Vector3"/>
<description>
Returns this vector slid along a plane defined by the given normal.
Returns a new vector slid along a plane defined by the given normal.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector3"/>
<paramindex="0"name="step"type="Vector3"/>
<description>
Returns this vector with each component snapped to the nearest multiple of [param step]. This can also be used to round to an arbitrary number of decimals.
Returns a new vector with each component snapped to the nearest multiple of the corresponding component in [param step]. This can also be used to round the components to an arbitrary number of decimals.
Returns the vector with each component set to one or negative one, depending on the signs of the components.
Returns a new vector with each component set to [code]1[/code] if it's positive, [code]-1[/code] if it's negative, and [code]0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector3i"/>
<paramindex="0"name="step"type="Vector3i"/>
<description>
Returns a new vector with each component snapped to the closest multiple of the corresponding component in [param step].
Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
Returns the result of scaling the vector to unit length. Equivalent to [code]v / v.length()[/code].
</description>
</method>
<methodname="posmod"qualifiers="const">
<returntype="Vector4"/>
<paramindex="0"name="mod"type="float"/>
<description>
Returns a vector composed of the [method @GlobalScope.fposmod] of this vector's components and [param mod].
Returns a new vector composed of the [method @GlobalScope.fposmod] of this vector's components and [param mod].
</description>
</method>
<methodname="posmodv"qualifiers="const">
<returntype="Vector4"/>
<paramindex="0"name="modv"type="Vector4"/>
<description>
Returns a vector composed of the [method @GlobalScope.fposmod] of this vector's components and [param modv]'s components.
Returns a new vector composed of the [method @GlobalScope.fposmod] of this vector's components and [param modv]'s components.
</description>
</method>
<methodname="round"qualifiers="const">
@ -215,14 +215,14 @@
<methodname="sign"qualifiers="const">
<returntype="Vector4"/>
<description>
Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
Returns a new vector with each component set to [code]1.0[/code] if it's positive, [code]-1.0[/code] if it's negative, and [code]0.0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector4"/>
<paramindex="0"name="step"type="Vector4"/>
<description>
Returns this vector with each component snapped to the nearest multiple of [param step]. This can also be used to round to an arbitrary number of decimals.
Returns a new vector with each component snapped to the nearest multiple of the corresponding component in [param step]. This can also be used to round the components to an arbitrary number of decimals.
Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
Returns a new vector with each component set to [code]1[/code] if it's positive, [code]-1[/code] if it's negative, and [code]0[/code] if it's zero. The result is identical to calling [method @GlobalScope.sign] on each component.
</description>
</method>
<methodname="snapped"qualifiers="const">
<returntype="Vector4i"/>
<paramindex="0"name="step"type="Vector4i"/>
<description>
Returns a new vector with each component snapped to the closest multiple of the corresponding component in [param step].