Skip to content

Commit dd62b96

Browse files
authoredJan 4, 2024
Merge pull request godotengine#1347 from Chubercik/vector_method_parity
Add `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2 parents 8d13acc + b733102 commit dd62b96

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed
 

‎include/godot_cpp/variant/vector2i.hpp

+3
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ struct _NO_DISCARD_ Vector2i {
117117
int64_t length_squared() const;
118118
double length() const;
119119

120+
int64_t distance_squared_to(const Vector2i &p_to) const;
121+
double distance_to(const Vector2i &p_to) const;
122+
120123
real_t aspect() const { return width / (real_t)height; }
121124
Vector2i sign() const { return Vector2i(SIGN(x), SIGN(y)); }
122125
Vector2i abs() const { return Vector2i(Math::abs(x), Math::abs(y)); }

‎include/godot_cpp/variant/vector3i.hpp

+11
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ struct _NO_DISCARD_ Vector3i {
8282
_FORCE_INLINE_ int64_t length_squared() const;
8383
_FORCE_INLINE_ double length() const;
8484

85+
_FORCE_INLINE_ int64_t distance_squared_to(const Vector3i &p_to) const;
86+
_FORCE_INLINE_ double distance_to(const Vector3i &p_to) const;
87+
8588
_FORCE_INLINE_ void zero();
8689

8790
_FORCE_INLINE_ Vector3i abs() const;
@@ -136,6 +139,14 @@ double Vector3i::length() const {
136139
return Math::sqrt((double)length_squared());
137140
}
138141

142+
int64_t Vector3i::distance_squared_to(const Vector3i &p_to) const {
143+
return (p_to - *this).length_squared();
144+
}
145+
146+
double Vector3i::distance_to(const Vector3i &p_to) const {
147+
return (p_to - *this).length();
148+
}
149+
139150
Vector3i Vector3i::abs() const {
140151
return Vector3i(Math::abs(x), Math::abs(y), Math::abs(z));
141152
}

‎include/godot_cpp/variant/vector4i.hpp

+11
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ struct _NO_DISCARD_ Vector4i {
8484
_FORCE_INLINE_ int64_t length_squared() const;
8585
_FORCE_INLINE_ double length() const;
8686

87+
_FORCE_INLINE_ int64_t distance_squared_to(const Vector4i &p_to) const;
88+
_FORCE_INLINE_ double distance_to(const Vector4i &p_to) const;
89+
8790
_FORCE_INLINE_ void zero();
8891

8992
_FORCE_INLINE_ Vector4i abs() const;
@@ -140,6 +143,14 @@ double Vector4i::length() const {
140143
return Math::sqrt((double)length_squared());
141144
}
142145

146+
int64_t Vector4i::distance_squared_to(const Vector4i &p_to) const {
147+
return (p_to - *this).length_squared();
148+
}
149+
150+
double Vector4i::distance_to(const Vector4i &p_to) const {
151+
return (p_to - *this).length();
152+
}
153+
143154
Vector4i Vector4i::abs() const {
144155
return Vector4i(Math::abs(x), Math::abs(y), Math::abs(z), Math::abs(w));
145156
}

‎src/variant/vector2i.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ double Vector2i::length() const {
4949
return Math::sqrt((double)length_squared());
5050
}
5151

52+
int64_t Vector2i::distance_squared_to(const Vector2i &p_to) const {
53+
return (p_to - *this).length_squared();
54+
}
55+
56+
double Vector2i::distance_to(const Vector2i &p_to) const {
57+
return (p_to - *this).length();
58+
}
59+
5260
Vector2i Vector2i::operator+(const Vector2i &p_v) const {
5361
return Vector2i(x + p_v.x, y + p_v.y);
5462
}

0 commit comments

Comments
 (0)