clamp.c
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   clamp.c                                            :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: salee2 <salee2@student.42seoul.kr>         +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2023/05/24 20:21:07 by salee2            #+#    #+#             */
 9  /*   Updated: 2023/05/24 20:21:09 by salee2           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #include "include/minirt.h"
14  
15  double clamp(double value, double min, double max)
16  {
17  	if (value < min)
18  		return (min);
19  	else if (value > max)
20  		return (max);
21  	return (value);
22  }
23  
24  t_vec3 clamp_vec3(t_vec3 value, t_vec3 min, t_vec3 max)
25  {
26  	int 		i;
27  	const int	size = 3;
28  	t_vec3		clamped_vec3;
29  
30  	i = 0;
31  	while (i < size)
32  	{
33  		clamped_vec3.arr[i] = clamp(value.arr[i], min.arr[i], max.arr[i]);
34  		++i;
35  	}
36  	return (clamped_vec3);
37  }