Page suivante Page précédente Table des matières

2. Interface graphique utilisateur (GUI) de Ayam

Cette section décrit l'interface graphique utilisateur de Ayam

L'interface utilisateur de Ayam est composée de trois types de fenêtres : une fenêtre principale, une boîte à outils et un nombre quelconque de fenêtres de visualisation. La fenêtre principale affiche la hiérarchie des objets et permet de modifier les propriétés des objets. La fenêtre de la boîte à outils permet de créer facilement des objets et de démarrer des actions et des outils de modélisation. Les actions de modélisation sont ensuite effectuées dans des fenêtres de visualisation, où est également affichée la scène.

Jusqu'à la version 1.14 de Ayam, toutes ces fenêtres étaient toujours des fenêtres de niveau supérieur séparées par un soi-disant mode GUI de fenêtres flottantes . Depuis la version 1.14, un nouveau mode GUI est disponible où la fenêtre principale, trois fenêtres de visualisation et la boite à outils sont intégrées dans une fenêtre de niveau supérieur. Ce mode est appelé mode GUI à fenêtre unique, voir aussi l'image ci-dessous. Le nouveau mode GUI à fenêtre unique est activé par défaut. Toutes les sous-fenêtres sont dans des volets, l'espace occupé par une sous-fenêtre peut être ajusté en faisant glisser la souris sur les bordures des volets. Le nombre de vues n'est pas limité à trois, mais toutes les vues supplémentaires deviennent des fenêtres supplémentaires de niveau supérieur.

mode GUI à fenêtre unique

La section suivante documente en détail les trois types de fenêtres (principale, boite à outils et visualisation)

2.1 Anatomie de la fenêtre principale

La fenêtre principale est découpée en trois zones principales :

  1. une zone appelée "Objects:"
  2. une zone appelée "Properties:"
  3. une zone interactive de texte (aussi nommée "Console")

La fenêtre principale

Les tailles relatives des trois zones sont gérées par ce que nous appellerons la gestion de la géométrie des panneaux. Pour changer la taille de la console, déplacez le pointeur de la souris sur le bord haut de la console jusqu'à ce que la forme du pointeur change puis déplacez le bord. La même chose est valable pour le côté droit de la zone des objets.

Objets

La représentation par défaut des objets est une arborescence des objets. L'autre présentation possible est une simple liste (telle que connue sous "The Mops"). Le label "Objects" peut être utilisé pour basculer entre les deux types de présentation (en double cliquant dessus). Il est aussi possible de basculer entre les deux présentations en utilisant le menu contextuel.

Les deux présentations ont des propriétés différentes au vu de la vitesse, des ressources, et de polyvalence. L'arborescence des objets est plus polyvalente mais plus lente pour les opérations de glisser/déposer (drag and drop)

Les deux présentations gèrent ce que nous appellerons le niveau courant. Ce niveau est le niveau de la scène affichée dans la liste d'objets. Dans l'arborescence des objets, le niveau courant est affiché en noir alors que les autres niveaux sont grisés. On ne peut sélectionner des objets que dans le niveau courant !

Après le démarrage de Ayam, vous remarquerez qu'il y a un premier objet racine appelé "Root" dans le niveau supérieur de la scène, même si la scène semble vide. Voir la section L'objet Racine (Root) pour plus d'informations sur cet objet un peu spécial, et ce qu'on peut en faire.

Veuillez noter que cet objet ne peut être ni supprimé, ni copié.

L'arborescence des objets:

L'arborescence des objets

L'arborescence des objets est assez complexe et peut être lente sur les machines lentes (de la classe Pentium 90), en particulier lorsqu'il s'agit de scènes contenant de nombreux objets. Mais sur les machines plus récentes ce n'est plus vraiment un problème. Néanmoins, Ayam essaie de maintenir les délais de mise à jour de l'arborescence aussi bas que possible, mais cela ne fonctionne que si la scène utilise la hiérarchie et que les changements se produisent dans les sous-niveaux (mais pas au niveau racine). D'autres accélérations peuvent être réalisées à l'aide du script DTree (voir la section Arbre dynamique).

[∗]

Dans l'arborescence, les objets doivent être sélectionnés en utilisant le bouton gauche de la souris. Une sélection multiple est possible en appuyant sur <Shift> ou <Ctrl> tout en cliquant sur les objets.

Un double clic sur un objet avec des objets enfant bascule l'affichage sur le niveau des enfants. On peut faire la même chose en cliquant sur le symbole bien connu plus/moins en face du nom de ces objets.

Une opération de glisser/déposer est aussi possible pour déplacer des objets dans l'arborescence et pour initialiser certaines actions comme définir des matériaux pour les objets. (Connecter des matériaux aux objets ???) Cependant, cette dernière fonctionnalité est documentée dans la section Objets, propriétés et balises car elle est spécifique au type d'objet.

Le bouton droit[∗] de la souris ouvre un menu contextuel avec une arborescence de base et les opérations avec le presse-papier.

On peut aussi naviguer dans la scène et les objets peuvent être sélectionnés en utilisant le clavier : [∗]

Si ces raccourcis clavier ne marchent pas, vous devez préalablement déplacer le focus clavier dans la fenêtre nécessaire (vision, propriétés, ou console) en utilisant <Tab> or <Shift+Tab>.

