diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/math/vector4.cpp | 4 | ||||
-rw-r--r-- | core/math/vector4.h | 1 | ||||
-rw-r--r-- | core/variant/variant_call.cpp | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/core/math/vector4.cpp b/core/math/vector4.cpp index 4697c311b4..1dd5adad2b 100644 --- a/core/math/vector4.cpp +++ b/core/math/vector4.cpp @@ -91,6 +91,10 @@ real_t Vector4::distance_to(const Vector4 &p_to) const { return (p_to - *this).length(); } +real_t Vector4::distance_squared_to(const Vector4 &p_to) const { + return (p_to - *this).length_squared(); +} + Vector4 Vector4::direction_to(const Vector4 &p_to) const { Vector4 ret(p_to.x - x, p_to.y - y, p_to.z - z, p_to.w - w); ret.normalize(); diff --git a/core/math/vector4.h b/core/math/vector4.h index 373a6a1218..d26fe15941 100644 --- a/core/math/vector4.h +++ b/core/math/vector4.h @@ -79,6 +79,7 @@ struct _NO_DISCARD_ Vector4 { bool is_normalized() const; real_t distance_to(const Vector4 &p_to) const; + real_t distance_squared_to(const Vector4 &p_to) const; Vector4 direction_to(const Vector4 &p_to) const; Vector4 abs() const; diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp index 5c298f9b3b..f3f2eb16c4 100644 --- a/core/variant/variant_call.cpp +++ b/core/variant/variant_call.cpp @@ -1746,6 +1746,7 @@ static void _register_variant_builtin_methods() { bind_method(Vector4, is_normalized, sarray(), varray()); bind_method(Vector4, direction_to, sarray("to"), varray()); bind_method(Vector4, distance_to, sarray("to"), varray()); + bind_method(Vector4, distance_squared_to, sarray("to"), varray()); bind_method(Vector4, dot, sarray("with"), varray()); bind_method(Vector4, inverse, sarray(), varray()); bind_method(Vector4, is_equal_approx, sarray("with"), varray()); |