Example #1
0
int	fill_vertex(t_ply *ply,
		 t_ply_info *info,
		 int fd)
{
  int	i;
  char	*str;
  char	**tab;

  i = -1;
  while (++i < info->nb_vertex && (str = get_next_line(fd)))
    {
      if (!(tab = str_to_wordtab(str, ' ')) ||
	  count_tab(tab) < count_prop(info->vertex_prop, NB_V_VAR))
	return (1);
      ply->list_vertex[i].vec.x = (info->vertex_prop[V_X] == -1) ? 0 :
	my_getdouble(tab[info->vertex_prop[V_X]]);
      ply->list_vertex[i].vec.y = (info->vertex_prop[V_Y] == -1) ? 0 :
	my_getdouble(tab[info->vertex_prop[V_Y]]);
      ply->list_vertex[i].vec.z = (info->vertex_prop[V_Z] == -1) ? 0 :
	my_getdouble(tab[info->vertex_prop[V_Z]]);
      if (parse_color_vertex
	  (&ply->list_vertex[i].color, tab, info->vertex_prop,
	   &ply->list_vertex[i].get_color))
	return (1);
      my_free(tab);
      my_free(str);
    }
  return (0);
}
Example #2
0
void		from_ini_to_cone(t_bunny_ini *ini, t_ray *ray, char *form)
{
  printf("\nForm = %s\n", form);
  ray->obj->cone.pos[0] =
    my_getdouble(bunny_ini_get_field(ini, form, "x", 0));
  printf("Form = %s\n", form);
  ray->obj->cone.pos[1] = 1.0;
  printf("<<<%s>>>   >>>%s<<<<\n",form,  bunny_ini_get_field(ini, form, "y", 0));
  ray->obj->cone.pos[2] =
    my_getdouble(bunny_ini_get_field(ini, form, "z", 0));
  ray->obj->cone.angle =
    my_getdouble(bunny_ini_get_field(ini, form, "angle", 0));
  ray->obj->cone.color =
    get_ini_color((char *)bunny_ini_get_field(ini, form, "color", 0));
  ray->obj->cone.next = &ray->obj->cone;
}
Example #3
0
void		from_ini_to_plane(t_bunny_ini *ini, t_ray *ray, char *form)
{
  ray->obj->plane.a[0] =
    my_getdouble(bunny_ini_get_field(ini, form, "a", 0));
  ray->obj->plane.a[1] =
    my_getdouble(bunny_ini_get_field(ini, form, "b", 0));
  ray->obj->plane.a[2] =
    my_getdouble(bunny_ini_get_field(ini, form, "c", 0));
  ray->obj->plane.x[0] =
    my_getdouble(bunny_ini_get_field(ini, form, "x", 0));
  ray->obj->plane.x[1] =
    my_getdouble(bunny_ini_get_field(ini, form, "y", 0));
  ray->obj->plane.x[2] =
    my_getdouble(bunny_ini_get_field(ini, form, "z", 0));
  ray->obj->plane.color =
    get_ini_color((char *)bunny_ini_get_field(ini, form, "color", 0));
  ray->obj->plane.next = &ray->obj->plane;
}