guillaume lavoué: [email protected]@insa-lyon.fr martial tola:...
TRANSCRIPT
Guillaume Lavoué: [email protected] Tola: [email protected]
Laboratoire d'InfoRmatique en Image et Systèmes d'informationLIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université Lumière Lyon 2/Ecole Centrale de
LyonUniversité Claude Bernard Lyon 1, bâtiment Nautibus
43, boulevard du 11 novembre 1918 — F-69622 Villeurbanne cedexhttp://liris.cnrs.fr
UMR 5205
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009
MEPP
3D MEsh Processing Platform
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009 2
Présentation : objectifs / plateforme
Etablir un cadre autour des nouvelles techniques de maillages 3D
Fédérer / rassembler / pérenniser les développements de l’équipe M2DISCO
Impact minimal d’un système d’exploitation et d’un langage de programmation, dans la mesure du possible (portabilité)
Etre orienté vers la modularité (notion de composant)
Fournir une IHM et des fonctionnalités de base pour un développement plus rapide (intégration plus facile)
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009 3
Librairie CGAL : présentation
Computational Geometry Algorithms Library
Propose une implémentation des objets et des algorithmes utilisés couramment en géométrie algorithmique.
Librairie Open Source / utilisateurs académiques. GeometryFactory / licence commerciale. Consortium 7 instituts de recherche en Europe et Israël. INRIA Sophia-Antipolis fortement impliqué.
Robuste, flexible, efficace. POO et polymorphisme : généricité / template.
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009 4
Librairie CGAL : polyèdre
Fournit une représentation des polyèdres (maillages 3D)
→ 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,
navigation rapide et aisée au sein du maillage.
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009 5
Développement composant
Problème : comment intégrer les travaux de chaque contributeur au sein de la plateforme ?
Solution retenue : héritage multiple « conditionnel »(→ polyhèdre enrichi)
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 items géométriques (sommets, demi-arêtes, facettes),le polyèdre lui-même,l’IHM du logiciel (menu, toolbar, évènements, …).
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.
Le LIRIS à la rencontre des entreprises - MEPP - 03/11/2009 6
MEPP: 3D MEsh Processing Platform