• Aucun résultat trouvé

Fonctionnalités d’interaction et d’exploration

4.3 Module de présentation de l’information

4.3.2 Langage formel de présentation de l’information : le phénome

4.3.2.6 Fonctionnalités d’interaction et d’exploration

Une interface graphique permet de présenter, de façon interactive, l’information à l’utilisateur final. Dans la majorité des cas, elle permet également à cet utilisateur d’interagir en modifiant, par ses actions, les paramètres de l’interface, comme par exemple en déplaçant le point de vue, en manipulant les objets présentés, ou en activant des comportement. Afin d’être complet, notre formalisme doit donc permettre la description de capteurs d’actions effectuées par l’utilisateur final, et la description de flux d’évènements entraînant une modification de l’interface graphique en fonction de ces capteurs. Ainsi par exemple, un capteur sur un objet doit permettre à l’utilisateur de l’observer en modifiant son orientation selon un, deux ou trois degrés de libertés, tandis qu’un capteur sur une porte permettra à l’utilisateur de l’ouvrir d’un simple clic, déclenchant ainsi une modification de la scène (la rotation de la porte) sur un laps de temps déterminé. En supplément des capteurs d’actions, notre formalisme doit également gérer des capteurs d’évènements temporels pour produire les animations et des capteurs liés aux objets de la scène (par exemple, la collision).

L’information présentée selon notre formalisme est structurée dans le génotype sous la forme d’un arbre d’exploration. Nous devons donc également proposer un ensemble d’opérateurs permettant de naviguer dans l’information contenue dans cet arbre, que ce soit de manière verticale (dans la filiation) ou transversale (dans la fratrie). Ces opérateurs sont appelés opérateurs d’exploration.

Les opérateurs de captation permettent de prendre en compte un changement d’état et de transfé- rer cette information aux opérateurs d’interactions auxquels ils sont liés. Nous pouvons distinguer les

4.3. MODULE DE PRÉSENTATION DE L’INFORMATION 73

capteurs de temps (TimeSensor, . . . ), les capteurs physiques (CollisionSensor, . . . ), les capteurs environnementaux (ProximitySensor, VisibilitySensor, . . . ) et les capteurs utilisateur (KeySensor, TouchSensor, DragSensor, . . . ) ainsi que les opérateurs de réseau et de gestion de fichier (LoadSensor, Anchor, . . . ).

Les opérateurs accessibles aux interactions sont des opérateurs sur lesquels une interaction peut être appliquée. De nombreux opérateurs sont accessibles aux interactions, comme par exemple l’opé- rateurColor dont les valeurs des enfants R G et B peuvent être modifiés par une interaction, les opéra- teurs de transformation, les opérateurs d’environnement, etc.

Les opérateurs d’exploration permettent de définir sur quel voisinage de l’élément courant une in- teraction est effectuée. L’élément courant dans le phénome correspond alors à un élément courant dans le génotype. Les opérateurs présentés permettant l’exploration des données structurées, le voisi- nage est défini dans le génotype. Parmi ses opérateurs, nous trouvons l’opérateurParent permettant d’accéder au parent de l’élément courant, l’opérateurChildren permettant d’accéder à l’ensemble des éléments enfants de l’élément courant, l’opérateurChild permettant d’accéder à un enfant particulier dans la fraterie et possédant pour attribut la position de l’élément enfant auquel l’interaction est asso- ciée, les opérateurs PreviousSibling et NextSibling permettant d’accéder aux frères et sœurs de l’élément courant, mais aussi des opérateurs tels que CurrentGeneration, NextGeneration, PreviousGeneration permettant d’accéder à l’ensemble des éléments de même profondeur dans l’arbre d’exploration, ou encoreAllSiblings et OtherSiblings permettant respectivement d’accéder à l’ensemble des enfants du parent de l’élément courant et à l’ensemble des enfants du parent de l’élément courant hormis l’élément courant. Ces opérateurs sont imbriquables, ce qui permet à tout moment d’accéder à tout élément de l’arbre d’exploration.

Les connecteurs d’interaction permettent d’établir un flux d’évènements allant d’un capteur à un opérateur interactif, avec une éventuelle prise en compte d’opérateurs d’exploration. L’exemple 4.3.4 étend l’exemple 4.1.1 en ajoutant des fonctions d’exploration du contenu présenté.

Exemple 4.3.4 Nous souhaitons ajouter un ensemble de fonctions d’exploration à la métaphore de la tour de carrousels (voir exemple 4.1.1) :

– premier niveau d’exploration (les genres), un clic sur le nom d’un élément déplace le point de vue de manière à centrer cet élément à l’écran tandis qu’un glisser sur le cylindre représentant un élément entraîne la rotation de tous ses enfants autour de l’axe z ;

– deuxième niveau d’exploration (les réalisateurs), un glisser sur la sphère représentant un élément entraîne la rotation de tous ses enfants autour de l’axe z ;

– troisième niveau d’exploration (les films), un clic sur l’affiche représentant un film effectue un zoom sur cet objet et déplace le point de vue de manière à centrer l’affiche sur l’écran.

Ses interactions sont décrites dans le phénome de la manière suivante :

– pour chaque élément du premier niveau d’exploration, unTouchSensor TS1 est associé au nom représentant le genre, un point-de-vue VP1 centré sur les représentants du genre courant est ajouté à la scène, et unCylinderSensor CS1 est associé au cylindre représentant le genre courant. Une interaction (TS1->VP1) permet d’activer le point de vue VP1 lorsque TS1 est actif, et une interaction (CS1->Rotation(Children)) permet de transférer la rotation appliquée à CS1 par l’utilisateur à un nœudRotation contenant l’ensemble des enfants de l’élément courant ; – pour chaque élément du second niveau d’exploration, un CylinderSensor CS2 est associé

à la sphère représentant le réalisateur courant. Une interaction (CS2->Rotation(Children)) permet de transférer la rotation appliquée à CS2 par l’utilisateur à un nœudRotation contenant l’ensemble des enfants de l’élément courant ;

– pour chaque élément du troisième niveau d’exploration, un TouchSensor TS3 est associé à l’affiche représentant le film, et un point-de-vue VP3 restituant l’affiche en gros plan est ajouté à la scène. Une interaction (TS3->VP3) permet d’activer le point de vue VP3 lorsque TS3 est actif.

74 CHAPITRE 4. FORMALISME POUR LA CRÉATION D’INTERFACES GRAPHIQUES 3D