aboutsummaryrefslogtreecommitdiff
path: root/include/fml/vec3.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/fml/vec3.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/fml/vec3.h b/include/fml/vec3.h
index 3460c56..a006619 100644
--- a/include/fml/vec3.h
+++ b/include/fml/vec3.h
@@ -5,6 +5,8 @@
#include "fml.h"
namespace fml {
+ class quat;
+
class vec3 {
public:
scalar v[3];
@@ -27,7 +29,15 @@ namespace fml {
scalar magnitudeSquared() const;
vec3 normalize() const;
scalar dot(const vec3 &other) const;
+
+ /* order is this x other. */
vec3 cross(const vec3 &other) const;
+
+ /* rotate by a rotation quaternion */
+ vec3 rotateby(const quat &rotquat) const;
+
+ /* return an arbitrary unit vector normal to other */
+ static vec3 any_unit_normal(const vec3 &other);
};
vec3 operator*(scalar scale, const vec3 &v);