Routing implemented, compiles, not tested
[jessica3d.git] / src / attrib.c
blob443bcb5f8002a9faa6d64780dfb35eac3d244237
1 #include "model.h"
2 #include "attrib.h"
3 #include "sensor.h"
5 /* Integer getter and setter */
6 void get_int(struct obj *src, size_t src_off, void *res)
7 { *(int*)res = *(int*)((char*)src + src_off); }
9 void set_int(struct obj *dst, size_t dst_off, void *val)
10 { *(int*)val = *(int*)((char*)dst + dst_off); }
12 /* vec3 getter and setter */
13 void get_vec3(struct obj *src, size_t src_off, void *res)
14 { *(vec3*)res = *(vec3*)((char*)src + src_off); }
16 void set_vec3(struct obj *dst, size_t dst_off, void *val)
17 { *(vec3*)val = *(vec3*)((char*)dst + dst_off); }
19 /* Quaternion getter and setter */
20 void get_quat(struct obj *src, size_t src_off, void *res)
21 { *(vec3*)res = *(vec3*)((char*)src + src_off); }
23 void set_quat(struct obj *dst, size_t dst_off, void *val)
24 { *(vec3*)val = *(vec3*)((char*)dst + dst_off); }
26 /* Double value getter and setter */
27 void get_double(struct obj *src, size_t src_off, void *res)
28 { *(timens_t*)res = *(timens_t*)((char*)src + src_off); }
30 void set_double(struct obj *dst, size_t dst_off, void *val)
31 { *(timens_t*)val = *(timens_t*)((char*)dst + dst_off); }