44 lines
2.0 KiB
C
44 lines
2.0 KiB
C
|
/* ************************************************************************** */
|
||
|
/* */
|
||
|
/* ::: :::::::: */
|
||
|
/* init_cut_condition.c :+: :+: :+: */
|
||
|
/* +:+ +:+ +:+ */
|
||
|
/* By: ntrahy <marvin@42.fr> +#+ +:+ +#+ */
|
||
|
/* +#+#+#+#+#+ +#+ */
|
||
|
/* Created: 2017/01/02 23:15:37 by ntrahy #+# #+# */
|
||
|
/* Updated: 2017/01/02 23:15:39 by ntrahy ### ########.fr */
|
||
|
/* */
|
||
|
/* ************************************************************************** */
|
||
|
|
||
|
#include "rt.h"
|
||
|
|
||
|
void init_cut_condition_cone(t_research *r, t_cut *cut)
|
||
|
{
|
||
|
cut->c.c1 = (r->dist[0] > ACC && r->dist[1] > ACC && cut->c.in);
|
||
|
cut->c.c2 = (r->dist[0] < 0 && r->dist[1] > ACC && !cut->c.in);
|
||
|
cut->c.c3 = (r->dist[0] < 0 && r->dist[1] < 0 && cut->c.in);
|
||
|
cut->c.c4 = (r->dist[0] > ACC && r->dist[1] > ACC && !cut->c.in);
|
||
|
cut->c.c5 = (r->dist[0] < 0 && r->dist[1] > ACC && cut->c.in);
|
||
|
cut->c.c6 = (r->dist[0] < 0 && r->dist[1] < 0 && !cut->c.in);
|
||
|
cut->c.f = cut->plane[2] > ACC;
|
||
|
cut->c.b = cut->plane[2] < 0;
|
||
|
cut->c.p1 = cut->plane[2] < r->dist[0];
|
||
|
cut->c.p2 = cut->plane[2] > r->dist[0] && cut->plane[2] < r->dist[1];
|
||
|
cut->c.p3 = cut->plane[2] > r->dist[1];
|
||
|
}
|
||
|
|
||
|
void init_cut_condition_others(t_research *r, t_cut *cut)
|
||
|
{
|
||
|
cut->c.c1 = (r->dist[0] > ACC && r->dist[1] > ACC);
|
||
|
cut->c.c2 = (r->dist[0] < 0 && r->dist[1] > ACC);
|
||
|
cut->c.c3 = (r->dist[0] < 0 && r->dist[1] < 0);
|
||
|
cut->c.c4 = 0;
|
||
|
cut->c.c5 = 0;
|
||
|
cut->c.c6 = 0;
|
||
|
cut->c.f = cut->plane[2] > ACC;
|
||
|
cut->c.b = cut->plane[2] < 0;
|
||
|
cut->c.p1 = cut->plane[2] < r->dist[0];
|
||
|
cut->c.p2 = cut->plane[2] > r->dist[0] && cut->plane[2] < r->dist[1];
|
||
|
cut->c.p3 = cut->plane[2] > r->dist[1];
|
||
|
}
|