Une autre façon de déplacer le focus (et de nettoyer l'état de l'application) consiste à utiliser la touche<Esc> : dans la fenêtre des propriétés et dans la console, appuyer sur <Esc> déplace le focus sur la fenêtre principale ou sur la fenêtre de sélection de l'objet. Appuyer deux fois sur <Esc> dans une fenêtre d'affichage déplace aussi le focus sur la fenêtre principale  /  de sélection de l'objet.[∗] Appuyer deux fois sur <Esc> dans la fenêtre de sélection de l'objet supprime la sélection (ce qui implique la disparition de la fenêtre des propriétés) et change le niveau courant vers le niveau racine.

Bref si vous êtes perdus n'importe où dans Ayam, il vous suffit d'appuyer deux ou trois fois sur <Esc>.

Object Listbox:

Liste des objets

La zone de liste des objets affiche la hiérarchie des objets de la scène actuelle. En utilisant cette liste, vous pouvez vous déplacer au sein de la hiérarchie de la scène avec votre souris et vous pouvez sélectionner un ou plusieurs objets.

Se déplacer et sélectionner sont très intuitifs. Utilisez un double clic pour rentrer dans un niveau (ou un objet avec enfants), utilisez un simple clic pour sélectionner, une sélection multiple peut être effectuée en utilisant <Shift> ou <Ctrl> tout en cliquant. Les opérations au clavier sont aussi possibles si la fenêtre de la liste a le focus.

Un ".." est affiché au niveau du premier élément du niveau courant si vous êtes "dans" un niveau ou un autre objet. Un double clic sur ce ".." remonte au niveau parent. Les boutons situés sous la zone de liste peuvent être utilisés pour modifier la sélection ou pour parcourir rapidement la hiérarchie. Ils devraient être explicites.

Le bouton droit de la souris ouvre un petit menu contextuel.

La scène peut aussi être parcourue et les objets sélectionnés via l'utilisation du clavier : [∗]

Si ces raccourcis clavier ne marchent pas, vous devez préalablement déplacer le focus clavier vers la fenêtre de visualisation, celle des propriétés ou la console en utilisant <Tab> ou <Shift+Tab>.

Une autre façon de déplacer le focus (et de nettoyer l'état de l'application) consiste à utiliser la touche<Esc> : Dans la fenêtre des propriétés et dans la console, appuyer sur <Esc> déplace le focus sur la fenêtre principale ou sur la fenêtre de sélection de l'objet. Appuyer deux fois sur <Esc> dans une fenêtre d'affichage déplace aussi le focus sur la fenêtre principale  / de sélection de l'objet.[∗] Appuyer deux fois sur <Esc> dans la fenêtre de sélection de l'objet supprime la sélection (ce qui implique la disparition de la fenêtre des propriétés) et change le niveau courant vers le niveau racine.

Bref si vous êtes perdus n'importe où dans Ayam, il vous suffit d'appuyer deux ou trois fois sur <Esc>.

Les propriétés

Properties

La zone de liste juste à côté de l'arborescence des objets affiche les propriétés de l'objet actuellement sélectionné.

S'il y a plusieurs objets sélectionnés, la zone de liste n'affichera strictement rien.

Contrairement à l'arborescence ou à la zone de liste des objets, où plusieurs entrées peuvent être sélectionnées, seule une propriété peut être sélectionnée. Si une propriété est sélectionnée, la GUI associée sera affiché dans la zone appropriée (sur le côté droit)

Le clavier peut aussi être utilisé pour sélectionner une propriété : il suffit d'appuyer une fois sur la touche <0>-<9> (c'est plus facile avec le clavier numérique). <0> sélectionne toujours la dernière et souvent la seule propriété spécifique au type d'objet, alors que <1> sélectionne la première propriété, qui inclue la transformation linéaire dans la plus part des cas.[∗]

La zone de liste des propriétés a aussi un menu contextuel. Les entrées de ce menu permettent de :

Les GUI propriétés

Toutes les GUI de propriétés utilisent des éléments plus ou moins standardisées et organisées sous forme de liste, voir aussi l'image ci-dessous. Ces listes peuvent être déroulées si elles sont trop longues pour tenir entièrement sur la fenêtre.

Ce qui s'affiche exactement et l'apparence des interfaces graphiques dépendent de l'objet sélectionné et de la propriété sélectionnée. Ceci est documenté de manière exhaustive dans la section Objets, propriétés et balises.

Si Ayam est en mode fenêtres flottantes and que les éléments de la propriété courante ne tiennent pas horizontalement dans l'espace de la fenêtre définie dans la taille de fenêtre principale, Ayam peut redimensionner automatiquement cette taille. Ce comportement peut être contrôlé en utilisant la configuration des préférences "AutoResize" (see section Les préférences).

Si un objet et une propriété sont sélectionnés et qu'un objet différent est sélectionné, la GUI de propriété qui a le même index que la propriété précédemment sélectionnée dans la liste des propriétés sera sélectionnée et affichée. Ce n'est pas nécessairement une propriété du même type. Pour éviter cela ou pour effacer la GUI des propriétés pour une navigation rapide dans la scène, vous pouvez soit double-cliquer sur l'étiquette "Propriétés", appuyer trois fois sur la touche <Esc> ou utiliser le menu contextuel de la liste des propriétés pour désélectionner la propriété actuelle.

Toutes les modifications qui sont intervenues en utilisant la GUI des propriétés ne seront appliquées que lorsque le bouton "Apply" sera utilisé.

