mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Core: Integrate semantic constants in math structs
- Excludes self-explanatory constants (ZERO, ONE, etc)
This commit is contained in:
@@ -37,7 +37,14 @@ class String;
|
||||
struct Vector3;
|
||||
|
||||
struct [[nodiscard]] Vector3i {
|
||||
static const int AXIS_COUNT = 3;
|
||||
static const Vector3i LEFT;
|
||||
static const Vector3i RIGHT;
|
||||
static const Vector3i UP;
|
||||
static const Vector3i DOWN;
|
||||
static const Vector3i FORWARD;
|
||||
static const Vector3i BACK;
|
||||
|
||||
static constexpr int AXIS_COUNT = 3;
|
||||
|
||||
enum Axis {
|
||||
AXIS_X,
|
||||
@@ -139,6 +146,13 @@ struct [[nodiscard]] Vector3i {
|
||||
x(p_x), y(p_y), z(p_z) {}
|
||||
};
|
||||
|
||||
inline constexpr Vector3i Vector3i::LEFT = { -1, 0, 0 };
|
||||
inline constexpr Vector3i Vector3i::RIGHT = { 1, 0, 0 };
|
||||
inline constexpr Vector3i Vector3i::UP = { 0, 1, 0 };
|
||||
inline constexpr Vector3i Vector3i::DOWN = { 0, -1, 0 };
|
||||
inline constexpr Vector3i Vector3i::FORWARD = { 0, 0, -1 };
|
||||
inline constexpr Vector3i Vector3i::BACK = { 0, 0, 1 };
|
||||
|
||||
int64_t Vector3i::length_squared() const {
|
||||
return x * (int64_t)x + y * (int64_t)y + z * (int64_t)z;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user