summaryrefslogtreecommitdiffstats
path: root/scene/resources/animation.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/animation.h')
-rw-r--r--scene/resources/animation.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/scene/resources/animation.h b/scene/resources/animation.h
index c128c14e49..2579b6c8ce 100644
--- a/scene/resources/animation.h
+++ b/scene/resources/animation.h
@@ -373,6 +373,8 @@ protected:
static void _bind_methods();
+ static bool inform_variant_array(int &r_min, int &r_max); // Returns true if max and min are swapped.
+
public:
int add_track(TrackType p_type, int p_at_pos = -1);
void remove_track(int p_track);
@@ -487,11 +489,19 @@ public:
void optimize(real_t p_allowed_velocity_err = 0.01, real_t p_allowed_angular_err = 0.01, int p_precision = 3);
void compress(uint32_t p_page_size = 8192, uint32_t p_fps = 120, float p_split_tolerance = 4.0); // 4.0 seems to be the split tolerance sweet spot from many tests
- // Helper math functions for Variant.
+ // Helper functions for Variant.
+ static bool is_variant_interpolatable(const Variant p_value);
+
+ static Variant cast_to_blendwise(const Variant p_value);
+ static Variant cast_from_blendwise(const Variant p_value, const Variant::Type p_type);
+
+ static Variant string_to_array(const Variant p_value);
+ static Variant array_to_string(const Variant p_value);
+
static Variant add_variant(const Variant &a, const Variant &b);
static Variant subtract_variant(const Variant &a, const Variant &b);
static Variant blend_variant(const Variant &a, const Variant &b, float c);
- static Variant interpolate_variant(const Variant &a, const Variant &b, float c);
+ static Variant interpolate_variant(const Variant &a, const Variant &b, float c, bool p_snap_array_element = false);
Animation();
~Animation();