summaryrefslogtreecommitdiffstats
path: root/Vertex3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Vertex3d.cpp')
-rw-r--r--Vertex3d.cpp35
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;
+}