Previous Next Up Title Contents General Index Functions Index Bookshelf

DÉFINITION DE LA SCÈNE

tscene


SEQUENCE D'APPEL

void tscene (scene_id, struct_list, view_ind )

PARAMETRES EN ENTREE

Pint	scene_id;
Pint_list 	*struct_list;
Pint	view_ind;

ARGUMENTS

scene_id
Identificateur de la scène à construire..
struct_list
Liste des identificateurs des structures à prendre en compte dans la scène
view_ind
Identificateur de la vue utilisée pour visualiser la scène

TYPES

typedef struct {
	Pint	num_ints;
	Pint	*ints;
} Pint_list;

EFFET

Cette fonction définit l'ensemble des structures construites par PHIGURE devant être visualisées selon le même point de vue. Elle regroupe ces structures sous la forme d'une scène désignée par son identificateur scene_id.

Lors d'un tracé de la scène (par predraw_all_structs ou ppost_struct) sur un poste de travail ouvert , les structures de la scène sont tracées dans l'ordre de la liste struct_list : ints[0] est la 1ère structure tracée, ints[1] la 2ème etc...

La scène est en fait elle même une structure PHIGS, d'identificateur scene_id, qui fait référence à l'ensemble des structures de la liste struct_list.

Cette structure est organisée de la façon suivante :

LABEL 0

ensemble des attributs par défaut valables pour toutes les primitives de la scène.

LABEL ints[0]

référence à la structure d'identificateur ints[0]

LABEL ints[1]

référence à la structure d'identificateur ints[1]

.

.

.

LABEL ints[num_ints-1]

référence à la structure d'identificateur ints[num_ints-1]

LABEL -999

Cette organisation permet de donner des attributs graphiques généraux pour toutes les primitives de la scène, et aussi de donner un attribut graphique valable seulement pour certaines structures. (cf. [section]attributs graphiques des structures)

Exemples:

si l'ensemble des primitives "text" doivent utiliser la police de caractère n° -12 on pourra écrire la séquence

tscene (scene_id, &struct_list, view_ind);

tset_text_font (scene_id,0,-12);

si l'ensemble des primitives "polyline" à partir de la structure ints[3] jusqu'à la structure ints[num_ints-1] doivent utiliser l'index de couleur n° 14 on pourra écrire la séquence

tscene (scene_id, &struct_list, view_ind);

tset_line_colr_ind (scene_id, struct_lists.ints[3],14);

de même on pourra indiquer quelles sont les structures de la scène qui doivent subir le découpage de leur primitive aux limites du domaine défini par tdomain ou tdomain3 : si toutes les structures doivent être découpées on écrira :

tscene (scene_id, &struct_list, view_ind);

tset_model_clip_ind (scene_id, 0, PIND_CLIP);

si seulement la structure ints[15] doit être découpée on écrira :

tscene (scene_id, &struct_list, view_ind);

tset_model_clip_ind (scene_id, struct_lists.ints[15], PIND_CLIP);

tset_model_clip_ind (scene_id, struct_lists.ints[16], PIND_NO_CLIP);


Previous Next Up Title Contents General Index Functions Index Bookshelf