aboutsummaryrefslogtreecommitdiff
path: root/vec3.h
diff options
context:
space:
mode:
authorFranklin Wei <me@fwei.tk>2019-02-04 18:16:49 -0500
committerFranklin Wei <me@fwei.tk>2019-02-04 18:16:49 -0500
commitcf7eff7aab751fd1b599d967ee156c7ebb61cbbd (patch)
tree04c414b2c7b7b42ea80e157458ac5228e04e45dd /vec3.h
parentf02c73a1cde15f55eac0ee2ecd0a10b6778d8b6c (diff)
downloadfieldviz-cf7eff7aab751fd1b599d967ee156c7ebb61cbbd.zip
fieldviz-cf7eff7aab751fd1b599d967ee156c7ebb61cbbd.tar.gz
fieldviz-cf7eff7aab751fd1b599d967ee156c7ebb61cbbd.tar.bz2
fieldviz-cf7eff7aab751fd1b599d967ee156c7ebb61cbbd.tar.xz
Work on adding toroid
Diffstat (limited to 'vec3.h')
-rw-r--r--vec3.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/vec3.h b/vec3.h
index abfc6c3..cb51f23 100644
--- a/vec3.h
+++ b/vec3.h
@@ -1,30 +1,34 @@
#ifndef VEC3_H
#define VEC3_H
#include <iostream>
+
+typedef float scalar;
+
class vec3 {
public:
- double v[3];
+ scalar v[3];
public:
vec3();
- vec3(double x);
- vec3(double x, double y, double z);
- double &operator[](int index);
- double operator[](int index) const;
- vec3 operator*(double scale) const;
- vec3 operator/(double scale) const;
+ vec3(scalar x);
+ vec3(scalar x, scalar y, scalar z);
+ scalar &operator[](int index);
+ scalar operator[](int index) const;
+ vec3 operator*(scalar scale) const;
+ vec3 operator/(scalar scale) const;
vec3 operator+(const vec3 &other) const;
vec3 operator-(const vec3 &other) const;
vec3 operator-() const;
- const vec3 &operator*=(double scale);
- const vec3 &operator/=(double scale);
+ const vec3 &operator*=(scalar scale);
+ const vec3 &operator/=(scalar scale);
const vec3 &operator+=(const vec3 &other);
const vec3 &operator-=(const vec3 &other);
- double magnitude() const;
- double magnitudeSquared() const;
+ scalar magnitude() const;
+ scalar magnitudeSquared() const;
vec3 normalize() const;
- double dot(const vec3 &other) const;
+ scalar dot(const vec3 &other) const;
vec3 cross(const vec3 &other) const;
};
+vec3 operator*(scalar scale, const vec3 &v);
std::ostream &operator<<(std::ostream &output, const vec3 &v);
#endif