100 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
| /* ************************************************************************** */
 | |
| /*                                                                            */
 | |
| /*                                                        :::      ::::::::   */
 | |
| /*   tf_push.c                                          :+:      :+:    :+:   */
 | |
| /*                                                    +:+ +:+         +:+     */
 | |
| /*   By: scebula <marvin@42.fr>                     +#+  +:+       +#+        */
 | |
| /*                                                +#+#+#+#+#+   +#+           */
 | |
| /*   Created: 2016/10/01 16:55:52 by scebula           #+#    #+#             */
 | |
| /*   Updated: 2016/10/20 17:49:38 by scebula          ###   ########.fr       */
 | |
| /*                                                                            */
 | |
| /* ************************************************************************** */
 | |
| 
 | |
| #include "rt.h"
 | |
| 
 | |
| void		push_zrot_tf(t_tf_list **begin_tf_list, double deg)
 | |
| {
 | |
| 	t_tf_list *tmp;
 | |
| 
 | |
| 	tmp = *begin_tf_list;
 | |
| 	if (tmp)
 | |
| 	{
 | |
| 		while (tmp->next)
 | |
| 			tmp = tmp->next;
 | |
| 		tmp->next = add_zrot_tf(deg);
 | |
| 		tmp->next->previous = tmp;
 | |
| 	}
 | |
| 	else
 | |
| 		*begin_tf_list = add_zrot_tf(deg);
 | |
| }
 | |
| 
 | |
| void		push_yrot_tf(t_tf_list **begin_tf_list, double deg)
 | |
| {
 | |
| 	t_tf_list *tmp;
 | |
| 
 | |
| 	tmp = *begin_tf_list;
 | |
| 	if (tmp)
 | |
| 	{
 | |
| 		while (tmp->next)
 | |
| 			tmp = tmp->next;
 | |
| 		tmp->next = add_yrot_tf(deg);
 | |
| 		tmp->next->previous = tmp;
 | |
| 	}
 | |
| 	else
 | |
| 		*begin_tf_list = add_yrot_tf(deg);
 | |
| }
 | |
| 
 | |
| void		push_xrot_tf(t_tf_list **begin_tf_list, double deg)
 | |
| {
 | |
| 	t_tf_list *tmp;
 | |
| 
 | |
| 	tmp = *begin_tf_list;
 | |
| 	if (tmp)
 | |
| 	{
 | |
| 		while (tmp->next)
 | |
| 			tmp = tmp->next;
 | |
| 		tmp->next = add_xrot_tf(deg);
 | |
| 		tmp->next->previous = tmp;
 | |
| 	}
 | |
| 	else
 | |
| 		*begin_tf_list = add_xrot_tf(deg);
 | |
| }
 | |
| 
 | |
| void		push_trans_tf(t_tf_list **begin_tf_list, double x, double y,
 | |
| 		double z)
 | |
| {
 | |
| 	t_tf_list	*tmp;
 | |
| 	t_vect		t;
 | |
| 
 | |
| 	t = init_vector(x, y, z, 0);
 | |
| 	tmp = *begin_tf_list;
 | |
| 	if (tmp)
 | |
| 	{
 | |
| 		while (tmp->next)
 | |
| 			tmp = tmp->next;
 | |
| 		tmp->next = add_trans_tf(t);
 | |
| 		tmp->next->previous = tmp;
 | |
| 	}
 | |
| 	else
 | |
| 		*begin_tf_list = add_trans_tf(t);
 | |
| }
 | |
| 
 | |
| void		push_scale_tf(t_tf_list **begin_tf_list, double x, double y,
 | |
| 		double z)
 | |
| {
 | |
| 	t_tf_list	*tmp;
 | |
| 	t_vect		t;
 | |
| 
 | |
| 	t = init_vector(x, y, z, 0);
 | |
| 	tmp = *begin_tf_list;
 | |
| 	if (tmp)
 | |
| 	{
 | |
| 		while (tmp->next)
 | |
| 			tmp = tmp->next;
 | |
| 		tmp->next = add_scale_tf(x, y, z);
 | |
| 		tmp->next->previous = tmp;
 | |
| 	}
 | |
| 	else
 | |
| 		*begin_tf_list = add_scale_tf(x, y, z);
 | |
| }
 |