Réalisation d'un interpréteur CGAL


Lieu :
INRIA , Unité de Sophia Antipolis
Projet PRISME
BP 93, 06902 Sophia Antipolis

Information:
Monique Teillaud - Chargée de recherche
Tél : +33 4 92 38 77 62
e-mail: <Monique.Teillaud@sophia.inria.fr>
Frédéric Cazals - Chargé de recherche
Tél : +33 4 92 38 71 88
e-mail: <Frederic.Cazals@sophia.inria.fr>

Description:

CGAL est une bibliothèque d'algorithmes géométriques développée en C++ par un consortium de huit équipes européennes. Son but est de rendre disponibles les méthodes avancées conçues dans le domaine de la Géométrie Algorithmique (GA) pour les utilisateurs de l'industrie et des domaines d'application, en les implémentant de manière robuste, efficace et flexible.
Une fonctionnalité importante pour les concepteurs et utilisateurs d'algorithmes de GA est la possibilité de pouvoir créer et manipuler interactivement des objets géométriques afin de bien comprendre les propriétés des situations envisagées. De façon imagée, il s'agit de fournir pour la GA et CGAL un outil similaire à Maple pour le calcul formel.

Pour répondre à ce besoin, on se propose d'implémenter un interpréteur interactif pour CGAL. Plus précisément, il s'agit de pouvoir créer, manipuler et interagir avec des objets géométriques via un interpréteur. Par exemple, les objets instanciés pourront être stockés dans des variables pour utilisation ultérieure. Également, les objets crées pourront être donnés en arguments de fonctions disponibles dans CGAL. Enfin, étant donné la nature géométrique des entités manipulées, celles-ci pourront être envoyées à un visualiseur 3D.

L'implémentation d'un tel outil pose deux problèmes principaux. Le premier réside dans la mise en place d'un mécanisme similaire au call des ``debuggers''. Le second est lié à la généricité de CGAL et consiste à rendre disponibles toutes les fonctions des classes ``templates'' de CGAL.

Des objectifs plus ambitieux pourront être recherchés. Par exemple, il pourrait être agréable de pouvoir modifier les objets crées depuis le visualiseur. Également, il devrait être possible de définir de nouvelles fonctions écrites en C++. De façon similaire à certains debuggers, l'utilisateur pourrait les compiler "au vol" et en disposer ainsi immédiatement sans quitter l'interpréteur.

Mots clefs :

visualisation interactive, interface, interpréteur, ``multi-threading'', Géométrie Algorithmique.

Outils :

Stations de travail SUN Solaris ou PC Linux,
langage C++, langage TCL ?
utilisation et participation à la bibliothèque géométrique CGAL,
OpenGL / Open Inventor.
Retour aux autres stages


Monique Teillaud