rayfract

view 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
line source
1 #include "vmath.h"
3 Vector2::Vector2()
4 {
5 x = y = 0.0f;
6 }
8 Vector2::Vector2(float x, float y)
9 {
10 this->x = x;
11 this->y = y;
12 }
14 Vector2 operator +(const Vector2 &a, const Vector2 &b)
15 {
16 return Vector2(a.x + b.x, a.y + b.y);
17 }
19 Vector2 operator *(const Vector2 &v, float s)
20 {
21 return Vector2(v.x * s, v.y * s);
22 }
24 Vector3::Vector3()
25 {
26 x = y = z = 0.0f;
27 }
29 Vector3::Vector3(float x, float y, float z)
30 {
31 this->x = x;
32 this->y = y;
33 this->z = z;
34 }
36 Vector4::Vector4()
37 {
38 x = y = z = w = 0.0f;
39 }
41 Vector4::Vector4(float x, float y, float z, float w)
42 {
43 this->x = x;
44 this->y = y;
45 this->z = z;
46 this->w = w;
47 }
49 float &Vector4::operator [](int idx)
50 {
51 switch(idx) {
52 case 0:
53 return x;
54 break;
55 case 1:
56 return y;
57 break;
58 case 2:
59 return z;
60 break;
61 case 3:
62 return w;
63 break;
64 default:
65 break;
66 }
67 return x;
68 }
70 const float &Vector4::operator [](int idx) const
71 {
72 switch(idx) {
73 case 0:
74 return x;
75 break;
76 case 1:
77 return y;
78 break;
79 case 2:
80 return z;
81 break;
82 case 3:
83 return w;
84 break;
85 default:
86 break;
87 }
88 return x;
89 }