Modulefpreviousupnextcontentsindex[BIG][Normal][small]
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


6.2 sous-programmes d'interaction

      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).


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
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