1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 |
#include "vector3.h"
using namespace Machiel;
Vector3::Vector3():m_x(0),m_y(0),m_z(0)
{}
Vector3::Vector3(float x, float y, float z):m_x(x),m_y(y),m_z(z)
{}
Vector3::~Vector3()
{}
tstring Vector3::ToString(){
tstringstream temp;
temp << m_x << "," << m_y << "," << m_z;
return temp.str();
}
Vector3::Vector3(const Vector3& p)
{
m_x = p.m_x;
m_y = p.m_y;
m_z = p.m_z;
}
Vector3& Vector3::operator=(const Vector3& p)
{
m_x = p.m_x;
m_y = p.m_y;
m_z = p.m_z;
return *this;
}
Vector3 Vector3::operator+(const Vector3& p)
{
return Vector3(m_x + p.m_x,m_y + p.m_y,m_z + p.m_z);
}
Vector3 Vector3::operator-(const Vector3& p)
{
return Vector3(m_x - p.m_x,m_y - p.m_y,m_z - p.m_z);
}
Vector3 Vector3::operator*(const Vector3& p)
{
return Vector3(m_x * p.m_x,m_y * p.m_y,m_z * p.m_z);
}
Vector3& Vector3::operator*=(const Vector3& p)
{
m_x *= p.m_x;
m_y *= p.m_y;
m_z *= p.m_z;
return *this;
}
Vector3& Vector3::operator-=(const Vector3& p)
{
m_x -= p.m_x;
m_y -= p.m_y;
m_z -= p.m_z;
return *this;
}
Vector3& Vector3::operator+=(const Vector3& p)
{
m_x += p.m_x;
m_y += p.m_y;
m_z += p.m_z;
return *this;
}
bool Vector3::operator!=(const Vector3& p)
{
return (m_x != p.m_x || m_y != p.m_y || m_z != p.m_z);
}
bool Vector3::operator==(const Vector3& p)
{
return (m_x == p.m_x && m_y == p.m_y && m_z == p.m_z);
}
Vector3 Machiel::operator*(int n, Vector3& p)
{
return Vector3(n * p.m_x,n * p.m_y,n * p.m_z);
}
tstringstream& Machiel::operator<<(tstringstream& stream, Vector3& vector3)
{
stream << vector3.m_x << "," << vector3.m_y << "," << vector3.m_z;
return stream;
}
tstring Machiel::operator+(tstring string, Vector3& vector3)
{
tstringstream temp;
temp << string;
temp << vector3;
return temp.str();
} |