summaryrefslogtreecommitdiffstats
path: root/core/math/vector3i.h
diff options
context:
space:
mode:
authorAaron Franke <arnfranke@yahoo.com>2021-11-29 11:13:31 -0600
committerAaron Franke <arnfranke@yahoo.com>2022-01-06 10:06:56 -0800
commit2c52f1646480506d6647ec71e6ea14935caf2e7e (patch)
tree0f23363d6388499376538e2fd340d412d87f3e99 /core/math/vector3i.h
parent1dee3e0cc7590480a77d5bb50a4c90e0286c5e50 (diff)
downloadredot-engine-2c52f1646480506d6647ec71e6ea14935caf2e7e.tar.gz
Add length and length_squared to Vector2i/3i
Diffstat (limited to 'core/math/vector3i.h')
-rw-r--r--core/math/vector3i.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/math/vector3i.h b/core/math/vector3i.h
index 0f9caa349b..1416c98057 100644
--- a/core/math/vector3i.h
+++ b/core/math/vector3i.h
@@ -31,6 +31,7 @@
#ifndef VECTOR3I_H
#define VECTOR3I_H
+#include "core/math/math_funcs.h"
#include "core/string/ustring.h"
#include "core/typedefs.h"
@@ -65,6 +66,9 @@ struct Vector3i {
Vector3i::Axis min_axis_index() const;
Vector3i::Axis max_axis_index() const;
+ _FORCE_INLINE_ int64_t length_squared() const;
+ _FORCE_INLINE_ double length() const;
+
_FORCE_INLINE_ void zero();
_FORCE_INLINE_ Vector3i abs() const;
@@ -110,6 +114,14 @@ struct Vector3i {
}
};
+int64_t Vector3i::length_squared() const {
+ return x * (int64_t)x + y * (int64_t)y + z * (int64_t)z;
+}
+
+double Vector3i::length() const {
+ return Math::sqrt((double)length_squared());
+}
+
Vector3i Vector3i::abs() const {
return Vector3i(ABS(x), ABS(y), ABS(z));
}