RT
animate.h
Go to the documentation of this file.
1 /* ************************************************************************** */
2 /* */
3 /* ::: :::::::: */
4 /* animate.h :+: :+: :+: */
5 /* +:+ +:+ +:+ */
6 /* By: sklepper <sklepper@student.42.fr> +#+ +:+ +#+ */
7 /* +#+#+#+#+#+ +#+ */
8 /* Created: 2019/06/08 16:19:59 by sklepper #+# #+# */
9 /* Updated: 2019/07/19 14:58:26 by sklepper ### ########.fr */
10 /* */
11 /* ************************************************************************** */
12 
13 #ifndef ANIMATE_H
14 # define ANIMATE_H
15 
16 # include "rtstruct.h"
17 
18 typedef struct s_anim t_anim;
19 
20 struct s_anim
21 {
22  int type;
33  void *res;
34  void (*anim_obj)(t_anim*);
35  void (*ui_anim)(t_anim*, int);
36  void (*export)(int, t_anim*);
37  void (*parse)(void*, void*);
39 };
40 
41 typedef struct s_rotate
42 {
44  float deg;
45 } t_rotate;
46 
47 typedef struct s_translate
48 {
50  float speed;
51 } t_translate;
52 
53 typedef struct s_orbit
54 {
58  float deg;
59 } t_orbit;
60 
61 void anim_translate(t_anim *anim);
62 void anim_orbit(t_anim *anim);
63 void anim_rotate(t_anim *anim);
64 void anim_set(t_anim *anim, int type);
65 void ui_orbit(t_anim *anim, int n);
66 void ui_translate(t_anim *anim, int n);
67 void ui_rotate(t_anim *anim, int n);
68 int anim_free(t_anim *anim);
69 void export_rotate(int fd, t_anim *anim);
70 void export_orbit_obj(int fd, t_anim *anim);
71 void export_orbit_pos(int fd, t_anim *anim);
72 void export_translate(int fd, t_anim *anim);
73 void parse_rotate(void *parse, void *res);
74 void parse_translate(void *parse, void *res);
75 void parse_orbit_obj(void *parse, void *res);
76 void parse_orbit_pos(void *parse, void *res);
77 void anim_list(t_anim *anim, char *str);
78 void anim_add_camera(t_cam *cam);
79 
80 #endif
parse_translate
void parse_translate(void *parse, void *res)
Definition: parse_anim_tools.c:54
s_cam
Definition: rtstruct.h:130
s_vec3
Definition: rtstruct.h:30
export_orbit_obj
void export_orbit_obj(int fd, t_anim *anim)
Definition: export_anim_tools.c:26
export_orbit_pos
void export_orbit_pos(int fd, t_anim *anim)
Definition: export_anim_tools.c:37
ui_translate
void ui_translate(t_anim *anim, int n)
Definition: ui_anim_toolbox.c:20
s_rotate::axis
t_vec3 axis
Definition: animate.h:43
ui_orbit
void ui_orbit(t_anim *anim, int n)
Definition: ui_anim_toolbox2.c:81
s_anim::pos
t_pt3 * pos
Definition: animate.h:25
s_anim::x_save
t_vec3 x_save
Definition: animate.h:30
t_translate
struct s_translate t_translate
t_rotate
struct s_rotate t_rotate
s_anim::z
t_vec3 * z
Definition: animate.h:28
anim_rotate
void anim_rotate(t_anim *anim)
Definition: animate.c:84
s_obj
Definition: rtstruct.h:245
s_translate::dir
t_vec3 dir
Definition: animate.h:49
s_anim::n_save
t_vec3 n_save
Definition: animate.h:31
export_rotate
void export_rotate(int fd, t_anim *anim)
Definition: export_anim_tools.c:49
s_anim::origin
t_pt3 origin
Definition: animate.h:29
parse_orbit_obj
void parse_orbit_obj(void *parse, void *res)
Definition: parse_anim_tools.c:17
s_translate::speed
float speed
Definition: animate.h:50
s_anim::obj
t_obj * obj
Definition: animate.h:23
s_anim::next
t_anim * next
Definition: animate.h:38
t_orbit
struct s_orbit t_orbit
anim_set
void anim_set(t_anim *anim, int type)
Definition: anim_set.c:82
s_anim::n
t_vec3 * n
Definition: animate.h:27
s_orbit::obj_center
t_obj * obj_center
Definition: animate.h:55
s_orbit::deg
float deg
Definition: animate.h:58
s_orbit::axis
t_vec3 axis
Definition: animate.h:57
ui_rotate
void ui_rotate(t_anim *anim, int n)
Definition: ui_anim_toolbox.c:46
rtstruct.h
parse_orbit_pos
void parse_orbit_pos(void *parse, void *res)
Definition: parse_anim_tools.c:41
s_anim::light
t_light * light
Definition: animate.h:24
s_anim::export
void(* export)(int, t_anim *)
Definition: animate.h:36
s_orbit
Definition: animate.h:53
parse_rotate
void parse_rotate(void *parse, void *res)
Definition: parse_anim_tools.c:66
s_orbit::center
t_pt3 center
Definition: animate.h:56
s_translate
Definition: animate.h:47
s_anim::type
int type
Definition: animate.h:22
anim_free
int anim_free(t_anim *anim)
Definition: anim_tools.c:19
anim_list
void anim_list(t_anim *anim, char *str)
Definition: ui_anim.c:18
s_anim::ui_anim
void(* ui_anim)(t_anim *, int)
Definition: animate.h:35
s_anim
Definition: animate.h:20
anim_add_camera
void anim_add_camera(t_cam *cam)
Definition: anim_toolbox.c:94
anim_orbit
void anim_orbit(t_anim *anim)
Definition: animate.c:66
s_rotate
Definition: animate.h:41
s_rotate::deg
float deg
Definition: animate.h:44
s_anim::x
t_vec3 * x
Definition: animate.h:26
s_anim::anim_obj
void(* anim_obj)(t_anim *)
Definition: animate.h:34
s_anim::z_save
t_vec3 z_save
Definition: animate.h:32
export_translate
void export_translate(int fd, t_anim *anim)
Definition: export_anim_tools.c:16
s_anim::res
void * res
Definition: animate.h:33
s_anim::parse
void(* parse)(void *, void *)
Definition: animate.h:37
anim_translate
void anim_translate(t_anim *anim)
Definition: animate.c:55
s_light
Definition: rtstruct.h:121