summaryrefslogtreecommitdiffstats
path: root/include/godot_cpp
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2024-01-04 08:36:30 -0600
committerGitHub <noreply@github.com>2024-01-04 08:36:30 -0600
commitdd62b9685fbc9b733a25e26a788b5d7f3212a804 (patch)
treea755762614f9144fd5a0cc450d6cb0594a1a267f /include/godot_cpp
parent8d13acca919daa09f2db68e4de36a59199ce6b55 (diff)
parentb733102f4a7fd19e18c86751ea3ec7398571bacf (diff)
downloadredot-cpp-dd62b9685fbc9b733a25e26a788b5d7f3212a804.tar.gz
Merge pull request #1347 from Chubercik/vector_method_parity
Add `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
Diffstat (limited to 'include/godot_cpp')
-rw-r--r--include/godot_cpp/variant/vector2i.hpp3
-rw-r--r--include/godot_cpp/variant/vector3i.hpp11
-rw-r--r--include/godot_cpp/variant/vector4i.hpp11
3 files changed, 25 insertions, 0 deletions
diff --git a/include/godot_cpp/variant/vector2i.hpp b/include/godot_cpp/variant/vector2i.hpp
index b3eeec3..afeaeea 100644
--- a/include/godot_cpp/variant/vector2i.hpp
+++ b/include/godot_cpp/variant/vector2i.hpp
@@ -117,6 +117,9 @@ struct _NO_DISCARD_ Vector2i {
int64_t length_squared() const;
double length() const;
+ int64_t distance_squared_to(const Vector2i &p_to) const;
+ double distance_to(const Vector2i &p_to) const;
+
real_t aspect() const { return width / (real_t)height; }
Vector2i sign() const { return Vector2i(SIGN(x), SIGN(y)); }
Vector2i abs() const { return Vector2i(Math::abs(x), Math::abs(y)); }
diff --git a/include/godot_cpp/variant/vector3i.hpp b/include/godot_cpp/variant/vector3i.hpp
index c13bd08..ae5148f 100644
--- a/include/godot_cpp/variant/vector3i.hpp
+++ b/include/godot_cpp/variant/vector3i.hpp
@@ -82,6 +82,9 @@ struct _NO_DISCARD_ Vector3i {
_FORCE_INLINE_ int64_t length_squared() const;
_FORCE_INLINE_ double length() const;
+ _FORCE_INLINE_ int64_t distance_squared_to(const Vector3i &p_to) const;
+ _FORCE_INLINE_ double distance_to(const Vector3i &p_to) const;
+
_FORCE_INLINE_ void zero();
_FORCE_INLINE_ Vector3i abs() const;
@@ -136,6 +139,14 @@ double Vector3i::length() const {
return Math::sqrt((double)length_squared());
}
+int64_t Vector3i::distance_squared_to(const Vector3i &p_to) const {
+ return (p_to - *this).length_squared();
+}
+
+double Vector3i::distance_to(const Vector3i &p_to) const {
+ return (p_to - *this).length();
+}
+
Vector3i Vector3i::abs() const {
return Vector3i(Math::abs(x), Math::abs(y), Math::abs(z));
}
diff --git a/include/godot_cpp/variant/vector4i.hpp b/include/godot_cpp/variant/vector4i.hpp
index ccfcf6d..36f2855 100644
--- a/include/godot_cpp/variant/vector4i.hpp
+++ b/include/godot_cpp/variant/vector4i.hpp
@@ -84,6 +84,9 @@ struct _NO_DISCARD_ Vector4i {
_FORCE_INLINE_ int64_t length_squared() const;
_FORCE_INLINE_ double length() const;
+ _FORCE_INLINE_ int64_t distance_squared_to(const Vector4i &p_to) const;
+ _FORCE_INLINE_ double distance_to(const Vector4i &p_to) const;
+
_FORCE_INLINE_ void zero();
_FORCE_INLINE_ Vector4i abs() const;
@@ -140,6 +143,14 @@ double Vector4i::length() const {
return Math::sqrt((double)length_squared());
}
+int64_t Vector4i::distance_squared_to(const Vector4i &p_to) const {
+ return (p_to - *this).length_squared();
+}
+
+double Vector4i::distance_to(const Vector4i &p_to) const {
+ return (p_to - *this).length();
+}
+
Vector4i Vector4i::abs() const {
return Vector4i(Math::abs(x), Math::abs(y), Math::abs(z), Math::abs(w));
}