Suiv.: Entrée d'une position dans l'espace
Sup.: Gestion des moyens d'entrée
Préc.: Définition du terminal et de
Index
Table des matières
SUBROUTINE GETXY(X, Y) REAL X, Y
Retourne dans (X, Y) les coordonnées du curseur graphique (visible sur la surface de visualisation sous forme d'une croix ou d'un petit rectangle), exprimées dans l'espace utilisateur, défini par MASQUI et FENTRI. Le système d'unités, dans lequel seront exprimées ces coordonnées, est bien entendu celui défini pour MASQUI.
Si on choisit de prendre les mêmes dimensions pour MASQUI et MASQU2 et si l'objet visualisé est un objet bidimensionnel alors le couple de coordonnées retourné dans X et Y correspond exactement aux coordonnées réelles de l'objet.
Si pour les mêmes masques l'objet visualisé est tridimensionnel alors les coordonnées obtenues sont celles obtenues sur MASQU2 défini par PRSPCT, celui-ci étant placé sur le plan Z = -1. Autrement dit, les vraies coordonnées obtenues sont (X, Y, -1.) exprimées dans le système d'unités de l'objet. On aura les relations suivantes :
-TAN()
X
TAN(
)
-TAN(
)
Y
TAN(
)
SUBROUTINE GETXYC(X, Y, IC) REAL X, Y CHARACTER*1 IC
Ce sous-programme est identique au précédent à cette différence près que IC contient le caractère correspondant à la touche utilisée pour faire la saisie. En cas de changement de taille de la fenêtre graphique, on reçoit le caractère "resize" ( Généralement = char(255) C.f. key_board.ins ) Si une autre fenêtre cache la fenêtre graphique, on reçoit le caractère "redraw" ( Généralement = char(254) C.f. key_board.ins) Si le terminal est bien implémenté, on aura généralement la relation suivante :
0 ICHAR(IC)
256
SUBROUTINE STROKE(NMAX, NB, X, Y) INTEGER NMAX, NB REAL X(NMAX), Y(NMAX)
Retourne dans les tableaux X et Y au maximum NMAX couples de coordonnées définies dans l'espace utilisateur. Le nombre effectif de points entrés est indiqué dans NB.
Cette fonction correspond à l'entrée d'une courbe point par point (relevé de carte ou de schéma).
SUBROUTINE CSTROK(NMAX, NB, X, Y, DELMIN, DELMAX) INTEGER NMAX, NB REAL X(NMAX), Y(NMAX), DELMIN, DELMAX
Retourne dans les tableaux X et Y au maximum NMAX couples de coordonnées définies dans l'espace utilisateur. Le nombre effectif de points entrés est indiqué dans NB.
DELMIN et DELMAX indiquent respectivement les distances minimum (élimination du bruit) et maximum (élimination des erreurs de codage) entre deux points consécutifs.
Cette fonction correspond à l'entrée d'une courbe à main levée.
SUBROUTINE GETEXT(OUTEXT, X, Y, NBCMAX, INTEXT, NBCIN) CHARACTER*(*) OUTEXT, INTEXT INTEGER NBCMAX, NBCIN REAL X, Y
Retourne une chaîne de NBCMAX caractères maximum dans le tableau INTEXT. Le nombre effectif de caractères entrés est indiqué dans NBCIN. Un texte initial contenu dans le tableau OUTEXT est préalablement affiché à la position (X, Y) définie sur la surface de visualisation. Le texte initial n'est pas éditable. Si à l'appel NBCIN n'est pas nul, on affiche les NBCIN caractères de INTEXT et ceux-ci sont éditables.
En sortie, (X, Y) est la position du caractère qui suit le dernier caractère imprimé.
SUBROUTINE GETNUM(OUTEXT,X,Y,R,I,B,ITYP,ICONT,MINI,MAXI,MINR,MAXR) CHARACTER*(*)OUTEXT INTEGER I, ITYP, ICONT, MINI, MAXI REAL X, Y, R, MINR, MAXR LOGICAL B
Retourne suivant la valeur de ITYP, soit dans I un nombre entier (ITYP = 0), soit dans R un nombre réel (ITYP = 1), soit dans B une entité logique (ITYP = 2).
Eventuellement le texte contenu dans la chaîne de caractères OUTEXT est affiché préalablement à la position (X, Y) de la surface de visualisation (nom de variable, commentaire...) ainsi que la valeur actuelle du nombre.
Enfin si ICONT est différent de 0, le nombre entré peut être contraint entre deux limites indiquées suivant le cas par MINI et MAXI pour un nombre entier, et entre MINR et MAXR pour un nombre réel.
SUBROUTINE GETHIT(HITSEG, HITNAM) INTEGER HITSEG, HITNAM
Retourne dans HITSEG le nom d'un segment identifié à l'aide d'un dispositif de désignation. Dans HITNAM on a le nom de l'élément désigné (voir BGNAS et ENDAS).