• Aucun résultat trouvé

4. ARCHITECTURE GLOBALE DE L’APPROCHE PROPOSÉE

4.4. E NVIRONNEMENT DE PROGRAMMATION

4.4.1.1. Le langage Mel

Maya permet d’exploiter ses fonctionnalités grâce à plusieurs langages de script : MEL (Maya Embedded Language), un langage interprété de script propriétaire conçu après Unix ; Python, langage de programmation moderne rajouté récemment à Maya qui offre les mêmes accès aux commandes. De plus des API (Application Protocole Interface) C++ permettent la gestion des fonctionnalités. Une grande partie du logiciel (dont son interface) est programmée en Mel, le reste en C++.

Les commandes Mel concernent les tâches suivantes :

Fonctionnalités générales. Elles comprennent les commandes pour la customisation de l’interface, la création d’attributs, la gestion de l’affichage, la manipulation, la sélection des entités.

Fonctionnalités de langage de script. Les langages MEL et Python permettent de reconfigurer l’interface, de produire des applications et des procédures

Architecture globale de l’approche proposée

67 personnalisées. Les scripts peuvent être reconnus par un navigateur Web externe grâce au plug-in du navigateur Web de Maya.

Fonctionnalités de modélisation. Une gamme d’outils de modification de la géométrie créée à partir de courbes (B-splines, Bezier) et de surfaces (Nurbes, polyèdres, subdivision) permettent diverses opérations comme enfoncer, couper, biseauter, réaliser une extrusion ou combiner des surfaces.

Fonctionnalités de rendu. Divers outils permettent de créer et de manipuler des cameras, des sources de lumière, et de rattacher les textures aux entités. Des algorithmes plus complexes permettent des effets de rendus et la création automatique d’effets complexes d’ombrage.

Fonctionnalités d’animation. Un large éventail d’animations est possible par « keyframe » et par procédures, qui peuvent se baser sur un ensemble de contraintes (parent, de point, d’objectif, d’orientation d’échelle, de géométrie, de normale, de tangente et de vecteur).

Fonctionnalités de système. Il est possible de contrôler le dialogue avec le système d’exploitation, des applications externes ou un navigateur web, de contrôler l’entrée et la sortie des données, l’installation du logiciel et la suppression des commandes non valides.

De façon générale, le langage Mel permet d'avoir accès à la création d'interfaces (création de fenêtres, de boutons...) et à toutes les fonctions du logiciel. L’interface utilisateur de Maya est construite en utilisant des scripts qui exécutent la commande Maya. Comme Python est un ajout récent à Maya, la majorité de scripts via l'interface utilisateur sont écrits en MEL. Maya a une architecture basée sur les commandes pour le traitement de toutes ses fonctionnalités. Les commandes pour l'ensemble des fonctionnalités sont accessibles à travers le langage de script des commandes liées à l'interface utilisateur de Maya (menus, outils, boîtes de dialogue et toutes interactions avec Maya). De plus, il est possible de rentrer explicitement des commandes dans les langages de script supporté par Maya. Chaque commande a plusieurs arguments (flags) qui établissent la façon dont la commande est exécutée. Les arguments et leurs valeurs implicites ou explicites sont requis pour exécuter une commande. L’environnement de programmation offre diverses possibilités (Gould 2002) :

Customisation. L’interface graphique de Maya (Graphical User Interface) est

entièrement écrite et contrôlée en Mel. Ce langage permet de créer, éditer, effacer tous les éléments de l’interface graphique : il permet donc à l’utilisateur de remplacer l’interface standard et de créer sa propre interface contenant les procédures et fonctions conçues en fonction d’objectifs spécifiques. De plus, grâce à ce langage il est possible de réduire la complexité de l’interface en fonction des outils conçus, et de changer les options internes de Maya sur la base d’un projet ou de l’ensemble du système.

Intégration. Dans notre environnement de production, Maya n’est pas le seul

produit logiciel utilisé. Seulement certaines caractéristiques de Maya sont exploitées en patrimoine historique, et il est nécessaire d’importer les données vers Maya et de les

exporter vers d’autres applications. Comme il est possible d’accéder à toutes les données gérées par le système, le langage Mel permet d’extraire des entités les informations nécessaires, et de le convertir sous une forme qui soit facilement utilisable.

Automatisation. Comme souvent les tâches nécessitent d’être répétées, la

programmation en Mel est conçue pour automatiser entièrement les tâches répétitives. En effet, la programmation permet de généraliser les procédures : différentes tâches dépendantes du même contexte peuvent être exécutées à partir du même script.

Extension. Maya permet de rajouter des fonctionnalités et des outils

spécifiques. Ces fonctionnalités peuvent également être faites pour travailler de façon transparente avec le reste de Maya. Les outils développés par l’utilisateur apparaissent similaires aux outils standard de Maya. Les extensions sont créées en Mel et C++.

4.5.

Conclusions

Dans ce chapitre, nous avons présenté les préoccupations essentielles pour la formulation d’une démarche méthodologique complète de création, manipulation et gestion d’une maquette spatio-temporelle. Dans les deux chapitres suivants, nous présentons l’outil de reconstruction 3D des états historiques et l’outil de visualisation des transformations. En ce qui concerne l’outil de reconstruction 3D, pour chaque phase de la démarche, nous présentons les aspects méthodologiques et les solutions techniques identifiées. Le processus de reconstruction 3D, de structuration et de qualification de la maquette est plutôt complexe.

Afin de décrire aisément l’approche et la détailler sans perdre de vue l’objectif de chaque étape, nous structurons les thématiques abordées autour d’un cas d’application qui est bien adapté à la description spatio-temporelle et dont les sources documentaires sont plutôt variées. Ce terrain d’expérimentation est identifié avec le site du Trophée des Alpes à la Turbie. Depuis sa constitution, ce site a subi de nombreuses modifications : sa construction s’achève en -7, -6 av. J.-C. par Octave Auguste à l’occasion de la création de la province des Alpes-Maritimes, toutefois au début du Ve siècle il subit de nombreuses destructions et pillages, il est transformé en forteresse entre 1125 et 1325 et par la suite laissé à l’abandon pendant 8 siècles. Ce n’est qu’en 1905 qu’une campagne de fouilles est lancée. Les travaux de dégagement commencent en 1907 sous la direction de Jean Camille Formigé, architecte en chef des Monuments Historiques. Ce qui compte pour les maîtres d’œuvre, c’est la restitution du Trophée romain et les abords du monument sont malheureusement déblayés sans que soit fait de différence entre les vestiges de la forteresse et ceux du Trophée.

Documents relatifs