Previous Next Up Title Contents General Index Functions Index Bookshelf

ENSEMBLE D'AXES SUR UN PARALLELEPIPEDE EN FONCTION DE LA VUE

tauto_cube_axis


SEQUENCE D'APPEL

void tauto_cube_axis (strid, wkid, view_ind, p1,p2, x_linlog,y_linlog, z_linlog, x_label,y_label,z_label)

PARAMETRES EN ENTREE

Pint	strid;
Pint	wkid;
Pint	view_ind;
Ppoint3	*p1, *p2;
Taxis_type	x_linlog, y_linlog, z_linlog;
char	*x_label, *y_label, *z_label;

ARGUMENTS

strid
Identificateur de la structure d'axe. Les identificateurs strid+1 à strid+12 seront utilisés pour la construction des axes.
wkid
Identificateur du poste de travail sur lequel la vue est définie.
view_ind
Index de vue.
p1, p2
Points diagonaux du parallélépipède.
x/y/z_linlog
Axe X ou Y ou Z linéaire ou logarithmique.
x/y/z_label
Titre des axes X, Y et Z.

TYPE

typedef enum {
	TAXIS_LINEAR,
	TAXIS_LOGARITHMIC
} Taxis_type;

EFFET

Cette fonction crée un ensemble d'axes 3D répartis sur certaines des 12 aretes d'un parallélépiède. Le choix des aretes dépend de la définition courante de la vue d'index view_ind sur le poste de travail d'identificateur wkid. L'interêt de cette fonction est de pouvoir représenter un ensemble d'axes sur un parallélépipède dont les graduations sont toujours lisibles quelque soit l'angle de vue. Ainsi, si l'utilisateur appelle la fonction tauto_cube_axis à chaque fois que la vue view_ind est modifiée, il dispose d'un système d'axes automatiquement lisibles quelque soit l'angle de vue.

Comme une vue possède une définition courante sur un poste de travail, les 2 paramètres view_ind et wkid sont indispensables et la fonction tauto_cube_axis ne peut être appelée que si le poste de travail d'identificateur wkid est ouvert.

Deux points (p1 et p2) définissent une des diagonales d'un parallélépipède et, seules les arêtes qui sont l'intersection d'une face visible et d'une face invisible sont graduées (présence d'un axe). Les faces visibles et invisibles du parallélépipède sont déterminées en fonction de la vue.

Les titres et les graduations des axes sont positionnés de façon à être toujours lisibles quelque soit l'angle de vue.

La primitive PHIGS "set of fill area sets 3 with data" est insérée dans la structure générée par cette fonction pour construire les faces invisibles du parallélépipède (ce qui permet de visualiser "un fond de boîte")

Le schéma suivant illuste la determination des arêtes graduées (en gras apparaissent les axes choisis) :

(fig. auto_cube_axis.a)

Organisation de la structure:

(fig. auto_cube_axis.b)

LABEL -1: Eventuellement execute structure (strid+1) représentant l'axe X de sommets 0-7

LABEL -2: Eventuellement execute structure (strid+2) représentant l'axe X de sommets 3-4

LABEL -3: Eventuellement execute structure (strid+3) représentant l'axe X de sommets 2-5

LABEL -4: Eventuellement execute structure (strid+4) représentant l'axe X de sommets 1-6

LABEL -5: Eventuellement execute structure (strid+5) représentant l'axe Y de sommets 6-7

LABEL -6: Eventuellement execute structure (strid+6) représentant l'axe Y de sommets 0-1

LABEL -7: Eventuellement execute structure (strid+7) représentant l'axe Y de sommets 2-3

LABEL -8: Eventuellement execute structure (strid+8) représentant l'axe Y de sommets 4-5

LABEL -9: Eventuellement execute structure (strid+9) représentant l'axe Z de sommets 4-7

LABEL -10: Eventuellement execute structure (strid+10) représentant l'axe Z de sommets 5-6

LABEL -11: Eventuellement execute structure (strid+11) représentant l'axe Z de sommets 2-1

LABEL -12: Eventuellement execute structure (strid+12) représentant l'axe Z de sommets 3-0

LABEL -13: Attributs de set of fill area sets 3 with data (PSTYLE_HOLLOW, PEDGE_ON)

set of fill area sets 3 with data représentant les faces invisibles (" fond de boite ").

Exemple d'un ensemble d'axes obtenus par tauto_cube_axis


Previous Next Up Title Contents General Index Functions Index Bookshelf