summaryrefslogtreecommitdiffstats
path: root/src/variant/vector4i.cpp
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2024-05-07 12:55:23 -0500
committerGitHub <noreply@github.com>2024-05-07 12:55:23 -0500
commit43be24f34ccaba20faf05c76d724edb2a5339931 (patch)
treed7df360d17728f4667a4a47953cfddeac590b344 /src/variant/vector4i.cpp
parent54fe2f9891525891a52c47ffbd190d15c38cccab (diff)
parentb65970860e2cb0b255528553392965b893cbb35f (diff)
downloadredot-cpp-43be24f34ccaba20faf05c76d724edb2a5339931.tar.gz
Merge pull request #1437 from AThousandShips/vec_elem_scalar
Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
Diffstat (limited to 'src/variant/vector4i.cpp')
-rw-r--r--src/variant/vector4i.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/variant/vector4i.cpp b/src/variant/vector4i.cpp
index f1817dc..b0e330c 100644
--- a/src/variant/vector4i.cpp
+++ b/src/variant/vector4i.cpp
@@ -35,6 +35,22 @@
namespace godot {
+Vector4i Vector4i::snapped(const Vector4i &p_step) const {
+ return Vector4i(
+ Math::snapped(x, p_step.x),
+ Math::snapped(y, p_step.y),
+ Math::snapped(z, p_step.z),
+ Math::snapped(w, p_step.w));
+}
+
+Vector4i Vector4i::snappedi(int32_t p_step) const {
+ return Vector4i(
+ Math::snapped(x, p_step),
+ Math::snapped(y, p_step),
+ Math::snapped(z, p_step),
+ Math::snapped(w, p_step));
+}
+
Vector4i::Axis Vector4i::min_axis_index() const {
uint32_t min_index = 0;
int32_t min_value = x;
@@ -67,6 +83,14 @@ Vector4i Vector4i::clamp(const Vector4i &p_min, const Vector4i &p_max) const {
CLAMP(w, p_min.w, p_max.w));
}
+Vector4i Vector4i::clampi(int32_t p_min, int32_t p_max) const {
+ return Vector4i(
+ CLAMP(x, p_min, p_max),
+ CLAMP(y, p_min, p_max),
+ CLAMP(z, p_min, p_max),
+ CLAMP(w, p_min, p_max));
+}
+
Vector4i::operator String() const {
return "(" + itos(x) + ", " + itos(y) + ", " + itos(z) + ", " + itos(w) + ")";
}