Previous Next Up Title Contents General Index Functions Index Bookshelf

CONFIGURATION DE VUE

tview_config


SEQUENCE D'APPEL

void tview_config. (wkid, view_ind, viewport_type, clip)

PARAMETRES EN ENTREE

Pint	wkid;
Pint	view_ind;
Tviewport_type	viewport_type;
Pclip_ind	clip;

ARGUMENTS

wkid
Identificateur du poste de travail sur lequel la vue est à configurer.
view_ind
Index de la vue à configurer.
viewport_type
Indique le type de définition des viewport de vue (dernier paramètre de tview2_center et tview3_***)
clip
Indicateur de découpage de l'image au limite du viewport

EFFET

Cette fonction permet de configurer la définition des viewport par les fonctions de vue tview2_center et tview3_*** à condition que le poste de travail soit ouvert par la fonction topen_ws. Le viewport est la partie de la fenêtre graphique dans laquelle se projette l'image définie par la scène et par la fonction de vue.

TNON_ISOTROPIC_VIEWPORT

Le viewport est défini par rapport à l'espace [0-1] × [0-1] représentant toute la fenêtre graphique. Si la fenêtre graphique n'a pas le même rapport hauteur/largeur que le viewport, il y aura une déformation de l'image lors de la visualisation (un cercle apparait comme une ellipse).

TISOTROPIC_VIEWPORT

Le viewport est défini par rapport à l'espace [0-1] × [0-1] représentant toute la fenêtre graphique. Il n'y a jamais de déformation de l'image même si la fenêtre graphique n'a pas le même rapport hauteur/largeur que le viewport,(un cercle apparait toujours comme un cercle). (mode par défaut si le poste de travail est ouvert par topen_ws. et si tview_config. n'est pas appelée)

TPHIGS_VIEWPORT

Le viewport est défini par rapport à l'espace [0-1] × [0-1] représentant l'espace NPC de PHIGS
(cf. manuels de référence de PHIGS)

exemple : une scène définie dans un domaine utilisateur [10-20] × [10-20] comporte un cercle centré en (15,15) de rayon 5. Visualisation de cette scène par la fonction tview2_center.

#define CIRCLE	1
#define SCENID	2
#define WKID 	1
#define VIEW_IND	1
static Plimit domain = {10.,20., 10.,20.};
static Ppoint center = {15.,15.};
Tcircle circle_s;
static Pint_list list_struct_list;
static Plimit viewport = { .... };
Tviewport_type type;

tdomain (&domain);	/*domaine utilisateur [10-20] × [10-20] */
circle_s.type = TCENTER_RADIUS;
circle_s.geometry.cr.c = center;
circle_s.geometry.cr.r = 5.;
tcircle (CIRCLE, &circle_s);	/*cercle centré en (15,15) de rayon 5 */
struct_list.num_ints = 1;
struct_list.ints [0] = CIRCLE;
tscene (SCENID,&struct_list,VIEW_IND);	/*scène comportant le cercle */
ppost_struct (WKID,SCENID,0.);	/*post de la scène */
tview_config (WKID,VIEW_IND,type,PIND_CLIP);	/*configuration de la vue VIEW_IND */
tview2_center (WKID,VIEW_IND, 0.5,0.5, 1.,viewport);	/*définition de la vue VIEW_IND */
predraw_all_structs (WKID,PFLAG_ALWAYS);	/*tracé */


Previous Next Up Title Contents General Index Functions Index Bookshelf