summaryrefslogtreecommitdiff
path: root/src/common/vector_math.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-01-07 12:39:20 -0500
committerGitHub <noreply@github.com>2017-01-07 12:39:20 -0500
commit7cfe3ef0463ace034b1e5786c9581cfa5f2e810c (patch)
tree6b06cb03d276b29070ca29599fc4c5fcf77edb39 /src/common/vector_math.h
parentb5eac78b43c254b20ef88386b4fdaf0bb6c29fe2 (diff)
parentd7d40b3c56df8e31d018477a5bd2abe3a6e4e550 (diff)
Merge pull request #1951 from wwylele/motion-sensor
Emulate motion sensor in frontend
Diffstat (limited to 'src/common/vector_math.h')
-rw-r--r--src/common/vector_math.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/common/vector_math.h b/src/common/vector_math.h
index a57d86d88..7ca8e15f5 100644
--- a/src/common/vector_math.h
+++ b/src/common/vector_math.h
@@ -186,6 +186,18 @@ Vec2<T> operator*(const V& f, const Vec2<T>& vec) {
typedef Vec2<float> Vec2f;
+template <>
+inline float Vec2<float>::Length() const {
+ return std::sqrt(x * x + y * y);
+}
+
+template <>
+inline float Vec2<float>::Normalize() {
+ float length = Length();
+ *this /= length;
+ return length;
+}
+
template <typename T>
class Vec3 {
public:
@@ -388,6 +400,13 @@ inline Vec3<float> Vec3<float>::Normalized() const {
return *this / Length();
}
+template <>
+inline float Vec3<float>::Normalize() {
+ float length = Length();
+ *this /= length;
+ return length;
+}
+
typedef Vec3<float> Vec3f;
template <typename T>