summaryrefslogtreecommitdiffhomepage
path: root/include/rodeo/math/vec3.h
blob: 990a251e1f89a5529872f0f058d9a79dae7c1943 (plain)
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
45
46
47
48
49
50
51
52
53
#pragma once

// -- internal --
// public
#include "rodeo/math/vec3_t.h"

rodeo_math_vec3_t
rodeo_math_vec3_zero(void);

rodeo_math_vec3_t
rodeo_math_vec3_one(void);

float
rodeo_math_vec3_dot(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_cross(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_add(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_subtract(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_multiply(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_scale(rodeo_math_vec3_t a, float b);

rodeo_math_vec3_t
rodeo_math_vec3_divide(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_negate(rodeo_math_vec3_t a);

rodeo_math_vec3_t
rodeo_math_vec3_normalize(rodeo_math_vec3_t a);

rodeo_math_vec3_t
rodeo_math_vec3_rotate(rodeo_math_vec3_t a, float turns, rodeo_math_vec3_t axis);

float
rodeo_math_vec3_distance(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

float
rodeo_math_vec3_distanceSq(rodeo_math_vec3_t a, rodeo_math_vec3_t b);

rodeo_math_vec3_t
rodeo_math_vec3_clamp(rodeo_math_vec3_t a, float minimum, float maximum);

rodeo_math_vec3_t
rodeo_math_vec3_lerp(rodeo_math_vec3_t from, rodeo_math_vec3_t to, float t);