diff options
author | neoraider <devnull@localhost> | 2007-12-14 03:47:03 +0100 |
---|---|---|
committer | neoraider <devnull@localhost> | 2007-12-14 03:47:03 +0100 |
commit | a8c1d6168797526b9d24bc8c86f2578f3be59fa8 (patch) | |
tree | 8515976a634b788d99b2c894757a0b4ecbb6fa6a /Vertex3d.cpp | |
parent | d82c597917d8ef5866c7a83d0c101f423a2ac05d (diff) | |
download | zoomedit-a8c1d6168797526b9d24bc8c86f2578f3be59fa8.tar zoomedit-a8c1d6168797526b9d24bc8c86f2578f3be59fa8.zip |
zoomedit: Verallgemeinerte Level-Objekte implementiert.
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; +} |