• Aucun résultat trouvé

LES GRAPHES COMBINÉS A contrario, la librairie graphique Java3D [Nadeau et al., 1997; Sun Microsystems, Inc, 2004b]

Les graphes combinés

CHAPITRE 7. LES GRAPHES COMBINÉS A contrario, la librairie graphique Java3D [Nadeau et al., 1997; Sun Microsystems, Inc, 2004b]

propose une classe spéciale de nœuds permettant de connecter des comportements (animations ou interactions) à des objets du graphe de scène. Cela permet de construire des graphes très complets et complexes, dont les sous-graphes peuvent fournir des comportements différents 7.5(b). Toutefois, ou plutôt encore une fois, bien que proposant une abstraction pour la gestion de périphériques d’entrée avancés, il est encore nécessaire de réaliser la liaison bas-niveau avec les périphériques non-standard (autres que souris et clavier) ainsi que les nœuds qui vont permettre les interactions avec le graphe de scène.

(a)Interactions dans Piccolo. (b)Interactions dans Java3D.

FIGURE7.5 –Graphes de scène et interactions. La figure (a) présente un graphe de scène de la boîte à outils Piccolo. Les interactions sont gérées par un mécanisme standard d’événements. Des écouteurs interprètent ses événements et sont connectés (statiquement) à des nœuds du graphe de scène. L’approche choisie pour Java3D (figure (b)) est de créer des nœuds spécifiques pour gérer les interaction et de les insérer aux branches voulues du graphe de scène.

Outre l’aspect statique de ces approches, qui impose de « brancher » et donc de figer les inter-actions à la création du programme(1), se pose aussi le problème de l’extensibilité. Malgré une gra-nularité assez fine des composants permettant de définir les interactions, l’introduction d’interactions avancées, de périphériques nouveaux et leur réutilisation dans d’autres contextes reste laborieuse. Pour offrir plus de flexibilité et d’extensibilité, notre modèle de graphes combinés externalise la des-cription des interactions avec les graphes d’interaction. Ainsi, les graphes de scène ne sont composés que de nœuds représentant des objets graphiques. Et de la même manière que la structure de graphe de scène sépare la partie graphique en composants graphiques primitifs, nous proposons d’utiliser des graphes d’interaction pour séparer la structure souvent complexe et monolithique des architectures événementielles.

(1)Ces approches permettent tout de même de brancher ces nœuds d’interaction de manière dynamique. Toutefois, cela doit avoir été programmé et prévu pour au moment de la compilation du programme.

7.3. GRAPHES D’INTERACTION

7.3 Graphes d’interaction

Les graphes d’interaction reposent sur le modèle ICOM (Input Configuration Model) et la boîte à outils ICON dont nous avons rappelé les principes dans le chapitre précédent. Ils complètent le principe des configurations d’entrée en décomposant la classe des dispositifs d’application de manière à spécifier leur connexion avec un graphe de scène et de faciliter la mise en œuvre d’applications basées sur ce paradigme.

Dans le modèle des graphes combinés, nous définissons donc un graphe d’interaction comme une configuration d’entrée d’ICONqui décrit les comportements du graphe de scène et de ses objets, ainsi que leurs manipulations possibles par un utilisateur. Mais avant de décrire plus avant les principes et les mécanismes que nous avons mis en œuvre pour définir et réaliser cette interopérabilité, décrivons un scénario simple de configuration.

Les figures 7.6, 7.7 et 7.8 présentent la construction d’un graphe d’interaction, qui définit les actions de la souris sur d’autres dispositifs afin de manipuler les objets présents dans un graphe de scène :

1. Figure 7.6 - Le dispositifsouris est connecté à un dispositif curseur par l’intermédiaire d’adap-tateurs (dispositifs sum permettant de sommer les valeurs reçues, utilisés ici pour transformer les valeurs relatives de la souris en valeurs absolues). Ainsi, chaque déplacement de la souris déplace un pointeur à l’écran.

FIGURE7.6 –Connexion de la souris à un curseur.

2. Figure 7.7 - Le dispositifcurseur est connecté ensuite à un dispositif pick (sélection) qui per-met de sélectionner les objets de l’interface (et donc du graphe de scène) qui se trouvent sous le curseur. Ainsi, chaque déplacement de la souris permet de sélectionner des composants de l’interface.

