clray
annotate src/vector.h @ 62:d9520da6b801
minor readme fix
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 28 Dec 2015 10:31:58 +0200 |
parents | 51f115e337c2 |
children |
rev | line source |
---|---|
nuclear@23 | 1 #ifndef VECTOR_H_ |
nuclear@23 | 2 #define VECTOR_H_ |
nuclear@23 | 3 |
nuclear@23 | 4 class Vector2 { |
nuclear@23 | 5 public: |
nuclear@23 | 6 float x, y; |
nuclear@23 | 7 |
nuclear@23 | 8 Vector2(); |
nuclear@23 | 9 Vector2(float x, float y); |
nuclear@23 | 10 }; |
nuclear@23 | 11 |
nuclear@23 | 12 class Vector3 { |
nuclear@23 | 13 public: |
nuclear@23 | 14 float x, y, z; |
nuclear@23 | 15 |
nuclear@23 | 16 Vector3(); |
nuclear@23 | 17 Vector3(float x, float y, float z); |
nuclear@54 | 18 Vector3(const float *arr); |
nuclear@23 | 19 |
nuclear@23 | 20 void normalize(); |
nuclear@23 | 21 inline float length(); |
nuclear@23 | 22 inline float lengthsq(); |
nuclear@23 | 23 }; |
nuclear@23 | 24 |
nuclear@23 | 25 inline Vector3 operator +(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 26 inline Vector3 operator -(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 27 inline Vector3 operator *(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 28 inline Vector3 operator /(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 29 |
nuclear@23 | 30 inline Vector3 operator -(const Vector3 &vec); |
nuclear@23 | 31 inline Vector3 operator *(const Vector3 &vec, float s); |
nuclear@54 | 32 inline Vector3 operator /(const Vector3 &vec, float s); |
nuclear@23 | 33 |
nuclear@23 | 34 inline float dot(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 35 inline Vector3 cross(const Vector3 &a, const Vector3 &b); |
nuclear@23 | 36 |
nuclear@54 | 37 inline Vector3 reflect(const Vector3 &v, const Vector3 &n); |
nuclear@54 | 38 |
nuclear@23 | 39 #include "vector.inl" |
nuclear@23 | 40 |
nuclear@23 | 41 #endif /* VECTOR_H_ */ |