vrshoot

view libs/psys/rndval.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line source
1 #ifndef RNDVAL_H_
2 #define RNDVAL_H_
4 #include <vmath/vmath.h>
5 #include "pstrack.h"
7 struct psys_rnd {
8 float value, range;
9 };
11 struct psys_rnd3 {
12 vec3_t value, range;
13 };
15 struct psys_anm_rnd {
16 struct psys_track value, range;
17 };
19 struct psys_anm_rnd3 {
20 struct psys_track3 value, range;
21 };
23 #define PSYS_EVAL_CUR ANM_TIME_INVAL
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
29 int psys_init_anm_rnd(struct psys_anm_rnd *v);
30 void psys_destroy_anm_rnd(struct psys_anm_rnd *v);
31 int psys_init_anm_rnd3(struct psys_anm_rnd3 *v);
32 void psys_destroy_anm_rnd3(struct psys_anm_rnd3 *v);
34 void psys_copy_anm_rnd(struct psys_anm_rnd *dest, const struct psys_anm_rnd *src);
35 void psys_copy_anm_rnd3(struct psys_anm_rnd3 *dest, const struct psys_anm_rnd3 *src);
37 void psys_set_rnd(struct psys_rnd *r, float val, float range);
38 void psys_set_rnd3(struct psys_rnd3 *r, vec3_t val, vec3_t range);
40 void psys_set_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm, float val, float range);
41 void psys_set_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm, vec3_t val, vec3_t range);
43 float psys_eval_rnd(struct psys_rnd *r);
44 vec3_t psys_eval_rnd3(struct psys_rnd3 *r);
46 float psys_eval_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm);
47 vec3_t psys_eval_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm);
49 #ifdef __cplusplus
50 }
51 #endif
53 #endif /* RNDVAL_H_ */