123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="Curve" inherits="Resource" category="Core" version="3.1">
- <brief_description>
- A mathematic curve.
- </brief_description>
- <description>
- A curve that can be saved and re-used for other objects. By default it ranges between [code]0[/code] and [code]1[/code] on the y-axis and positions points relative to the [code]0.5[/code] y-position.
- </description>
- <tutorials>
- </tutorials>
- <demos>
- </demos>
- <methods>
- <method name="add_point">
- <return type="int">
- </return>
- <argument index="0" name="position" type="Vector2">
- </argument>
- <argument index="1" name="left_tangent" type="float" default="0">
- </argument>
- <argument index="2" name="right_tangent" type="float" default="0">
- </argument>
- <argument index="3" name="left_mode" type="int" enum="Curve.TangentMode" default="0">
- </argument>
- <argument index="4" name="right_mode" type="int" enum="Curve.TangentMode" default="0">
- </argument>
- <description>
- Adds a point to the curve. For each side, if the [code]*_mode[/code] is [code]TANGENT_LINEAR[/code], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [code]TANGENT_FREE[/code].
- </description>
- </method>
- <method name="bake">
- <return type="void">
- </return>
- <description>
- Recomputes the baked cache of points for the curve.
- </description>
- </method>
- <method name="clean_dupes">
- <return type="void">
- </return>
- <description>
- Removes points that are closer than [code]CMP_EPSILON[/code] (0.00001) units to their neighbor on the curve.
- </description>
- </method>
- <method name="clear_points">
- <return type="void">
- </return>
- <description>
- Removes all points from the curve.
- </description>
- </method>
- <method name="get_point_count" qualifiers="const">
- <return type="int">
- </return>
- <description>
- Returns the number of points describing the curve.
- </description>
- </method>
- <method name="get_point_left_mode" qualifiers="const">
- <return type="int" enum="Curve.TangentMode">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Returns the left [code]TangentMode[/code] for the point at [code]index[/code].
- </description>
- </method>
- <method name="get_point_left_tangent" qualifiers="const">
- <return type="float">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Returns the left tangent angle (in degrees) for the point at [code]index[/code].
- </description>
- </method>
- <method name="get_point_position" qualifiers="const">
- <return type="Vector2">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Returns the curve coordinates for the point at [code]index[/code].
- </description>
- </method>
- <method name="get_point_right_mode" qualifiers="const">
- <return type="int" enum="Curve.TangentMode">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Returns the right [code]TangentMode[/code] for the point at [code]index[/code].
- </description>
- </method>
- <method name="get_point_right_tangent" qualifiers="const">
- <return type="float">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Returns the right tangent angle (in degrees) for the point at [code]index[/code].
- </description>
- </method>
- <method name="interpolate" qualifiers="const">
- <return type="float">
- </return>
- <argument index="0" name="offset" type="float">
- </argument>
- <description>
- Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve.
- </description>
- </method>
- <method name="interpolate_baked">
- <return type="float">
- </return>
- <argument index="0" name="offset" type="float">
- </argument>
- <description>
- Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked.
- </description>
- </method>
- <method name="remove_point">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
- Removes the point at [code]index[/code] from the curve.
- </description>
- </method>
- <method name="set_point_left_mode">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="mode" type="int" enum="Curve.TangentMode">
- </argument>
- <description>
- Sets the left [code]TangentMode[/code] for the point at [code]index[/code] to [code]mode[/code].
- </description>
- </method>
- <method name="set_point_left_tangent">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="tangent" type="float">
- </argument>
- <description>
- Sets the left tangent angle for the point at [code]index[/code] to [code]tangent[/code].
- </description>
- </method>
- <method name="set_point_offset">
- <return type="int">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="offset" type="float">
- </argument>
- <description>
- Sets the offset from [code]0.5[/code]
- </description>
- </method>
- <method name="set_point_right_mode">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="mode" type="int" enum="Curve.TangentMode">
- </argument>
- <description>
- Sets the right [code]TangentMode[/code] for the point at [code]index[/code] to [code]mode[/code].
- </description>
- </method>
- <method name="set_point_right_tangent">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="tangent" type="float">
- </argument>
- <description>
- Sets the right tangent angle for the point at [code]index[/code] to [code]tangent[/code].
- </description>
- </method>
- <method name="set_point_value">
- <return type="void">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <argument index="1" name="y" type="float">
- </argument>
- <description>
- Assigns the vertical position [code]y[/code] to the point at [code]index[/code].
- </description>
- </method>
- </methods>
- <members>
- <member name="bake_resolution" type="int" setter="set_bake_resolution" getter="get_bake_resolution">
- The number of points to include in the baked (i.e. cached) curve data.
- </member>
- <member name="max_value" type="float" setter="set_max_value" getter="get_max_value">
- The maximum value the curve can reach. Default value: [code]1[/code].
- </member>
- <member name="min_value" type="float" setter="set_min_value" getter="get_min_value">
- The minimum value the curve can reach. Default value: [code]0[/code].
- </member>
- </members>
- <signals>
- <signal name="range_changed">
- <description>
- Emitted when [member max_value] or [member min_value] is changed.
- </description>
- </signal>
- </signals>
- <constants>
- <constant name="TANGENT_FREE" value="0" enum="TangentMode">
- The tangent on this side of the point is user-defined.
- </constant>
- <constant name="TANGENT_LINEAR" value="1" enum="TangentMode">
- The curve calculates the tangent on this side of the point as the slope halfway towards the adjacent point.
- </constant>
- <constant name="TANGENT_MODE_COUNT" value="2" enum="TangentMode">
- The total number of available tangent modes.
- </constant>
- </constants>
- </class>
|