/ fdf / fdf / srcs / init1.c
init1.c
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   init1.c                                            :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: gychoi <gychoi@student.42seoul.kr>         +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2022/12/20 01:26:52 by gychoi            #+#    #+#             */
 9  /*   Updated: 2023/01/05 16:46:11 by gychoi           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #include "fdf.h"
14  
15  static t_map	init_map(void)
16  {
17  	t_map	new;
18  
19  	new.width = 0;
20  	new.height = 0;
21  	new.x_origin = 0;
22  	new.y_origin = 0;
23  	new.z_max = 0;
24  	new.z_min = 0;
25  	new.x_margin = 0;
26  	new.y_margin = 0;
27  	new.z_margin = 0;
28  	return (new);
29  }
30  
31  t_coord	init_coord(int x, int y, int z)
32  {
33  	t_coord	new;
34  
35  	new.x = x;
36  	new.y = y;
37  	new.z = z;
38  	return (new);
39  }
40  
41  static t_angle	init_angle(void)
42  {
43  	t_angle	new;
44  
45  	new.alpha = M_PI / 4 * -1;
46  	new.beta = asin(tan(M_PI / 6));
47  	new.gamma = 0;
48  	return (new);
49  }
50  
51  static t_offset	init_offset(void)
52  {
53  	t_offset	new;
54  
55  	new.x = 0;
56  	new.y = 0;
57  	new.z = 1.0;
58  	new.zoom = 1.0;
59  	new.bend = 0;
60  	return (new);
61  }
62  
63  t_fdf	*init_fdf(void)
64  {
65  	t_fdf	*new;
66  
67  	new = fdf_malloc(sizeof(t_fdf));
68  	new->mlx = mlx_init();
69  	if (new->mlx == NULL)
70  		fdf_error("Error: mlx ");
71  	new->win = mlx_new_window(new->mlx, SCREEN_WIDTH, SCREEN_HEIGHT, "fdf");
72  	if (new->win == NULL)
73  		fdf_error("Error: mlx ");
74  	new->img = NULL;
75  	new->addr = NULL;
76  	new->map = init_map();
77  	new->coords = NULL;
78  	new->angle = init_angle();
79  	new->offset = init_offset();
80  	return (new);
81  }