Etablir un cadre autour des nouvelles techniques de maillages 3D 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)
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.
Fournit une représentation des polyèdres (maillages 3D) 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.
Problème : comment intégrer les travaux de chaque contributeur au sein de la plateforme ? 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.
Dostları ilə paylaş: |