Curve
Hereda: Resource < RefCounted < Object
Una curva matemática.
Descripción
This resource describes a mathematical curve by defining a set of points and tangents at each point. By default, it ranges between 0 and 1 on the X and Y axes, but these ranges can be changed.
Please note that many resources and nodes assume they are given unit curves. A unit curve is a curve whose domain (the X axis) is between 0 and 1. Some examples of unit curve usage are CPUParticles2D.angle_curve and Line2D.width_curve.
Propiedades
|
||
|
||
|
||
|
||
|
||
|
Métodos
add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) |
|
void |
bake() |
void |
|
void |
|
get_domain_range() const |
|
get_point_left_mode(index: int) const |
|
get_point_left_tangent(index: int) const |
|
get_point_position(index: int) const |
|
get_point_right_mode(index: int) const |
|
get_point_right_tangent(index: int) const |
|
get_value_range() const |
|
void |
remove_point(index: int) |
sample_baked(offset: float) const |
|
void |
set_point_left_mode(index: int, mode: TangentMode) |
void |
set_point_left_tangent(index: int, tangent: float) |
set_point_offset(index: int, offset: float) |
|
void |
set_point_right_mode(index: int, mode: TangentMode) |
void |
set_point_right_tangent(index: int, tangent: float) |
void |
set_point_value(index: int, y: float) |
Señales
domain_changed() 🔗
Emitida cuando se cambia max_domain o min_domain.
range_changed() 🔗
Enumeraciones
enum TangentMode: 🔗
TangentMode TANGENT_FREE = 0
La tangente de este lado del punto es definida por el usuario.
TangentMode TANGENT_LINEAR = 1
La curva calcula la tangente de este lado del punto como la pendiente a mitad de camino hacia el punto adyacente.
TangentMode TANGENT_MODE_COUNT = 2
El número total de modos tangentes disponibles.
Descripciones de Propiedades
El número de puntos a incluir en los datos procesados (es decir, en caché) de la curva.
El dominio máximo (coordenada X) que pueden tener los puntos.
El valor máximo (coordenada Y) que pueden tener los puntos. Las tangentes pueden causar valores más altos entre los puntos.
El dominio mínimo (coordenada X) que pueden tener los puntos.
El valor mínimo (coordenada Y) que pueden tener los puntos. Las tangentes pueden causar valores más bajos entre los puntos.
El número de puntos que describen la curva.
Descripciones de Métodos
int add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) 🔗
Añade un punto a la curva. Para cada lado, si el *_mode es TANGENT_LINEAR, el ángulo *_tangent (en grados) utiliza la pendiente de la curva a mitad de camino del punto adyacente. Permite asignaciones personalizadas al ángulo *_tangent si *_mode se establece en TANGENT_FREE.
void bake() 🔗
Recompone la caché de puntos cocinada para la curva.
void clean_dupes() 🔗
Removes duplicate points, i.e. points that are less than 0.00001 units (engine epsilon value) away from their neighbor on the curve.
void clear_points() 🔗
Elimina todos los puntos de la curva.
float get_domain_range() const 🔗
Devuelve la diferencia entre min_domain y max_domain.
TangentMode get_point_left_mode(index: int) const 🔗
Devuelve el TangentMode izquierdo para el punto en index.
float get_point_left_tangent(index: int) const 🔗
Devuelve el ángulo de la tangente izquierda (en grados) para el punto en index.
Vector2 get_point_position(index: int) const 🔗
Devuelve las coordenadas de la curva para el punto en index.
TangentMode get_point_right_mode(index: int) const 🔗
Devuelve el TangentMode derecho para el punto en index.
float get_point_right_tangent(index: int) const 🔗
Devuelve el ángulo de la tangente derecha (en grados) para el punto en index.
float get_value_range() const 🔗
Devuelve la diferencia entre min_value y max_value.
void remove_point(index: int) 🔗
Elimina el punto en index de la curva.
float sample(offset: float) const 🔗
Devuelve el valor Y para el punto que existiría en la posición X offset a lo largo de la curva.
float sample_baked(offset: float) const 🔗
Devuelve el valor Y para el punto que existiría en la posición X offset a lo largo de la curva utilizando la caché procesada. Procesa los puntos de la curva si aún no están procesados.
void set_point_left_mode(index: int, mode: TangentMode) 🔗
Establece el TangentMode izquierdo para el punto en index a mode.
void set_point_left_tangent(index: int, tangent: float) 🔗
Establece el ángulo de la tangente izquierda para el punto en index a tangent.
int set_point_offset(index: int, offset: float) 🔗
Establece el desplazamiento a 0.5.
void set_point_right_mode(index: int, mode: TangentMode) 🔗
Establece el TangentMode derecho para el punto en index a mode.
void set_point_right_tangent(index: int, tangent: float) 🔗
Establece el ángulo de la tangente derecha para el punto en index a tangent.
void set_point_value(index: int, y: float) 🔗
Asigna la posición vertical y al punto en index.