]> git.localhorst.tv Git - l2e.git/commitdiff
added -= operators for Point/Vector
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 10 Aug 2012 11:05:24 +0000 (13:05 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 10 Aug 2012 11:05:24 +0000 (13:05 +0200)
src/geometry/operators.h

index 2dfa54e604cd883eece0f7b1543d4e2bc54677f7..295daa1a6b4fc2471eb2c88007b3ff3eb9e39af7 100644 (file)
@@ -26,13 +26,11 @@ inline Point<T> operator +(const Point<T> &lhs, const Vector<T> &rhs) {
 
 template<class T>
 inline Vector<T> &operator +=(Vector<T> &lhs, const Vector<T> &rhs) {
-       lhs = lhs + rhs;
-       return lhs;
+       return lhs = lhs + rhs;
 }
 template<class T>
 inline Point<T> &operator +=(Point<T> &lhs, const Vector<T> &rhs) {
-       lhs = lhs + rhs;
-       return lhs;
+       return lhs = lhs + rhs;
 }
 
 template<class T>
@@ -44,6 +42,15 @@ inline Point<T> operator -(const Point<T> &lhs, const Vector<T> &rhs) {
        return Point<T>(lhs.X() - rhs.X(), lhs.Y() - rhs.Y());
 }
 
+template<class T>
+inline Vector<T> &operator -=(Vector<T> &lhs, const Vector<T> &rhs) {
+       return lhs = lhs - rhs;
+}
+template<class T>
+inline Point<T> &operator -=(Point<T> &lhs, const Vector<T> &rhs) {
+       return lhs = lhs - rhs;
+}
+
 template<class T>
 inline Vector<T> operator -(const Vector<T> &v) {
        return Vector<T>(-v.X(), -v.Y());