Пример #1
0
/*
 * La procedure "fscanf_Position" lit en ascii un positionnement.
 * Entree :
 * pp		Positionnement a lire.
 */
void fscanf_Position (AritPosition *pp)
{
	pusherr ("rotate: ");
	fscanf_Vector (&pp->rotate);
	popuperr ("scale: ");
	fscanf_Vector (&pp->scale);
	popuperr ("translate: ");
	fscanf_Vector (&pp->translate);
	poperr ();
}
Пример #2
0
/*
 * La procedure "fscanf_Bound" lit en ascii une surface.
 * Entree :
 * bp		Surface a lire.
 */
void fscanf_Bound (Bound *bp)
{
	/* Lecture du type polygonale de la surface.	*/

	skip_keyword (T_TYPE, "bound: keyword \"type\" expected");
	if (lex () != T_INT)
	  lexerr ("start","bound_type: boolean expected (0=FALSE|~0=TRUE)", NULL);
	bp->is_polygonal = (myint ? 1 : 0);

	/* Lecture de la liste de points de la surface.	*/

	skip_keyword (T_POINT_LIST, "bound: keyword \"point_list\" expected");
	pusherr ("bound_point_list: ");
	fscanf_Point3f_list (&bp->point);
	poperr ();

	/* Lecture de la liste de faces de la surface.	*/

	skip_keyword (T_FACE_LIST, "bound: keyword \"face_list\" expected");
	pusherr ("bound_face_list: ");
	fscanf_Face_list (&bp->face);
	poperr ();
}
Пример #3
0
/*
 * La procedure "fscanf_View_parameters" lit en ascii les parametres
 * de visualisation.
 * Entree :
 * vp		Parametres de visualisation a lire.
 */
void fscanf_View_parameters (View_parameters *vp)
{
	/* Lecture du type de projection lors de la prise de vue.	*/

	skip_keyword (T_TYPE, "view: keyword \"type\" expected");
	switch (lex ()) {
	case T_PARALLEL :
		vp->type = PARALLEL;
		break;
	case T_PERSPECTIVE :
		vp->type = PERSPECTIVE;
		break;
	default :
	  lexerr ("start", "view_type: keyword \"parallel|perspective\" expected");
		break;
	}

	/* Lecture du centre de projection (oeil) de la prise de vue.	*/

	skip_keyword (T_COP, "view: keyword \"cop\" expected");
	pusherr ("view_cop: ");
	fscanf_Point3f (&vp->cop);
	poperr ();

	/* Lecture du point de reference (cible) a la prise de vue.	*/

	skip_keyword (T_VRP, "view: keyword \"vrp\" expected");
	pusherr ("view_vrp: ");
	fscanf_Point3f (&vp->vrp);
	poperr ();

	/* Lecture de la direction normale au plan de projection.	*/

	skip_keyword (T_VPN, "view: keyword \"vpn\" expected");
	pusherr ("view_vpn: ");
	fscanf_Vector (&vp->vpn);
	poperr ();

	/* Lecture de la direction indiquant le haut de la projection.	*/

	skip_keyword (T_VUP, "view: keyword \"vup\" expected");
	pusherr ("view_vup: ");
	fscanf_Vector (&vp->vup);
	poperr ();

	/* Lecture de la fenetre de projection de la prise de vue.	*/

	skip_keyword (T_WINDOW, "view: keyword \"window\" expected");
	pusherr ("view_window_umin: ");
	fscanf_float (&vp->vwd.umin);
	popuperr ("view_window_umax: ");
	fscanf_float (&vp->vwd.umax);
	popuperr ("view_window_vmin: ");
	fscanf_float (&vp->vwd.vmin);
	popuperr ("view_window_vmax: ");
	fscanf_float (&vp->vwd.vmax);
	poperr ();

	/* Lecture des profondeurs de decoupage avant et arriere.	*/

	skip_keyword (T_DEPTH, "view: keyword \"depth\" expected");
	pusherr ("view_depth_front: ");
	fscanf_float (&vp->depth.front);
	popuperr ("view_depth_back: ");
	fscanf_float (&vp->depth.back);
	poperr ();
}