Télécharger la présentation
1
3D MEsh Processing Platform
MEPP 3D MEsh Processing Platform Martial TOLA - 03/02/2009 MEPP - 03/02/2009
2
MEPP : MEsh Processing Platform
Présentation Plateforme Objectifs Historique & réalisation Librairie CGAL Noyau, polyèdre Polyèdre enrichi Développement composant Déploiement environnement dév. (Windows & Linux) Création composant (CGAL, IHM, …) Démonstration/utilisation Orientations futures MEPP - 03/02/2009
3
Présentation : plateforme
Définition Objectif principal : fournir les outils & bases nécessaires pour que des développeurs (doctorants, stagiaires, ...) puissent développer rapidement des nouvelles applications. Effets immédiats : réalisation plus facile de démonstrations, collaborations entre équipes, etc. MEPP - 03/02/2009
4
Présentation : plateforme
Principes généraux Impact minimal d’un système d’exploitation et d’un langage de programmation, dans la mesure du possible. Ouverture : basée sur une architecture modulaire, pouvoir s’enrichir facilement avec des nouvelles fonctionnalités/modules. Intégration facile : pouvoir facilement utiliser/enrichir la plateforme, en utilisant la documentation associée. Identification claire des contributeurs et du responsable (un seul responsable par plateforme). MEPP - 03/02/2009
5
Présentation : objectifs
Etablir un cadre autour des nouvelles techniques de maillages 3D Etre orienté vers la portabilité et la modularité (notion de composant) Fournir une IHM et des fonctionnalités de base Fédérer/rassembler/pérenniser les développements de l’équipe M2DISCO MEPP - 03/02/2009
6
Présentation : historique & réalisation
Historique (CDD 10 mois ingénieur) Point de départ : « A Tutorial on CGAL Polyhedron for Subdivision Algorithms ». Ajout modularité : notion de composant. Modification IHM : remplacement MFC (Windows) par wxWidgets (Windows/Linux/Mac OS X). MEPP - 03/02/2009
7
Présentation : historique & réalisation
Réalisation (depuis fin septembre 2008) : 1/2 Finalisation version Linux, projet Codeblocks. 1er portage version Mac OS X, projet Codeblocks. Kit de déploiement/installation pour Linux et Windows. Machines virtuelles VMware Linux et Windows préinstallées. Tutoriels « déploiement/installation facile » MEPP pour Linux et Windows (GForge, Visual C++ Express, Codeblocks, SVN, CGAL, Boost, Xerces, wxWidgets). MEPP - 03/02/2009
8
Présentation : historique & réalisation
Réalisation (depuis fin septembre 2008) : 2/2 Débogage. Résolution fuites mémoire. Jeux d’essai de maillages « fiables ». Apprentissage CGAL. Création « composant exemple CGAL » et tutoriel CGAL (en 4 étapes), maj. tutoriel développement composant. Rajout gestion évènements souris/clavier au niveau des composants. Ajout « cartouche uniforme » pour les composants : Help/About & Documentation/Notes/Change Log. MEPP - 03/02/2009
9
Librairie CGAL : présentation
Computational Geometry Algorithms Library Librairie Open Source / utilisateurs académiques. GeometryFactory / licence commerciale. Consortium 7 instituts de recherche en Europe et Israël. INRIA Sophia-Antipolis fortement impliqué. Propose une implémentation des objets et des algorithmes utilisés couramment en géométrie algorithmique. Robuste, flexible, efficace. POO et polymorphisme : généricité / template. Utilise le paradigme de la librairie STL : conteneurs, itérateurs, circulateurs… MEPP - 03/02/2009
10
Librairie CGAL : noyau, polyèdre
espace euclidien à 2 ou 3 dimensions, coordonnées cartésiennes ou homogènes, différents types de données (double, int, …). Représentation des polyèdres Construction incrémentale / lecture fichier : sommets puis connectivités (facettes). Structure de données basée sur le concept des demi-arêtes (orientées) : sommets / arêtes / facettes, relations d’incidence et d’adjacence. MEPP - 03/02/2009
11
Librairie CGAL : polyèdre enrichi
Polyèdre enrichi : personnalisation de la classe de base CGAL::Polyhedron_3 Nouveaux attributs et méthodes associés au polyèdre : boite englobante, « pure quad », « pure triangle », etc. Items géométriques (sommets, demi-arêtes et facettes) également « enrichis » : normale, couleur, tag / sommets, normale, couleur, tag / facettes, tag / demi-arêtes. MEPP - 03/02/2009
12
Développement composant : déploiement environnement dév.
Inscription à la Forge du LIRIS : Demande d’adhésion au projet MEPP. Installation et configuration de SVN1 / TortoiseSVN2. Récupération du projet MEPP. Installation des dépendances (wxWidgets, CGAL, Boost, Xerces)1. Installation et configuration de Code::Blocks1 / Visual C Express Edition2. Machines virtuelles VMware Linux et Windows* préinstallées. 1 pour Linux. 2 pour Windows. * pb licence. MEPP - 03/02/2009
13
Développement composant : création composant (CGAL)
Principe retenu : héritage multiple « conditionnel » Chaque composant peut (ou non) être inclus au moment de la compilation / biais d’un « #define ». Chaque composant peut donc (ou non) ainsi enrichir : les facettes, les demi-arêtes, les sommets, le polyèdre lui-même. Le polyèdre enrichi ainsi que ses items géométriques héritent donc de tous les enrichissements amenés par l’héritage respectif de chaque composant. MEPP - 03/02/2009
14
Développement composant : création composant (IHM)
Principe retenu : liste de composants avec « insertion conditionnelle » Selon le même principe que pour la partie CGAL, chaque composant peut (ou ne pas) être inclus au moment de la compilation / biais d’un « #define ». Chaque composant est (ou n’est pas) inséré dans la liste de composants « actifs ». Au moment de la création de l’IHM de base de MEPP, chaque composant « enrichit » donc le menu et la toolbar ainsi que les évènements associés. Tout au long de l’exécution de MEPP, chaque composant reçoit les évènements suivants : pre_draw, post_draw, OnMouseLeftDown, OnMouseLeftUp, OnMouseRightDown, OnMouseRightUp, OnMouseMotion, OnMouseWheel, OnChar. MEPP - 03/02/2009
15
Démonstration/utilisation
MEPP - 03/02/2009
16
Orientations futures Capture image/image vectorielle/vidéo
Documenter : y compris développeurs composants ! Diffuser MEPP à l’extérieur : partenaires académiques, industriels, web, étudier problèmes licence. Log « séquence interaction » / replay & démo 4ème dimension : séquence de maillages / t ? MEPP - 03/02/2009
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.