1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#undef dot
#undef cross
extern "C" {
#include "data_types.h"
}
vec_ operator+( const vec_ &, const vec_ & ); /* v = v1 + v2 */
vec_ operator-( const vec_ &, const vec_ & ); /* v = v1 - v2 */
mat_ operator+( const mat_ &, const mat_ & ); /* m = m1 + m2 */
mat_ operator-( const mat_ &, const mat_ & ); /* m = m1 - m2 */
vec_ &operator+=( vec_ &, const vec_ & ); /* v += v2 */
mat_ &operator+=( mat_ &, const mat_ & ); /* m += m2 */
vec_ &operator-=( vec_ &, const vec_ & ); /* v -= v2 */
mat_ &operator-=( mat_ &, const mat_ & ); /* m -= m2 */
vec_ operator*( double, const vec_ & ); /* v = a * v1 */
mat_ operator*( double, const mat_ & ); /* m = a * m1 */
vec_ operator*( const vec_ &, double ); /* v = v1 * a */
mat_ operator*( const mat_ &, double ); /* m = m1 * a */
vec_ operator/( const vec_ &, double ); /* v = v1 / a */
mat_ operator/( const mat_ &, double ); /* m = m1 / a */
vec_ operator*=( vec_ &, const double a ); /* v *= a */
vec_ operator/=( vec_ &, const double a ); /* v /= a */
vec_ operator*( const mat_ &, const vec_ & ); /* v = m1 * v1 */
mat_ operator*( const mat_ &, const mat_ & ); /* m = m1 * m2 */
quat_ operator*( const quat_ &, const quat_ & ); /* q = q1 * q2 */
quat_ operator*( double, const quat_ & ); /* q = a * q1 */
quat_ operator*( const quat_ &, double ); /* q = q1 * a */
quat_ operator/( const quat_ &, double ); /* q = q1 / a */
vec_ operator-( const vec_ & ); /* v = - v1 */
vec_ operator+( const vec_ & ); /* v = + v1 */
mat_ operator-( const mat_ & ); /* m = - m1 */
mat_ operator+( const mat_ & ); /* m = + m1 */
quat_ operator+( const quat_ & ); /* q = + q */
quat_ operator-( const quat_ & ); /* q = - q */
quat_ &operator*=( quat_ &, const quat_ & ); /* q1 *= q2; */
quat_ &operator+=( quat_ &, const quat_ & ); /* q1 += q2; */
quat_ &operator*=( quat_ &, const double a ); /* q1 *= a; */
quat_ operator+( const quat_ &q1, const quat_ &q2 ); /* q3 = q1 + q2 */
vec_ unit ( const vec_ & ); /* unitize vec */
quat_ unit ( const quat_ & ); /* unitize quat */
mat_ trans ( const mat_ & ); /* transpose matrix */
quat_ trans ( const quat_ & ); /* transpose quat */
double dot ( const vec_, const vec_ ); /* vector dot product */
vec_ cross ( const vec_, const vec_ ); /* vector cross product */
|