Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-10-05 20:29:47 +0000
committerStijn Buys <ingar@osirion.org>2008-10-05 20:29:47 +0000
commitcd5832676aa34e693ebc0391cd0994f8e60c7120 (patch)
tree412686fbdf7507e5127f1c5253bede055165bab0 /src/math/vector2f.cc
parent9c3baab33a0fa48e7379f0485116452779a1cd37 (diff)
vector2f files
Diffstat (limited to 'src/math/vector2f.cc')
-rw-r--r--src/math/vector2f.cc78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/math/vector2f.cc b/src/math/vector2f.cc
new file mode 100644
index 0000000..c6f1504
--- /dev/null
+++ b/src/math/vector2f.cc
@@ -0,0 +1,78 @@
+/*
+ math/vector2f.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#include <cstring>
+
+#include "math/vector2f.h"
+
+namespace math {
+
+Vector2f::Vector2f() : x(coord[0]), y(coord[1])
+{
+ clear();
+}
+
+Vector2f::Vector2f(Vector2f const &other) : x(coord[0]), y(coord[1])
+{
+ assign(other);
+}
+
+Vector2f::Vector2f(float const x, float const y) : x(coord[0]), y(coord[1])
+{
+ assign(x, y);
+}
+
+void Vector2f::clear()
+{
+ memset(coord, 0, sizeof(coord));
+}
+
+void Vector2f::assign(Vector2f const &other)
+{
+ memcpy(coord, other.coord, sizeof(coord));
+}
+
+void Vector2f::assign(float const x, float const y)
+{
+ coord[0] = x;
+ coord[1] = y;
+}
+
+Vector2f &Vector2f::operator=(Vector2f const &other)
+{
+ assign(other);
+ return (*this);
+}
+
+Vector2f &Vector2f::operator+=(Vector2f const &other)
+{
+ coord[0] += other.coord[0];
+ coord[1] += other.coord[1];
+ return (*this);
+}
+
+Vector2f &Vector2f::operator-=(Vector2f const &other)
+{
+ coord[0] -= other.coord[0];
+ coord[1] -= other.coord[1];
+ return (*this);
+}
+
+Vector2f Vector2f::operator-(Vector2f const &other) const
+{
+ Vector2f v(*this);
+ v -= other;
+ return v;
+}
+
+Vector2f Vector2f::operator+(Vector2f const &other) const
+{
+ Vector2f v(*this);
+ v += other;
+ return v;
+}
+
+}