30 lines
699 B
C++
30 lines
699 B
C++
#include "vertex.hh"
|
|
|
|
Vertex::Vertex() {}
|
|
|
|
Vertex::Vertex(int x, int y, int z): x(x), y(y), z(z) {}
|
|
|
|
std::ostream& operator<<(std::ostream& os, const Vertex& v) {
|
|
return os << "(" << v.x << "," << v.y << "," << v.z << ")";
|
|
}
|
|
|
|
Vertex operator+(const Vertex& u, const Vertex& v) {
|
|
return Vertex(u.x + v.x, u.y + v.y, u.z + v.z);
|
|
}
|
|
|
|
Vertex operator-(const Vertex& u, const Vertex& v) {
|
|
return Vertex(u.x + v.x, u.y + v.y, u.z + v.z);
|
|
}
|
|
|
|
Vertex operator-(const Vertex& v) {
|
|
return Vertex(-v.x, -v.y, -v.z);
|
|
}
|
|
|
|
Vertex operator*(const Vertex& v, const int n) {
|
|
return Vertex(v.x * n, v.y * n, v.z * n);
|
|
}
|
|
|
|
Vertex operator/(const Vertex& v, const int n) {
|
|
return Vertex(v.x / n, v.y / n, v.z / n);
|
|
}
|