SVALABARD propose trois modes d'interaction distincts: dessin, interprétation du dessin et visualisation/manipulation 3D. Dans beaucoup de systèmes existants, les modes de l'interaction sont présentés sous la forme de vues multiples ou de menus et barres d'outils contextuelles. De plus, les changements de modes sont souvent explicites, l'utilisateur devant spécifier par une commande son intention de passer dans un autre mode.
Pour supporter la métaphore de la table à dessin et de la feuille virtuelle, notre interface propose des changements de mode implicites (déterminés par les phases du dessin, la compréhension et l'analyse du dessin, l'activité courante du dessinateur) et des vues superposées (par transparence ou masquage). Chaque mode, et donc chaque activité lui étant associée, est représenté par une feuille d'interaction. Dans l'esprit du modèle multi-couches ([Fekete et Beaudouin-Lafon1996,Fekete1996]), ces feuilles deviennent alors les supports d'outils et d'interactions adaptées elles aussi au mode et à l'activité correspondante. Outre son aspect pratique pour la gestion de l'interaction et les possibilités de représentation graphique qu'elle offre (superposition des différentes feuilles, vue des feuilles du dessous par transparence, masquage de feuilles), cette organisation nous a en plus permis d'évoquer les trois modes du dessin d'architecte que l'on a décrit dans la section 1.3.2:
Toutefois, l'utilisateur a toujours la possibilité de configurer lui même les comportements du système afin de l'adapter à ses propres goûts et méthodes de travail. Il est important que l'Homme puisse «façonner l'outil», l'adapter à ses méthodes plutôt que le contraire. Cette approche est primordiale dans le domaine d'application de nos travaux où il fut trop souvent de mise de vouloir imposer les seules méthodes qu'il était techniquement possible de réaliser. Ainsi, notre système permet de redéfinir interactivement, de manière graphique, les actions qui vont déclencher les changements de modes implicites (temps d'inactivité, phases du dessin par exemple), ou même les rendre explicites par des commandes et des interactions choisies (commande gestuelle ou vocale, touche du clavier ou boutons d'un périphérique d'entrée par exemple). Notons aussi, comme nous le verrons dans la section 4.3, que les interactions et outils proposés peuvent entièrement être adaptés et configurés (en terme de périphériques d'entrée et d'interactions).
Détaillons maintenant ces modes, chacun étant représenté par une vue, une feuille.
Ce mode de dessin à main levée ne souffre d'aucune contraintes, ce qui est une évolution majeure par rapport aux systèmes de dessin pour la modélisation 3D actuels. Aucune vue (axonométrie, plane, etc.) ou technique particulière (dessin vectoriel, gestes, etc.) n'est imposée, conformément à nos lignes directrices. Dés lors, afin que le système puisse interpréter le dessin, cette feuille est connectée aux filtres de traitement décrits dans la section 4.4. Ces filtres sous-jacents, qui s'exécutent en tâche de fond, permettent de structurer le dessin afin de le rendre exploitable pour le noyau fonctionnel de l'application.
Pour parfaire la métaphore de la table à dessin, et permettre à l'utilisateur d'exprimer ses idées comme il le ferait avec ses techniques habituelles, nous avons aussi inclus des calques de dessin. Ils peuvent être ajoutés, couvrant alors toute la surface disponible, et ensuite manipulés (dessin, masquage, suppression, reordonnancement, etc.). Ces calques n'ont pas, dans notre proposition, la même fonction de décomposition modulaire que dans les logiciels habituels. En effet, les calques ne servent pas seulement à organiser le dessin en modules distincts. Nous avons vu que le calque était avant tout pour l'architecte une mémoire de la conception et un support de la révision, de la modification. C'est dans cette optique que nous avons inclus des calques virtuels sur la feuille de dessin de SVALABARD. Ils permettent de dessiner différentes parties du dessin sur des supports différents, afin de proposer plusieurs possibilités, ou de structurer le travail. Ainsi, ils ont l'utilité que leur donne le dessinateur: décomposition ou révision.
Enfin, grâce au filtre de détection des phases de dessin que nous présenterons dans la section 4.4.4, l'utilisateur n'est pas limité au dessin de la forme à modéliser. Il peut, sur cette même feuille, embellir son dessin, dessiner l'environnement, sans avoir à changer explicitement de mode de dessin, ce qui selon nous correspond mieux à une démarche créative et artistique (contrairement aux outils existants qui imposent un ordre chronologique ou un changement de mode explicite).
Pour ce qui est du mode de représentation de ces résultats, la feuille augmentée présente simplement l'interprétation géométrique du dessin à main levée sous la forme de points et de segments. Cette interprétation apparaît donc en surimpression au dessin original, ce qui permet une meilleure visualisation des relations entre les traitements et les traits du dessin original qu'une vue multiple séparée. Cela assure une bonne compatibilité cognitive (capacité de l'utilisateur à interpréter les données relatives aux concepts et à leurs représentations par le système). Si il s'avère que des traitements d'interprétation du dessin sont encore en cours lors de l'apparition de la feuille augmentée, leur affichage est actualisé en temps réel, ce qui renforce la perception des actions du système.
Les autres informations visibles sur la feuille augmentée sont les propriétés géométriques des éléments de l'interprétation du dessin: parallélisme, coplanarités et orthogonalité. Les faisceau de segments parallèles sont tracés d'une même couleur. Les points coplanaires forment des surfaces colorées. Nous avons envisagé plusieurs représentations graphiques pour les propriétés d'orthogonalité, mais aucune ne s'est avérée concluante jusqu'alors (symboles particuliers sur les segments, dessins des angles, etc.). Ces propriétés sont issues de saisies de l'utilisateur, comme nous le présentons dans la section 4.3.2. À terme, elles devront être en partie détectées automatiquement (nous discutons ces possibilités dans la section 4.4.7 et le chapitre 5).
Mais cette représentation de la structure géométrique du dessin sur la feuille augmentée lui donne aussi un sens habituel pour le concepteur: celle de dessin prescriptif. Certes, ce n'est pas un plan de construction métré et précis comme permettent de le faire les outils avancés de CAO. Toutefois, notre approche pourrait être améliorée dans ce sens. C'est dans cette optique que nous avons introduit la possibilité d'annoter le dessin sur cette feuille augmentée, de tracer des traits non pris en compte par le système dans un but d'explication et de prise de notes.
Pour ce qui est de son apparition et de sa visibilité, la feuille 3D n'est pas considérée comme « prioritaire». En effet, dans le comportement que nous proposons, seule la feuille de dessin est visible lorsque l'utilisateur dessine. Lorsqu'il s'arrête, la feuille augmentée apparaît. La feuille 3D quant à elle, n'est visible que lorsque le modèle 3D est disponible (construit par le noyau) et que l'utilisateur souhaite le manipuler (en utilisant le périphérique d'entrée associé).
Ce n'est pas pour autant que cette feuille est inactive en arrière plan. Elle est en effet connectée au noyau de reconstruction de GINA et se charge donc aussi des retours de ce noyau: le modèle 3D évidemment, mais aussi tout autre information que renvoie le noyau (erreur de reconstruction, manque d'informations, etc.). Ce retour visuel du fonctionnement du noyau consiste en une zone de texte semi-transparente en bas à gauche de la zone de travail, signifiant l'état courant du noyau par un message significatif, agrémenté d'un comportement de pulsation dépendant du type de message. Ce retour n'apparaît que lorsque l'utilisateur ne dessine pas garantissant ainsi un comportement non intrusif vis-à-vis de l'activité principale (le dessin).
Actuellement, la connexion de la feuille 3D au noyau de reconstruction n'est pas encore réalisée (la figure 4.5 est réalisée en «magicien d'Oz», le modèle 3D qu'elle présente étant codé). Toutefois, les comportements décrits de la feuille 3D sont d'ores et déjà réalisés, prêts à être connectés. La connexion avec le noyau, en plus évidemment de la reconstruction 3D, nous permettra aussi de réaliser une reprojection du modèle 3D sur la feuille de dessin après d'éventuelles manipulations de l'utilisateur. Ainsi, il pourra continuer à dessiner naturellement les parties du modèle qui n'étaient pas visibles auparavant. Bien entendu, il sera important d'étudier l'impact de cette reprojection et de sa représentation (rendu graphique, perte de l'historique de conception, etc.). Nous aborderons ces questions dans le chapitre suivant, portant sur les évolutions et perspectives de SVALABARD.
Le comportement global des feuilles d'interaction est donc de ne présenter que la feuille de dessin, le système laisse l'utilisateur dessiner. Lorsque celui-ci s'arrête, ou lorsqu'il le notifie explicitement, la feuille augmentée et la feuille 3D apparaissent avec une animation de transition. Il peut alors effectuer des opérations précises sur ces zones d'interaction, ou tout simplement recommencer à dessiner. Dans la section suivante, nous détaillons les outils et interactions de chacune de ces feuilles.
stuf