CHAPITRE 7. LES GRAPHES COMBINÉS 3. Figure 7.8 - Enfin, le dispositifpick et un bouton de la souris sont connectés à un dispositif drag (Glisser-Déposer) qui permet alors de déplacer les objets sélectionnés, si ceux-ci le permettent.

FIGURE7.8 –Connexion d’un dispositif de manipulation directe (drag).

Des graphes plus complexes que cet exemple simple peuvent bien évidemment être construits. Le graphe d’interaction de la figure 7.9 a été conçu pour manipuler le graphe de scène de la fi-gure 7.3 page 161. La souris contrôle un dispositif curseur et un dispositif de sélection. Le dispositif de sélection envoie les objets sélectionnés à deux dispositifs représentant des techniques d’interactions sur les composants graphiques (MaggLiteHandle et MLComponent, voir la section 7.4.1 page 166). Enfin, un dispositif représentant un périphérique d’entrée (un Magellan, périphérique isométrique à six degrés de liberté) est connecté directement à un dispositif de manipulation représentant un objet graphique du graphe de scène.

FIGURE7.9 –Un graphe d’interaction possible pour le graphe de scène de la figure 7.3 page 161. Ces exemples illustrent l’utilisation des dispositifs définis dans le modèle ICOM : les dispositifs système (souris, Magellan) et les dispositifs de la bibliothèque (curseur, adaptateurs). Mais comment définir les autres dispositifs utilisés dans cet exemple, ceux qui permettent de contrôler le graphe de scène et donc une partie de l’application ? (dispositif de sélection, de glisser-déposer ou de contrôle d’un nœud particulier du graphe de scène).

Le modèle ICOM définit pour cela la classe des dispositifs d’application. Ce sont les points d’en-trée de l’application, lien entre la configuration d’end’en-trée et les outils de l’application. Les dispositifs contrôlant le graphe de scène sont de cette classe, comme nous l’illustrons dans la figure 7.10 page suivante.

7.4. POINTS D’ACCÈS AUX INTERACTIONS (IAPS)

FIGURE7.10 –Graphe de scène et configuration d’entrée. La liaison entre un graphe de scène et une configu-ration d’entrée s’opère au niveau des dispositifs d’application.

Mais contrairement à des dispositifs spécifiques à une application, ces dispositifs présentent la particularité d’être décrits au niveau du modèle des graphes combinés comme le lien entre les graphes de scène et d’interaction. Ils sont donc disponibles pour toutes les applications (au niveau de la boîte à outils). Nous les appellerons lesPoints d’accès aux interactions(2).

7.4 Points d’accès aux interactions (IAPs)

Les Points d’Accès aux Interactions (nous utiliserons l’acronyme IAP pour « Interaction Access Points » en anglais) sont les nœuds spécifiques du graphe d’interaction qui établissent des points de connexion dynamiques entre le graphe d’interaction et le graphe de scène. Dans la figure 7.1 page 158, qui illustre le modèle, ce sont les nœuds du graphe d’interaction d’où partent les flèches vers le graphe de scène. Les IAPs peuvent alors être considérés comme la « colle » qui assemble dynamiquement un graphe de scène avec un graphe d’interaction pour composer un graphe combiné. Ils transmettent et reçoivent des données du graphe de scène, modifient sa structure en insérant ou supprimant des nœuds, changent les propriétés ou déclenchent des comportements spécifiques aux nœuds.

Les dispositifs IAP fournissent plusieurs manières de lier des dispositifs ICON(les périphériques d’entrée, en général) aux composants graphiques du graphe de scène. Nous en distinguons dès lors quatre classes, selon le type de liaison qu’ils permettent :

– lesdispositifs d’interaction, pour manipuler une classe d’objets graphiques ; – lesmanipulateurs, pour contrôler une instance, un nœud du graphe de scène ;

– les dispositifs de comportements, pour spécifier le comportement d’un ou plusieurs objets graphiques ;

– lesoutils internes, pour réaliser une action dans un objet graphique.

CHAPITRE 7. LES GRAPHES COMBINÉS

Outline

Documents relatifs