rayfract
annotate src/vmath.cc @ 3:bf1d56975cc9
- added visual studio project
- removed vmath dependency
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 26 Oct 2010 09:52:57 +0300 |
parents | |
children |
rev | line source |
---|---|
nuclear@3 | 1 #include "vmath.h" |
nuclear@3 | 2 |
nuclear@3 | 3 Vector2::Vector2() |
nuclear@3 | 4 { |
nuclear@3 | 5 x = y = 0.0f; |
nuclear@3 | 6 } |
nuclear@3 | 7 |
nuclear@3 | 8 Vector2::Vector2(float x, float y) |
nuclear@3 | 9 { |
nuclear@3 | 10 this->x = x; |
nuclear@3 | 11 this->y = y; |
nuclear@3 | 12 } |
nuclear@3 | 13 |
nuclear@3 | 14 Vector2 operator +(const Vector2 &a, const Vector2 &b) |
nuclear@3 | 15 { |
nuclear@3 | 16 return Vector2(a.x + b.x, a.y + b.y); |
nuclear@3 | 17 } |
nuclear@3 | 18 |
nuclear@3 | 19 Vector2 operator *(const Vector2 &v, float s) |
nuclear@3 | 20 { |
nuclear@3 | 21 return Vector2(v.x * s, v.y * s); |
nuclear@3 | 22 } |
nuclear@3 | 23 |
nuclear@3 | 24 Vector3::Vector3() |
nuclear@3 | 25 { |
nuclear@3 | 26 x = y = z = 0.0f; |
nuclear@3 | 27 } |
nuclear@3 | 28 |
nuclear@3 | 29 Vector3::Vector3(float x, float y, float z) |
nuclear@3 | 30 { |
nuclear@3 | 31 this->x = x; |
nuclear@3 | 32 this->y = y; |
nuclear@3 | 33 this->z = z; |
nuclear@3 | 34 } |
nuclear@3 | 35 |
nuclear@3 | 36 Vector4::Vector4() |
nuclear@3 | 37 { |
nuclear@3 | 38 x = y = z = w = 0.0f; |
nuclear@3 | 39 } |
nuclear@3 | 40 |
nuclear@3 | 41 Vector4::Vector4(float x, float y, float z, float w) |
nuclear@3 | 42 { |
nuclear@3 | 43 this->x = x; |
nuclear@3 | 44 this->y = y; |
nuclear@3 | 45 this->z = z; |
nuclear@3 | 46 this->w = w; |
nuclear@3 | 47 } |
nuclear@3 | 48 |
nuclear@3 | 49 float &Vector4::operator [](int idx) |
nuclear@3 | 50 { |
nuclear@3 | 51 switch(idx) { |
nuclear@3 | 52 case 0: |
nuclear@3 | 53 return x; |
nuclear@3 | 54 break; |
nuclear@3 | 55 case 1: |
nuclear@3 | 56 return y; |
nuclear@3 | 57 break; |
nuclear@3 | 58 case 2: |
nuclear@3 | 59 return z; |
nuclear@3 | 60 break; |
nuclear@3 | 61 case 3: |
nuclear@3 | 62 return w; |
nuclear@3 | 63 break; |
nuclear@3 | 64 default: |
nuclear@3 | 65 break; |
nuclear@3 | 66 } |
nuclear@3 | 67 return x; |
nuclear@3 | 68 } |
nuclear@3 | 69 |
nuclear@3 | 70 const float &Vector4::operator [](int idx) const |
nuclear@3 | 71 { |
nuclear@3 | 72 switch(idx) { |
nuclear@3 | 73 case 0: |
nuclear@3 | 74 return x; |
nuclear@3 | 75 break; |
nuclear@3 | 76 case 1: |
nuclear@3 | 77 return y; |
nuclear@3 | 78 break; |
nuclear@3 | 79 case 2: |
nuclear@3 | 80 return z; |
nuclear@3 | 81 break; |
nuclear@3 | 82 case 3: |
nuclear@3 | 83 return w; |
nuclear@3 | 84 break; |
nuclear@3 | 85 default: |
nuclear@3 | 86 break; |
nuclear@3 | 87 } |
nuclear@3 | 88 return x; |
nuclear@3 | 89 } |