vrshoot
annotate libs/psys/pstrack.h @ 0:b2f14e535253
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 01 Feb 2014 19:58:19 +0200 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef PSTRACK_H_ |
nuclear@0 | 2 #define PSTRACK_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <vmath/vmath.h> |
nuclear@0 | 5 #include <anim/anim.h> |
nuclear@0 | 6 |
nuclear@0 | 7 struct psys_track { |
nuclear@0 | 8 struct anm_track trk; |
nuclear@0 | 9 |
nuclear@0 | 10 anm_time_t cache_tm; |
nuclear@0 | 11 float cache_val; |
nuclear@0 | 12 }; |
nuclear@0 | 13 |
nuclear@0 | 14 struct psys_track3 { |
nuclear@0 | 15 struct anm_track x, y, z; |
nuclear@0 | 16 |
nuclear@0 | 17 anm_time_t cache_tm; |
nuclear@0 | 18 vec3_t cache_vec; |
nuclear@0 | 19 }; |
nuclear@0 | 20 |
nuclear@0 | 21 #ifdef __cplusplus |
nuclear@0 | 22 extern "C" { |
nuclear@0 | 23 #endif |
nuclear@0 | 24 |
nuclear@0 | 25 int psys_init_track(struct psys_track *track); |
nuclear@0 | 26 void psys_destroy_track(struct psys_track *track); |
nuclear@0 | 27 |
nuclear@0 | 28 int psys_init_track3(struct psys_track3 *track); |
nuclear@0 | 29 void psys_destroy_track3(struct psys_track3 *track); |
nuclear@0 | 30 |
nuclear@0 | 31 /* XXX dest must have been initialized first */ |
nuclear@0 | 32 void psys_copy_track(struct psys_track *dest, const struct psys_track *src); |
nuclear@0 | 33 void psys_copy_track3(struct psys_track3 *dest, const struct psys_track3 *src); |
nuclear@0 | 34 |
nuclear@0 | 35 void psys_eval_track(struct psys_track *track, anm_time_t tm); |
nuclear@0 | 36 void psys_set_value(struct psys_track *track, anm_time_t tm, float v); |
nuclear@0 | 37 float psys_get_value(struct psys_track *track, anm_time_t tm); |
nuclear@0 | 38 float psys_get_cur_value(struct psys_track *track); |
nuclear@0 | 39 |
nuclear@0 | 40 void psys_eval_track3(struct psys_track3 *track, anm_time_t tm); |
nuclear@0 | 41 void psys_set_value3(struct psys_track3 *track, anm_time_t tm, vec3_t v); |
nuclear@0 | 42 vec3_t psys_get_value3(struct psys_track3 *track, anm_time_t tm); |
nuclear@0 | 43 vec3_t psys_get_cur_value3(struct psys_track3 *track); |
nuclear@0 | 44 |
nuclear@0 | 45 #ifdef __cplusplus |
nuclear@0 | 46 } |
nuclear@0 | 47 #endif |
nuclear@0 | 48 |
nuclear@0 | 49 #endif /* PSTRACK_H_ */ |