diff options
Diffstat (limited to 'src/libjin/math/je_vector3.hpp')
-rw-r--r-- | src/libjin/math/je_vector3.hpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libjin/math/je_vector3.hpp b/src/libjin/math/je_vector3.hpp index 1e8f86d..b8feb1b 100644 --- a/src/libjin/math/je_vector3.hpp +++ b/src/libjin/math/je_vector3.hpp @@ -27,8 +27,18 @@ namespace JinEngine data[2] = v.data[2]; } - T &x = data[0], &y = data[1], &z = data[2]; // xyz - T &r = data[0], &g = data[1], &b = data[2]; // rgb + #define _aliases(A, B, C) \ + T& A() { return data[0]; }\ + T& B() { return data[1]; }\ + T& C() { return data[2]; }\ + T A() const { return data[0]; }\ + T B() const { return data[1]; }\ + T C() const { return data[2]; } + + _aliases(x, y, z); + _aliases(r, g, b); + + #undef _aliases private: T data[3]; |