summaryrefslogtreecommitdiff
path: root/src/helpers/Vector2D.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-02 22:17:17 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-02 22:17:17 +0200
commite81de827062958d94d6e2f1e0abc10d39b29e0c4 (patch)
tree80764d7b2b1e3777dbec125e9ebc02b5effd723c /src/helpers/Vector2D.cpp
parent9d6999345e202c785af0f6678986c251e02e4b32 (diff)
added Vector2D::clamp
Diffstat (limited to 'src/helpers/Vector2D.cpp')
-rw-r--r--src/helpers/Vector2D.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/helpers/Vector2D.cpp b/src/helpers/Vector2D.cpp
index acaace13..a96411e6 100644
--- a/src/helpers/Vector2D.cpp
+++ b/src/helpers/Vector2D.cpp
@@ -1,4 +1,5 @@
#include "Vector2D.hpp"
+#include <algorithm>
Vector2D::Vector2D(double xx, double yy) {
x = xx;
@@ -20,4 +21,11 @@ double Vector2D::normalize() {
Vector2D Vector2D::floor() {
return Vector2D((int)x, (int)y);
+}
+
+Vector2D Vector2D::clamp(const Vector2D& min, const Vector2D& max) {
+ return Vector2D(
+ std::clamp(this->x, min.x, max.x == 0 ? INFINITY : max.x),
+ std::clamp(this->y, min.y, max.y == 0 ? INFINITY : max.y)
+ );
} \ No newline at end of file