Previous Next Up Title Contents General Index Functions Index Bookshelf

1.4.2. LA SCÈNE

Pour réaliser une photographie en studio, un photographe procède en général comme suit : Parmi l'ensemble des objets (ou des modèles) dont il dispose, il sélectionne ceux qu'il veut faire apparaître sur la photo, il les positionne sur le plateau et positionne également son appareil photo par rapport au plateau.

La scène reprend ces concepts : On peut faire le parallèle entre

les objets et les structures PHIGS

l'appareil photo et la vue PHIGS

le plateau et la scène PHIGURE

Une scène PHIGURE permet de regrouper plusieurs structures PHIGS afin de les visualiser selon la même vue. La scène est elle même une structure PHIGS.

Elle est définie par

l'identificateur de scène : c'est un identificateur de structure

la liste des identificateurs des structures à regrouper

la vue choisie pour visualiser la scène : elle est référencée par l'index de vue

Une scène est créée par l'appel à la fonction tscene (scene_id, &struct_id_list, view_ind)

scene_id est l'identificateur de la scène créée

struct_id_list de type Pint_list (cf. phigs.h) est la liste des identificateurs de structures à regrouper

view_ind est l'index de la vue à prendre en compte par la scène

Une scène est liée à un domaine car elle transforme le rectangle (ou parallélépipède) du domaine en un carré (ou un cube) de coté 1. Cette transformation est appelée la transformation de scène. Elle ne dépend que du domaine courant au moment de l'appel à la fonction tscene.

En effet, une matrice de transformation locale passée en paramètre de la fonction pset_local_tran (ou pset_local_tran3) est calculée uniquement en fonction du domaine donné par le dernier appel à la fonction tdomain (ou tdomain3) précédent l'appel à la fonction tscene.

En conséquence, un domaine peut être lié à plusieurs scènes. Exemple :

tdomain (&first_domain);

tscene (scene1, ...);

tscene (scene2, ...);

tdomain3 (&second_domain);

tscene (scene3,...);

Pour cet exemple les 2 scènes d'identificateur respectif scene1 et scene2 correspondent au même domaine 2D, alors que la scène d'identificateur scene3 correspond à un domaine 3D


Previous Next Up Title Contents General Index Functions Index Bookshelf