Curve¶
Inherits: Resource < Reference < Object
A mathematic curve.
Description¶
A curve that can be saved and re-used for other objects. By default, it ranges between 0 and 1 on the Y axis and positions points relative to the 0.5 Y position.
Methods¶
| int | add_point ( Vector2 position, float left_tangent=0, float right_tangent=0, TangentMode left_mode=0, TangentMode right_mode=0 ) |
| void | bake ( ) |
| void | clean_dupes ( ) |
| void | clear_points ( ) |
| int | get_point_count ( ) const |
| TangentMode | get_point_left_mode ( int index ) const |
| float | get_point_left_tangent ( int index ) const |
| Vector2 | get_point_position ( int index ) const |
| TangentMode | get_point_right_mode ( int index ) const |
| float | get_point_right_tangent ( int index ) const |
| float | interpolate ( float offset ) const |
| float | interpolate_baked ( float offset ) |
| void | remove_point ( int index ) |
| void | set_point_left_mode ( int index, TangentMode mode ) |
| void | set_point_left_tangent ( int index, float tangent ) |
| int | set_point_offset ( int index, float offset ) |
| void | set_point_right_mode ( int index, TangentMode mode ) |
| void | set_point_right_tangent ( int index, float tangent ) |
| void | set_point_value ( int index, float y ) |
Enumerations¶
Property Descriptions¶
- int bake_resolution
| Default | 100 |
| Setter | set_bake_resolution(value) |
| Getter | get_bake_resolution() |
The number of points to include in the baked (i.e. cached) curve data.
- float max_value
| Default | 1.0 |
| Setter | set_max_value(value) |
| Getter | get_max_value() |
The maximum value the curve can reach.
- float min_value
| Default | 0.0 |
| Setter | set_min_value(value) |
| Getter | get_min_value() |
The minimum value the curve can reach.
Method Descriptions¶
- int add_point ( Vector2 position, float left_tangent=0, float right_tangent=0, TangentMode left_mode=0, TangentMode right_mode=0 )
Adds a point to the curve. For each side, if the *_mode is TANGENT_LINEAR, the *_tangent angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the *_tangent angle if *_mode is set to TANGENT_FREE.
Recomputes the baked cache of points for the curve.
Removes points that are closer than CMP_EPSILON (0.00001) units to their neighbor on the curve.
Removes all points from the curve.
- int get_point_count ( ) const
Returns the number of points describing the curve.
- TangentMode get_point_left_mode ( int index ) const
Returns the left TangentMode for the point at index.
Returns the left tangent angle (in degrees) for the point at index.
Returns the curve coordinates for the point at index.
- TangentMode get_point_right_mode ( int index ) const
Returns the right TangentMode for the point at index.
Returns the right tangent angle (in degrees) for the point at index.
Returns the Y value for the point that would exist at the X position offset along the curve.
Returns the Y value for the point that would exist at the X position offset along the curve using the baked cache. Bakes the curve’s points if not already baked.
- void remove_point ( int index )
Removes the point at index from the curve.
- void set_point_left_mode ( int index, TangentMode mode )
Sets the left TangentMode for the point at index to mode.
Sets the left tangent angle for the point at index to tangent.
Sets the offset from 0.5.
- void set_point_right_mode ( int index, TangentMode mode )
Sets the right TangentMode for the point at index to mode.
Sets the right tangent angle for the point at index to tangent.
Assigns the vertical position y to the point at index.