eqemu
annotate src/vmath.h @ 3:f9274bebe55e
adding 3d graphics stuff
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 17 Jul 2014 02:35:19 +0300 |
parents | |
children | 3d3656360a82 |
rev | line source |
---|---|
nuclear@3 | 1 #ifndef VMATH_H_ |
nuclear@3 | 2 #define VMATH_H_ |
nuclear@3 | 3 |
nuclear@3 | 4 class Vector2 { |
nuclear@3 | 5 public: |
nuclear@3 | 6 float x, y; |
nuclear@3 | 7 |
nuclear@3 | 8 Vector2() : x(0), y(0) {} |
nuclear@3 | 9 Vector2(float xa, float ya) : x(xa), y(ya) {} |
nuclear@3 | 10 |
nuclear@3 | 11 float &operator [](int idx) { return (&x)[idx]; } |
nuclear@3 | 12 const float &operator [](int idx) const { return (&x)[idx]; } |
nuclear@3 | 13 }; |
nuclear@3 | 14 |
nuclear@3 | 15 class Vector3 { |
nuclear@3 | 16 public: |
nuclear@3 | 17 float x, y, z; |
nuclear@3 | 18 |
nuclear@3 | 19 Vector3() : x(0), y(0), z(0) {} |
nuclear@3 | 20 Vector3(float xa, float ya, float za) : x(xa), y(ya), z(za) {} |
nuclear@3 | 21 |
nuclear@3 | 22 float &operator [](int idx) { return (&x)[idx]; } |
nuclear@3 | 23 const float &operator [](int idx) const { return (&x)[idx]; } |
nuclear@3 | 24 }; |
nuclear@3 | 25 |
nuclear@3 | 26 class Vector4 { |
nuclear@3 | 27 public: |
nuclear@3 | 28 float x, y, z, w; |
nuclear@3 | 29 |
nuclear@3 | 30 Vector4() : x(0), y(0), z(0), w(0) {} |
nuclear@3 | 31 Vector4(float xa, float ya, float za, float wa) : x(xa), y(ya), z(za), w(wa) {} |
nuclear@3 | 32 |
nuclear@3 | 33 float &operator [](int idx) { return (&x)[idx]; } |
nuclear@3 | 34 const float &operator [](int idx) const { return (&x)[idx]; } |
nuclear@3 | 35 }; |
nuclear@3 | 36 |
nuclear@3 | 37 #endif // VMATH_H_ |