Fork of Smoothie to port to mbed non-LPC targets.

Dependencies:   mbed

Fork of Smoothie by Stéphane Cachat

Committer:
Bigcheese
Date:
Sun Mar 02 06:33:08 2014 +0000
Revision:
3:f151d08d335c
Parent:
2:1df0b61d3b5a
Bunch of stuff. Need to locally merge in updated USB changes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Michael J. Spencer 2:1df0b61d3b5a 1 #ifndef _VECTOR3_H
Michael J. Spencer 2:1df0b61d3b5a 2 #define _VECTOR3_H
Michael J. Spencer 2:1df0b61d3b5a 3
Michael J. Spencer 2:1df0b61d3b5a 4 class Vector3
Michael J. Spencer 2:1df0b61d3b5a 5 {
Michael J. Spencer 2:1df0b61d3b5a 6 public:
Michael J. Spencer 2:1df0b61d3b5a 7 Vector3();
Michael J. Spencer 2:1df0b61d3b5a 8 Vector3(float, float, float);
Michael J. Spencer 2:1df0b61d3b5a 9
Michael J. Spencer 2:1df0b61d3b5a 10 float& operator[](int);
Michael J. Spencer 2:1df0b61d3b5a 11
Michael J. Spencer 2:1df0b61d3b5a 12 Vector3 cross(const Vector3);
Michael J. Spencer 2:1df0b61d3b5a 13
Michael J. Spencer 2:1df0b61d3b5a 14 float dot(const Vector3);
Michael J. Spencer 2:1df0b61d3b5a 15
Michael J. Spencer 2:1df0b61d3b5a 16 float magsq();
Michael J. Spencer 2:1df0b61d3b5a 17 float mag();
Michael J. Spencer 2:1df0b61d3b5a 18
Michael J. Spencer 2:1df0b61d3b5a 19 Vector3 add(const Vector3);
Michael J. Spencer 2:1df0b61d3b5a 20 Vector3 sub(const Vector3);
Michael J. Spencer 2:1df0b61d3b5a 21
Michael J. Spencer 2:1df0b61d3b5a 22 Vector3 mul(float);
Michael J. Spencer 2:1df0b61d3b5a 23
Michael J. Spencer 2:1df0b61d3b5a 24 Vector3 unit(void);
Michael J. Spencer 2:1df0b61d3b5a 25
Michael J. Spencer 2:1df0b61d3b5a 26 private:
Michael J. Spencer 2:1df0b61d3b5a 27 float elem[3];
Michael J. Spencer 2:1df0b61d3b5a 28 static float nan;
Michael J. Spencer 2:1df0b61d3b5a 29 };
Michael J. Spencer 2:1df0b61d3b5a 30
Michael J. Spencer 2:1df0b61d3b5a 31 // typedef float Vector3[3];
Michael J. Spencer 2:1df0b61d3b5a 32
Michael J. Spencer 2:1df0b61d3b5a 33 // float* cross_product(Vector3 vec1, Vector3 vec2, Vector3 out);
Michael J. Spencer 2:1df0b61d3b5a 34 // float dot_product(Vector3 vec1, Vector3 vec2);
Michael J. Spencer 2:1df0b61d3b5a 35 // float magsq(Vector3 vec);
Michael J. Spencer 2:1df0b61d3b5a 36 // float* vecsub(Vector3 vec1, Vector3 vec2, Vector3 out)
Michael J. Spencer 2:1df0b61d3b5a 37 // float* scalar_mul(Vector3 vec, float scalar, Vector3 out)
Michael J. Spencer 2:1df0b61d3b5a 38
Michael J. Spencer 2:1df0b61d3b5a 39 #endif /* _VECTOR3_H */