Curve

    A mathematic curve.

    A curve that can be saved and re-used for other objects. By default, it ranges between and 1 on the Y axis and positions points relative to the 0.5 Y position.

    Properties

    Signals

    • range_changed ( )

    Emitted when or min_value is changed.

    enum TangentMode:

    • TANGENT_FREE = 0 —- The tangent on this side of the point is user-defined.
    • TANGENT_LINEAR = 1 —- The curve calculates the tangent on this side of the point as the slope halfway towards the adjacent point.

    Property Descriptions

    • bake_resolution

    The number of points to include in the baked (i.e. cached) curve data.


    The maximum value the curve can reach.


    • min_value

    The minimum value the curve can reach.

    • int add_point ( position, float left_tangent=0, right_tangent=0, TangentMode left_mode=0, 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 angle if *_mode is set to .


    • void bake ( )

    • void clean_dupes ( )

    Removes points that are closer than CMP_EPSILON (0.00001) units to their neighbor on the curve.


    • void clear_points ( )

    Removes all points from the curve.


    • int get_point_count ( ) const

    Returns the number of points describing the curve.


    • get_point_left_mode ( int index ) const

    Returns the left for the point at index.


    • float get_point_left_tangent ( index ) const

    Returns the left tangent angle (in degrees) for the point at index.


    Returns the curve coordinates for the point at index.


    Returns the right TangentMode for the point at index.


    • get_point_right_tangent ( int index ) const

    Returns the right tangent angle (in degrees) for the point at index.


    • interpolate ( float offset ) const

    • interpolate_baked ( float offset )

    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 ( index )

    Removes the point at index from the curve.


    • void set_point_left_mode ( int index, mode )

    Sets the left TangentMode for the point at to mode.


    • void set_point_left_tangent ( index, float tangent )

    Sets the left tangent angle for the point at index to tangent.


    • set_point_offset ( int index, offset )

    Sets the offset from 0.5.


    • void set_point_right_mode ( int index, mode )

    Sets the right TangentMode for the point at index to mode.


    • void set_point_right_tangent ( index, float tangent )

    Sets the right tangent angle for the point at index to tangent.


    Assigns the vertical position y to the point at index.