eqemu

view 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
line source
1 #ifndef VMATH_H_
2 #define VMATH_H_
4 class Vector2 {
5 public:
6 float x, y;
8 Vector2() : x(0), y(0) {}
9 Vector2(float xa, float ya) : x(xa), y(ya) {}
11 float &operator [](int idx) { return (&x)[idx]; }
12 const float &operator [](int idx) const { return (&x)[idx]; }
13 };
15 class Vector3 {
16 public:
17 float x, y, z;
19 Vector3() : x(0), y(0), z(0) {}
20 Vector3(float xa, float ya, float za) : x(xa), y(ya), z(za) {}
22 float &operator [](int idx) { return (&x)[idx]; }
23 const float &operator [](int idx) const { return (&x)[idx]; }
24 };
26 class Vector4 {
27 public:
28 float x, y, z, w;
30 Vector4() : x(0), y(0), z(0), w(0) {}
31 Vector4(float xa, float ya, float za, float wa) : x(xa), y(ya), z(za), w(wa) {}
33 float &operator [](int idx) { return (&x)[idx]; }
34 const float &operator [](int idx) const { return (&x)[idx]; }
35 };
37 #endif // VMATH_H_