Skip to content

Commit 52eb77e

Browse files
Add remaining component-wise min/max functions to Vector*
1 parent 74b352e commit 52eb77e

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed

include/godot_cpp/variant/vector3.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ struct _NO_DISCARD_ Vector3 {
7878
return x < y ? (y < z ? Vector3::AXIS_Z : Vector3::AXIS_Y) : (x < z ? Vector3::AXIS_Z : Vector3::AXIS_X);
7979
}
8080

81+
Vector3 min(const Vector3 &p_vector3) const {
82+
return Vector3(MIN(x, p_vector3.x), MIN(y, p_vector3.y), MIN(z, p_vector3.z));
83+
}
84+
85+
Vector3 max(const Vector3 &p_vector3) const {
86+
return Vector3(MAX(x, p_vector3.x), MAX(y, p_vector3.y), MAX(z, p_vector3.z));
87+
}
88+
8189
_FORCE_INLINE_ real_t length() const;
8290
_FORCE_INLINE_ real_t length_squared() const;
8391

include/godot_cpp/variant/vector3i.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,14 @@ struct _NO_DISCARD_ Vector3i {
7171
Vector3i::Axis min_axis_index() const;
7272
Vector3i::Axis max_axis_index() const;
7373

74+
Vector3i min(const Vector3i &p_vector3i) const {
75+
return Vector3i(MIN(x, p_vector3i.x), MIN(y, p_vector3i.y), MIN(z, p_vector3i.z));
76+
}
77+
78+
Vector3i max(const Vector3i &p_vector3i) const {
79+
return Vector3i(MAX(x, p_vector3i.x), MAX(y, p_vector3i.y), MAX(z, p_vector3i.z));
80+
}
81+
7482
_FORCE_INLINE_ int64_t length_squared() const;
7583
_FORCE_INLINE_ double length() const;
7684

include/godot_cpp/variant/vector4.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ struct _NO_DISCARD_ Vector4 {
7070
Vector4::Axis min_axis_index() const;
7171
Vector4::Axis max_axis_index() const;
7272

73+
Vector4 min(const Vector4 &p_vector4) const {
74+
return Vector4(MIN(x, p_vector4.x), MIN(y, p_vector4.y), MIN(z, p_vector4.z), MIN(w, p_vector4.w));
75+
}
76+
77+
Vector4 max(const Vector4 &p_vector4) const {
78+
return Vector4(MAX(x, p_vector4.x), MAX(y, p_vector4.y), MAX(z, p_vector4.z), MAX(w, p_vector4.w));
79+
}
80+
7381
_FORCE_INLINE_ real_t length_squared() const;
7482
bool is_equal_approx(const Vector4 &p_vec4) const;
7583
bool is_zero_approx() const;

include/godot_cpp/variant/vector4i.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ struct _NO_DISCARD_ Vector4i {
7373
Vector4i::Axis min_axis_index() const;
7474
Vector4i::Axis max_axis_index() const;
7575

76+
Vector4i min(const Vector4i &p_vector4i) const {
77+
return Vector4i(MIN(x, p_vector4i.x), MIN(y, p_vector4i.y), MIN(z, p_vector4i.z), MIN(w, p_vector4i.w));
78+
}
79+
80+
Vector4i max(const Vector4i &p_vector4i) const {
81+
return Vector4i(MAX(x, p_vector4i.x), MAX(y, p_vector4i.y), MAX(z, p_vector4i.z), MAX(w, p_vector4i.w));
82+
}
83+
7684
_FORCE_INLINE_ int64_t length_squared() const;
7785
_FORCE_INLINE_ double length() const;
7886

0 commit comments

Comments
 (0)