diff options
Diffstat (limited to 'Vertex3d.cpp')
-rw-r--r-- | Vertex3d.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Vertex3d.cpp b/Vertex3d.cpp new file mode 100644 index 0000000..16c0e27 --- /dev/null +++ b/Vertex3d.cpp @@ -0,0 +1,35 @@ +#include "Vertex3d.h" +#include <math.h> + +float Vertex3d::distanceSq(const Vertex3d &v) const { + return (x - v.x)*(x - v.x) + (y - v.y)*(y - v.y) + (z - v.z)*(z - v.z); +} + +float Vertex3d::distance(const Vertex3d &v) const { + return sqrtf(distanceSq(v)); +} + + +Vertex3d Vertex3d::operator+(const Vertex3d &v) const { + return Vertex3d(x + v.x, y + v.y, z + v.z); +} + +Vertex3d Vertex3d::operator-(const Vertex3d &v) const { + return Vertex3d(x - v.x, y - v.y, z - v.z); +} + +Vertex3d& Vertex3d::operator+=(const Vertex3d &v) { + x += v.x; + y += v.y; + z += v.z; + + return *this; +} + +Vertex3d& Vertex3d::operator-=(const Vertex3d &v) { + x -= v.x; + y -= v.y; + z -= v.z; + + return *this; +} |