diff options
author | Aaron Franke <arnfranke@yahoo.com> | 2021-11-29 11:13:31 -0600 |
---|---|---|
committer | Aaron Franke <arnfranke@yahoo.com> | 2022-01-06 10:06:56 -0800 |
commit | 2c52f1646480506d6647ec71e6ea14935caf2e7e (patch) | |
tree | 0f23363d6388499376538e2fd340d412d87f3e99 /core/math/vector3i.h | |
parent | 1dee3e0cc7590480a77d5bb50a4c90e0286c5e50 (diff) | |
download | redot-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.h | 12 |
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)); } |