From 908ca5872294ad7c6de27bd63c1eed97be5ef37a Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 22 Dec 2018 11:06:03 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9vector=E8=AE=BF=E9=97=AE=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/math/je_vector4.hpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/libjin/math/je_vector4.hpp') diff --git a/src/libjin/math/je_vector4.hpp b/src/libjin/math/je_vector4.hpp index 02675dd..3c0079c 100644 --- a/src/libjin/math/je_vector4.hpp +++ b/src/libjin/math/je_vector4.hpp @@ -29,10 +29,22 @@ namespace JinEngine data[3] = v.data[3]; } - T &x = data[0], &y = data[1], &z = data[2], &t = data[3]; // xyzt - T &w = data[2], &h = data[3]; // xywh - T &r = data[0], &g = data[1], &b = data[2], &a = data[3]; // rgb - T &left = data[0], &right = data[1], &top = data[2], &bottom = data[3]; // lrtb + #define _aliases(A, B, C, D) \ + T& A() { return data[0]; }\ + T& B() { return data[1]; }\ + T& C() { return data[2]; }\ + T& D() { return data[3]; }\ + T A() const { return data[0]; }\ + T B() const { return data[1]; }\ + T C() const { return data[2]; }\ + T D() const { return data[3]; } + + _aliases(x, y, z, t); + _aliases(x1, y1, w, h); + _aliases(r, g, b, a); + _aliases(left, right, top, bottom); + + #undef _aliases private: T data[4]; -- cgit v1.1-26-g67d0