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_