]> git.localhorst.tv Git - orbi.git/blobdiff - src/graphics/Vector.h
orientation for entities
[orbi.git] / src / graphics / Vector.h
index 6259b97f0cb9a78fab1b389347113b28a94e9a33..50ae8c8de067b184e7d49888c7c31c457fd724ef 100644 (file)
@@ -198,6 +198,15 @@ constexpr Vector<Scalar> Norm(Vector<Scalar> v) {
        return v / Length(v);
 }
 
+template<class Scalar>
+constexpr Vector<Scalar> MirrorX(Vector<Scalar> v) {
+       return Vector<Scalar>(v.x, -v.y);
+}
+template<class Scalar>
+constexpr Vector<Scalar> MirrorY(Vector<Scalar> v) {
+       return Vector<Scalar>(-v.x, v.y);
+}
+
 template<class Scalar>
 constexpr Vector<Scalar> Rotate90(Vector<Scalar> v) {
        return Vector<Scalar>(-v.y, v.x);
@@ -210,6 +219,7 @@ template<class Scalar>
 constexpr Vector<Scalar> Rotate270(Vector<Scalar> v) {
        return Vector<Scalar>(v.y, -v.x);
 }
+// angle given in radians
 template<class Scalar, class Float>
 inline Vector<Scalar> Rotate(Vector<Scalar> v, Float by) {
        Float sine(std::sin(by));