Cependant, maintenir le bouton "Shift"enfoncé tout en interagissant avec la GUI des propriétés ou en appuyant sur la touche "Return" lorsque les widgets d'entrée ont le focus de saisie au clavier entraînera une application instantanée de toutes les valeurs modifiées.[∗]
Notez que les GUI des propriétés des objets personnalisés peuvent offrir des éléments interactifs qui effectuent également une opération "Apply" instantanée. Mais la plupart des éléments GUI de propriété des objets de base de Ayam ne changent pas tant que le bouton "Apply" n'est pas utilisé.

Toutes les modifications apportées aux arguments d'une propriété depuis l'ouverture de la propriété ou la dernière opération "Apply" (quelle qu'elle soit) peuvent être annulées avec le bouton "Reset". Notez que cela n'utilise pas le mécanisme d'annulation de Ayam mais copie plutôt les données Tcl, tout comme le presse-papiers des propriétés.

Si un élément de la GUI de propriété a le focus de saisie au clavier (il est alors généralement affiché avec un bord noir autour de lui), tous les raccourcis clavier pour le menu principal et la navigation de scène n'auront aucun effet jusqu'à ce que le focus de saisie au clavier soit éloigné de la propriété GUI. Cela peut être fait facilement en utilisant la touche <Esc>.

Les propriétés du presse-papier

À l'aide du presse-papiers de propriétés, les données de propriété choisies peuvent être copiées à partir de l'un, puis collées dans un autre objet. Voir le menu "Edit" pour accéder à cette fonctionnalité.

Coller une propriété sur de multiples objets marche aussi. C'est un excellent moyen d'appliquer par exemple une ombre de surface paramétrée à un grand nombre d'objets matériaux, sans être obligé de définir une nouvelle ombre et entrer des paramètres pour chaque objet matériau.

Comme vous ne souhaitez peut-être pas copier et coller l'ensemble des propriétés tout le temps, vous pouvez marquer des paramètres uniques avec un double-clic sur les étiquettes des paramètres. Les paramètres sélectionnés seront alors précédés d'un point d'exclamation (!) dans la GUI de la propriété.

Si cette propriété est ensuite copiée, tous les paramètres marqués seront omis.

Il est également possible de ne copier que les paramètres sélectionnés en utilisant "Copy Marked Prop".

Un exemple simple pour une telle utilisation avancée du presse-papiers de propriétés :

Notre tâche est de donner à un grand nombre d'objets matériaux la même couleur, mais ils ont déjà des paramètres d'opacité différents. La copie brutale de la propriété d'attribut détruirait les valeurs d'opacité ajustées individuellement. Nous pouvons résoudre ce problème en copiant uniquement l'attribut de couleur, mais en laissant tous les autres attributs tels quels :

  1. Modifiez la couleur d'un premier objet matériau à l'aide de la GUI des propriétés "Attributes". (N'oubliez pas le bouton "Apply")
  2. sélectionnez le paramètre couleur en double cliquant sur le texte "Color"; on devrait alors lire "!Color".
  3. Copiez uniquement le paramètre de couleur dans le presse-papiers, en utilisant "Copy Marked Prop" dans le menu "Edit" ou en utilisant le raccourci clavier <Ctrl+I>.
  4. Sélectionnez tous les autres objets matériaux.
  5. Collez la propriété en utilisant "Paste Property" ou <Ctrl+V>.
  6. C'est tout !

Une application encore plus avancée du presse-papiers consiste à coller des valeurs de propriété dans différents types de propriétés (par exemple coller des paramètres d'une ombre / nuance de surface à une ombre / nuance de déplacement, ou coller une valeur de rayon d'une sphère sur un disque). Cela peut être fait en utilisant "Paste to selected" dans le sous-menu "Special/Clipboard".
Cependant, des précautions particulières doivent être prises lors du collage de propriétés incomplètes sur des objets qui n'ont pas déjà des propriétés complètes. Ne collez pas une propriété ombre incomplète sur un objet qui n'a pas déjà la même ombre.

La console

La console

La troisième partie de la fenêtre principale est la console. La console est principalement destinée à la sortie de texte sans blocage (messages d'information, d'avertissement et d'erreur). Si quelque chose ne marche pas comme prévu, il serait bon de jeter un oeil à la console.

La console capture les canaux d'erreur (stderr pour Linux) et de sortie (stdout pour Linux) de l'interpréteur Tcl dans lequel Ayam s'exécute. Il est également possible de rediriger tous les messages d'erreur Tcl internes, qui normalement provoqueraient l'apparition d'une fenêtre de dialogue d'erreur Tcl, vers la console en utilisant le paramètre de préférence "Misc/RedirectTcl" (voir la section Préférences diverses).

Qui plus est, des commandes ou même de nouvelles procédures Tcl complètes peuvent être directement entrées dans la console. Cependant, c'est une fonctionnalité faite pour un utilisateur averti qui a étudié la section Interface de script.

Vous devez obligatoirement cliquer dans la console pour lui donner le focus d'entrée et ainsi activer l'entrée.

Il est important de savoir que les raccourcis clavier pour les différentes entrées du menu principal ne fonctionnent pas si la console a le focus d'entrée. Au lieu de cela, D'autres raccourcis clavier (liés à la console) sont en vigueur. Comment sortir de cette situation ? Simplement en appuyant sur <Shift+Tab> ou sur <Esc> pour mettre le focus hors de la console et de nouveau avoir accès au raccourcis du menu principal.

Veuillez noter que l'appui sur la seule touche <Tab> ne déplace par le focus hors de la console. <Tab> par contre complète les noms de fichiers, commandes (procédures), variables et widgets. Vous pouvez essayer en tapant tip dans la console puis en appuyant sur <Tab>. La console complète automatiquement tip en tipoftheDay (la procédure qui affiche l'astuce du jour, essayez pour voir)

Rappelez-vous que de nombreuses commandes de l'interface de script de Ayam fonctionnent en arrière-plan : sans mise à jour du widget de sélection d'objet, de l'interface graphique des propriétés ou du rafraîchissement des fenêtres de vue. Mais il est possible de forcer ces mises à jour en utilisant <Shift-Enter> en lieu et place de <Enter> lors de la saisie de commandes.

Une autre démonstration simple des caractéristiques de la console :

Cet exemple utilise trois procédures :

Voir la section Interface de script pour une liste complète de commandes utilisables.

Veuillez noter que cet exemple utilise un effet de bord, la variable "i" (qui représente l'index de l'objet en cours de modification) est utilisée pour calculer la valeur du mouvement et de la rotation.

Pour plus d'information concernant la console, veuillez consulter la documentation appropriée de l'auteur original Jeffrey Hobbs (voir le menu contextuel de la console, qui peut être ouvert avec le bouton droit de la souris).

2.2 Le menu principal

Cette section décrit la barre de menu du menu principal.

Notez que de nombreuses entrées de menu ont des raccourcis clavier qui s'affichent dans chaque entrée. Mais ces raccourcis ne fonctionnent que si la fenêtre principale a le focus de saisie clavier et que le focus de saisie n'est pas dans la console ou dans un élément GUI de propriété (c'est-à-dire un champ de saisie de données). Appuyez sur <Esc> pour mettre le focus sur le widget de sélection d'objet et ainsi activer les raccourcis clavier du menu principal.

Ces raccourcis clavier peuvent être modifiés en utilisant le fichier ayamrc (voir la section section Le fichier Ayamrc).

Une autre manière de naviguer dans le menu est d'utiliser les touches <Alt> ou <Menu>, appuyées en même temps que les lettres soulignées dans les entrées du menu. Une fois un menu ouvert, on peut aussi naviguer au clavier avec les touches de direction. La touche <Return> exécute l'entrée courante du menu alors que la touche <Esc> ferme le menu.

Le menu "File" traite des opérations standards sur les fichiers :

Le menu "Edit" contient les opérations sur les objets et les propriétés du presse-papiers, les actions de sélection et d'annulation, permet la recherche d'objet et permet d'ouvrir l'éditeur de préférences :

L'entrée de menu "Create" vous permet de créer des objets. Contrairement à la création d'objet via la boîte à outils, certaines entrées de menu ouvrent de petites boîtes de dialogue dans lesquelles les paramètres de l'objet à créer peuvent être ajustés. Les champs de saisie de ces boîtes de dialogue prennent en charge les expressions Tcl comme détaillé dans la section Prise en charge des expressions dans les entrées de dialogue.

Voici les entrées du menu Create :

Le menu "Tools" héberge des outils de modélisation pour créer ou modifier des objets complexes. Quelques outils ouvrent des boites de dialogue afin de demander des paramètres. Les champs de saisie dans ces boîtes de dialogue prennent en charge les expressions Tcl comme détaillé dans la section Prise en charge des expressions dans les entrées de dialogue.

Les entrées de ce menu "Tools" sont :

Le menu personnalisé "Custom" est initialement vide. Les objets personnalisés et les plugins peuvent créer des entrées ici.

Le menu "Special" contient des outils rarement utilisés :

Le menu "Help" :

2.3 Raccourcis clavier de la fenêtre principale

Un groupe important de raccourcis est disponible via les touches de fonction :
<F1> a déjà été mentionné, il ouvre un navigateur Web et affiche l'URL paramétré dans la préférence "Docs".
<F2> et <F3> abaisse et augmente respectivement la valeur de tolérance d'échantillonnage GLU globale, ce qui permet un ajustement rapide de la qualité de dessin et d'ombres NURBS.
<F4> bascule l'affichage entre les cages de contrôle des NURBS et les contours des courbes / surface vraies.
<F5> reconstruit l'arborescence des objets et émet une notification complète, puis toutes les vues (même celles avec AutoDraw désactivé [∗] seront dessinées. Il est donc utile de mettre à jour l'interface graphique complète après les modifications apportées à la scène à l'aide de l'interface de script de la console.
<F6> bascule vers des notifications simplifiées (paresseuses). ???

<Ctrl+A> est lié aux boutons "Apply" et <Ctrl+R> vers le bouton "Reset" du GUI de la propriété.

La sélection d'objets peut être manipulée par les touches de direction (flèches), voir aussi la section Raccourcis de l'arborescence des objets et la section Raccourcis de la liste des objets.

L'application entière avec toutes les fenêtres ouvertes peut être iconifiée (zap) à l'aide du raccourci <Ctrl+Z>. Si l'une des fenêtres iconifiées par zap est désiconifiée, toutes les autres fenêtres iconifiées par zap seront également désiconifiées.

De nombreuses entrées du menu principal ont des raccourcis clavier directs, affichés directement dans les entrées du menu, voir aussi la section Le menu principal.

Notez que les raccourcis clavier de la fenêtre principale ne fonctionnent que si la fenêtre principale a le focus de saisie clavier et que le focus de saisie n'est pas dans la console ou dans un élément GUI de propriété (c'est-à-dire un champ de saisie de données). En cas de doute, appuyez d'abord sur <Esc> pour mettre le focus sur le widget de sélection d'objet et activer ainsi les raccourcis clavier de la fenêtre principale.

Tous ces raccourcis peuvent être modifiés à l'aide du fichier ayamrc (voir la section section Le fichier Ayamrc).

2.4 Anatomie d'une vue

Une fenêtre de vue

La fenêtre de vue (affichage) est divisée en une barre de menus et un widget OpenGL, où l'interaction et le dessin ont lieu. Le titre de la fenêtre de vue donne des informations sur le nom, le type actuel et l'action de modélisation actuellement active de la vue.

L'action de modélisation actuelle, le mode de modélisation, le mode de dessin et la taille de la grille sont également affichés sous la forme d'un ensemble d'icones sur le côté droit de la barre de menus de la vue.

2.5 Menu d'une vue

Cette section traite de la barre de menus d'une vue.

Notez que de nombreuses entrées de menu ont des raccourcis clavier qui s'affichent dans chaque entrée. Mais ces raccourcis ne fonctionnent que si la fenêtre de vue a le focus de saisie au clavier. Ces raccourcis sont modifiables dans le fichier ayamrc file (voir la section Le fichier Ayamrc).

Une autre façon de naviguer dans le menu consiste à utiliser les touches "Menu" ou "Alt" enfoncée en même temps que les différents caractères soulignés dans les entrées de menu.

Voici toutes les entrées du menu "View" :

Les entrées du menu "Type" :

peuvent être utilisé pour changer le type de vue, ce qui restreint la portée de certaines actions de modélisation. Voir les sections L'objet View, Afficher les raccourcis et les actions sur la fenêtre et Les actions de modélisation pour plus d'information.

Le menu "Configure" peut être utilisé pour modifier les préférences de la vue. Certaines préférences sont décrites plus en détail dans la section La propriété ViewAttrib.

Mis à part les menus textuels documentés ci-dessus, il existe également des menus basés sur des icones dans la barre de menus de la fenêtre d'affichage :

L'icone "Action" permet les actions de sélection de base[∗] L'icone de ce menu transmet également toujours l'action de modélisation actuellement active. Voir aussi l'image ci-dessous :

Action Icon Menu

Les actions de sélection sont :

L'icone "Modelling Mode" permet de changer rapidement le mode de modélisation actuel (global ou local, voir aussi la section L'édition dans les espaces locaux).

En plus d'une icone différente, les modes locaux afficheront un L ou O dans le coin inférieur droit de l'icone.
L'icone, en outre, indique si des objets ou des points seraient modifiés par une action de modélisation : pour les points, un point rouge sera présent dans le coin supérieur droit de l'icone (voir aussi la section Transformer des objets ou des points sélectionnés).

La portée de modélisation peut également être basculée directement en cliquant sur le bouton de menu avec le bouton droit de la souris.[∗]
De plus, le type de vue sera affiché dans le coin supérieur gauche de l'icone sous la forme de lettre F, S, T, ou P respectivement pour les vues de face, de côté, de dessus ou en perspective. Les vues de type Trim n'ont aucune lettre de désignation dans l'icone. Voir aussi l'image ci-dessous :

Modelling Mode Icon Menu

L'icone "Drawing Mode" peut être utilisé pour changer rapidement le mode de dessin courant, le mode filaire, l'ombre, le mode filaire et l'ombre ou les fils cachés. Voir aussi l'image ci-dessous :

Drawing Mode Icon Menu

Voir la section Modes de dessin pour une description des différents modes de dessin.

Enfin, l'icone "Grid" peut être utilisé pour changer rapidement la taille actuelle de la grille :

Sur le côté droit de la barre de menu d'affichage, il y a un petit icone qui affiche la taille actuelle de la grille. Vous pouvez cliquer sur l'icone pour afficher un menu avec des valeurs de taille de grille prédéfinies. Choisir l'une des valeurs 0,1, 0,25, 0,5 ou 1,0 définira la taille de la grille de la vue sur la valeur choisie et permettra en outre de dessiner la grille et de s'aligner sur la grille. L'entrée "X" permet de définir une valeur de grille personnalisée. La dernière entrée définira la taille de la grille sur 0,0 et désactivera le dessin et l'accrochage à la grille. Si une taille de grille autre que 0,1, 0,25, 0,5 ou 1,0 est en vigueur pour la vue, un icone générique (avec un X au lieu d'un nombre) sera affichée dans le menu d'icones. Voir aussi l'image ci-dessous :

Grid Icon Menu

2.6 Afficher les raccourcis et les actions sur la fenêtre

Les commandes clavier importantes d'une fenêtre de vue (à part les raccourcis du menu de vue) sont traitées dans cette section.

Notez que les raccourcis clavier d'affichage ne fonctionnent que si la fenêtre d'affichage a le focus de saisie clavier.

Ces raccourcis peuvent être personnalisés à l'aide du fichier ayamrc file (voir la section Le fichier Ayamrc).

Les raccourcis clavier modifiant directement la caméra, qui est associée à la fenêtre de visualisation, sont :

Voir la section Modifier le comportement des touches curseur pour un script qui permute les raccourcis clavier de rotation et de panoramique dans des vues parallèles.

Les actions interactives modifiant la caméra, associée à la fenêtre de visualisation, sont :

Voir également le tableau ci-dessous.

NameShortcutIcon
Pan View<v>
Zoom View<Z>
Rotate View<R>

Interactive View Actions Overview

Vous pouvez également effectuer un panoramique / déplacer la vue en faisant glisser avec le bouton droit de la souris et agrandir la vue avec le bouton central de la souris sans affecter aucune autre vue active ou action de modélisation.

Si vous avez une souris à molette et qu'elle est configurée pour envoyer des événements de bouton Mouse4 et Mouse5, Ayam agrandit la vue lorsque vous tournez la roue.

<PgUp> et <PgDown> permettent de parcourir les types de vues.[∗]

<Ctrl+PgUp> et <Ctrl+PgDown> permettent de parcourir les modes de dessin.[∗]

<Insert> et <Delete> permettent de parcourir les tailles de grille.
<Shift-Insert> et <Shift-Delete> modifient la taille actuelle de la grille.[∗]

À l'aide de l'entrée de menu "Zoom to Object" ou du raccourci correspondant <Ctrl+o> (<O> pour les vues internes), les paramètres de la caméra de vues peuvent être modifiés afin que le les objets sélectionnés soient affichés au centre de la fenêtre de visualisation. C'est pratique pour rechercher des objets ou si l'utilisateur est simplement perdu dans l'espace.

L'action "Zoom to All", liée à la touche <BackSpace> est étroitement liée à cette dernière. Cette action ajuste les paramètres de la caméra afin que tous les objets de la scène soient visibles, quels que soient le niveau actuel et la sélection d'objets.

Notez que les deux, "zoom to object" et "zoom to all", ajustent les plans de détourage aux étendues des objets affectés et adaptent également la position de la source de lumière utilisée pour l'ombre.[∗] Cela facilite le travail avec des objets très grands ou très petits.

À l'aide de l'entrée de menu "Align to Object" ou du raccourci <Ctrl+a> (<L> pour les vues internes), les paramètres de la caméra de vues peuvent être modifiés afin que la vue soit alignée sur le système de coordonnées de l'objet actuellement sélectionné. C'est pratique pour la modélisation dans les systèmes de coordonnées locaux (par exemple lors de l'édition des points de contrôle d'une courbe plane définie dans le plan XY qui a été rotationnée autour de l'axe Y). Voir aussi la section L'édition dans les espaces locaux.

Il est également possible de se déplacer dans la hiérarchie des scènes et de modifier la sélection directement dans les fenêtres de visualisation :[∗]

2.7 Modes de dessin

Cette section explique les modes de dessin disponibles dans Ayam.

Le mode de dessin "Draw" affiche une représentation filaire simple de la scène, voir l'image suivante :

Draw Mode "Draw"

Le mode de dessin "Shade" affiche la scène sous forme de surface ombrée éclairée par un seul phare, voir aussi l'image suivante :

Draw Mode "Shade"

Le mode de dessin "ShadeAndDraw" combine les images des modes "Shade" and "Draw", voir aussi l'image suivante :

Draw Mode "ShadeAndDraw"

Le mode de dessin "HiddenWire" fonctionne comme le mode d'ombre et de dessin, où la partie d'ombre de surface n'est utilisée que pour supprimer les bits cachés. De plus, les contours de la silhouette sont détectés et dessinés. Pour de meilleurs résultats, utilisez-le avec l'anti-aliasing.

La détection de silhouette recalcule une deuxième fois les ombres dans une configuration d'éclairage multicolore spéciale. Ensuite, les bords sont détectés dans le Z-buffer et le tampon de couleurs. La détection des bords dans le Z-buffer bénéficie de plans de détourage bien ajustés. Une bonne configuration du plan de détourage peut être facilement réalisée par l'action "Zoom to Object" (raccourci <O>).
Si l'anti-aliasing n'est pas activé, la carte de bord résultante est traitée par amincissement morphologique et suppression des pixels à proximité directe des pixels déjà dessinés, pour obtenir des lignes d'un pixel de large.
Enfin, la carte des bords est utilisée comme une texture largement transparente (sauf pour les bords) sur un quadrilatère plein écran, qui est dessiné comme dernier objet. En cas d'anti-aliasing, le quadrilatère sera dessiné quatre fois. Voir l'image ci-dessous.

Draw Mode "HiddenWire"

La détection de silhouette est un processus lent et donc effectuée uniquement lorsqu'aucune action interactive n'est en cours. L'image suivante montre ce qui sera dessiné lors des actions interactives, comparez-le également à l'image complète ci-dessus.

Draw Mode "HiddenWire" without Silhouettes

2.8 La boîte à outils

La boîte à outils

La boîte à outils affiche certains boutons qui lancent des actions de modélisation interactives, des outils de modélisation ou créent des objets. La boîte à outils peut être ouverte et fermée en utilisant l'entrée du menu principal "Special/Toggle Toolbox" à moins qu'Ayam ne soit en mode GUI à fenêtre unique.

Notez que contrairement aux raccourcis clavier des fenêtres de vue, les boutons de la boîte à outils peuvent basculer vers les actions de modélisation pour toutes les vues ouvertes. C'est le cas si Ayam est en mode GUI à fenêtre unique et que l'AutoFocus est activé ou si Ayam est en mode GUI multi-fenêtres. Pour plus d'informations sur les actions, voir la section Les actions de modélisation.

En outre, la portée de la modélisation peut être immédiatement basculée vers le point lors du démarrage d'une action de transformation à l'aide du bouton droit de la souris.[∗] Voir aussi la section Transformer des objets ou des points sélectionnés.

Lors de la création d'objets, maintenez la touche <Ctrl> enfoncée tout en appuyant sur le bouton correspondant de la boîte à outils pour garder les objets sélectionnés. C'est particulièrement utile pour les objets qui déplaceraient les objets actuellement sélectionnés vers eux en tant qu'enfants (Niveau, Révolution, Revêtement, etc.).

Plusieurs autres boutons d'outils modifient également leur comportement avec des touches de modification, consultez les info-bulles.

La fenêtre de la boîte à outils peut être configurée par l'utilisateur à l'aide du paramètre de préférence masqué "toolBoxList" dans le fichier ayamrc. En utilisant ce paramètre, vous pouvez sélectionner certains groupes de boutons et modifier l'ordre dans lequel ils apparaissent dans la fenêtre de la boîte à outils. Voir la section Définitions des préférences masquées pour plus d'informations.

La boîte à outils peut être également étendue via des scripts, voir la section Boutons et boite à outils pour des exemples.

Vous pouvez également redimensionner la fenêtre pour passer de la disposition standard verticale à une disposition horizontale, optimisant ainsi l'utilisation d'un espace précieux sur l'écran. Après le redimensionnement, la boîte à outils remettra en page les boutons, vous avertissant si l'espace est trop petit pour tous les boutons à afficher. Si la fenêtre est trop grande pour la mise en page souhaitée et que le paramètre de préférence caché "ToolBoxShrink" est activé, la boîte à outils rétrécira la fenêtre pour qu'elle corresponde à l'espace occupé par les boutons. De plus, en utilisant le paramètre de préférence caché "ToolBoxTrans", la fenêtre de la boîte à outils peut être rendue transitoire. On obtiendra alors (en fonction du gestionnaire de fenêtres ou de sa configuration) une "décoration" différente, aucune décoration, aucune icone, ce sera toujours iconifié lorsque la fenêtre principale le sera aussi.

2.9 Recherche d'objets

Object Search Dialog

La fonction de recherche d'objets permet de trouver des objets dans la hiérarchie de la scène selon de nombreux critères différents, même définis par un script, et de les mettre en évidence dans l'arborescence ou d'exécuter des actions quelconques sur eux.[∗] La recherche d'objets est contrôlée par une boîte de dialogue, voir aussi l'image ci-dessus. Notez que la boîte de dialogue de recherche d'objet n'est pas fermée immédiatement après une opération de recherche, cela permet plusieurs opérations de recherche avec des paramètres éventuellement affinés. Les deux premières options "Expression" et "Action" permettent à l'utilisateur de spécifier les objets à rechercher et ce qu'il faut en faire, elles sont expliquées en détail dans les sections respectives ci-dessous. En utilisant le paramètre "Scope", la recherche peut être limitée à certains ensembles d'objets. Par défaut, lorsque le paramètre scope est "All", tous les objets de la scène sont traités, même si le niveau actuel n'est pas le niveau racine et qu'aucun objet n'est sélectionné.
Si le paramètre scope est "Selection" la recherche s'effectuera seulement sur les objets sélectionnés et leurs enfants.
Si le paramètre scope est "Level" la recherche s'effectuera sur tous les objets du niveau actuel et bien sûr sur leurs enfants.
Si le paramètre scope est "Collection" la recherche s'effectuera sur les seuls objets trouvés par la recherche précédente
Veuillez noter qu'aucune recherche n'est effectuée dans le presse-papiers. Plus d'options sont disponibles lorsque vous appuyez sur le bouton "Advanced Options". L'option "HighlightColor" définit la couleur à utiliser par l'action "Highlight". Si les options "ClearHighlight" ou "ClearClipboard" sont activées, les surbrillances et le presse-papiers de l'objet sont respectivement effacés avant le début d'une recherche. Enfin, "InvertMatch" annule la logique de recherche : si elle est activée, la recherche trouve tous les objets pour lesquels l'expression de recherche donne un résultat négatif.

Les expressions de recherche

Lorsqu'une simple chaîne est utilisée comme expression de recherche, cette chaîne est comparée aux types, noms et matériaux des objets à rechercher sans tenir compte de la casse.[∗] La recherche permet l'utilisation de "*" (qui correspond à n'importe quelle séquence de caractères), "?" (qui correspond à un seul caractère) et des plages de caractères spécifiées comme ceci "[A-z]". Pour rechercher l'un des caractères *?[] faites le précéder d'un caractère antislash (barre oblique inverse).

Si l'expression de recherche commence par "$", "(", ou "[" elle est considérée comme une expression spéciale.

Les expressions de recherche spéciales suivantes sont définies :

Type

trouve les objets d'un certain type, par exemple

$type == "Sphere"
recherche toutes les sphères.

Name

trouve les objets d'un certain nom, par exemple

$name == "objname"
recherche tous les objets avec le nom objname.

Material Name

trouve les objets dotés d'un certain matériau, par exemple

$mat == "matname"
recherche tous les objets avec le matériau matname.

Property Value

trouve les objets avec une certaine valeur de propriété, par exemple

$SphereAttr(Radius) == 0.5
recherche toutes les sphères de rayon 0,5.

Master

recherche le maître de l'instance actuellement sélectionnée.

Instances

recherche toutes les instances du maître actuellement sélectionné, ou si l'objet actuellement sélectionné est une instance, rechercher toutes les instances avec le même maître.

Procedure Call

recherche les objets pour lesquels une procédure ou une commande renvoie 1, par exemple

[hasChild]
recherche tous les objets qui ont des enfants. Voir la section Interroger les objets pour une liste des commandes disponibles.

Des expressions logiques complexes peuvent également être créées, comme par exemple
($type == "Sphere") && ($mat == "wood")
qui cherche tous les objets sphères en bois. En raison de la façon dont les expressions sont évaluées, l'utilisation des accolades est impérative même pour les expressions un peu plus complexes qui utilisent l'opérateur de négation :
(![hasChild])
Notez également que toutes les comparaisons basées sur des chaînes, par exemple des types ou noms via "==" sont sensibles à la casse (majuscules et minuscules). Le menu des valeurs par défaut de l'entrée "Expression" est prédéfini avec des entrées significatives lorsque la boîte de dialogue de recherche est ouverte. Ce qui apparaît exactement dans ce menu dépend du premier des objets sélectionnés. Par exemple, si l'objet sélectionné est un matériau, l'entrée de matériau contiendra le nom du matériau extrait de cet objet et sera l'une des premières entrées, de sorte que la recherche d'objets de ce matériau ne se fera qu'en deux clics de souris. Si l'objet est une instance, les deux premières entrées de ce menu seront "Master" et "Instances".

Les actions de recherche

Lors d'une recherche, pour chaque objet correspondant à l'expression donnée, l'objet sera sélectionné et une action sera exécutée. Les actions spéciales suivantes sont définies :

Highlight

Tous les objets trouvés seront colorés dans l'arborescence des objets, voir aussi l'image suivante.

Object Search Result of Search String "clay"

Les objets en surbrillance restent en surbrillance jusqu'à ce que l'arborescence soit complètement mise à jour (par exemple via le raccourci clavier <F5>) ou partiellement (par exemple après des opérations de glisser-déposer ou de presse-papiers d'objet).

Count

Les objets correspondant à l'expression de recherche seront comptés et le résultat sera envoyé à la console.

Collect

Les noms des noeuds des objets trouvés seront collectés dans la liste Tcl "ObjectSearch(nodes)". Cette liste peut ensuite être utilisée pour le post-traitement par des scripts sans les restrictions imposées par la commande "forAll".

Copy

Les objets trouvés seront ajoutés au presse-papiers.

Delete

Les noms de noeuds des objets trouvés seront collectés, puis la liste des objets sera traitée pour que la suppression soit sûre, puis les objets seront supprimés de la scène.

En plus de ces actions spéciales, une commande  /  procédure, comme par exemple
convOb -inplace
ou
addTag NoExport ""
peut également être définie comme action. Cependant, comme la recherche d'objets est basée sur l'interface script de commande "forAll" certaines restrictions s'appliquent : Voir aussi la section Procédures and Commandes pour une liste des commandes disponibles.

Si l'action de recherche est vide, les objets seront simplement recherchés et un nombre de correspondances sera signalé.[∗] L'action spéciale "Highlight" collecte également les noms de noeuds trouvés dans la liste Tcl globale "ObjectSearch(nodes)".

2.10 Les préférences

Preferences Dialog

La boîte de dialogue des préférences peut être ouverte en utilisant l'entrée du menu principal "Edit/Preferences" ou le raccourci <Ctrl+p>.

Utilisez

Notez que lorsque l'éditeur de préférences est ouvert, la mise au point automatique est temporairement désactivée et les modifications apportées au paramètre de préférence "AutoFocus" ne seront prises en compte qu'après la fermeture de l'éditeur.

Les préférences sont divisées en cinq sections comme suit.

Les préférences principales

La section "Main" contient les paramètres de préférence liés à la configuration de l'application les plus importants.

Notez que les paramètres inutilisés ne seront pas affichés, par exemple sur la plate-forme Win32, le paramètre "TwmCompat" sera masqué.[∗]

La sous-section suivante contient les paramètres relatifs à l'interface graphique utilisateur (GUI). Les paramètres de préférence "ListTypes", "MarkHidden", "LoadEnv", et "NewLoadsEnv" sont des paramètres de préférence masqués depuis Ayam 1.14, voir la section Définitions des préférences masquées.

Préférences de modélisation

La section suivante des préférences, "Modelling", contient les paramètres relatifs à la modélisation :

Les préférences de dessin

Les préférences de la section "Drawing" vous permettent de spécifier la manière dont les objets sont dessinés :

Préférences d'exportation RIB

La section de préférences "RIB-Export" contient des paramètres qui affectent la façon dont les RIB sont créés.

Notez que de nombreuses préférences liées au rendu peuvent être définies à la fois à l'aide de l'outil de rendu de sélection via le menu principal "Special/Select Renderer" (voir aussi la section Menu spécial). En fait, utiliser d'abord "Special/Select Renderer", puis affiner la configuration du moteur de rendu à l'aide de l'éditeur de préférences est la manière suggérée de basculer Ayam vers un certain moteur de rendu RenderMan.

Préférences diverses

La section "Misc" des préférences contient les si redoutés paramètres divers. La première sous-section traite de la gestion des messages d'erreur :

La dernière sous-section contient diverses préférences liées à l'interface utilisateur : Voir aussi la section Outil de tessellation (triangularisation) pour des exemples de tessellations.


Page suivante Page précédente Table des matières