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.
Principes généraux
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).
Etablir un cadre autour des nouvelles techniques de maillages 3D
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
Historique (CDD 10 mois ingénieur)
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).
Réalisation (depuis fin septembre 2008) : 1/2
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).
Réalisation (depuis fin septembre 2008) : 2/2
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.
Computational Geometry Algorithms Library
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…
Noyau :
Noyau :
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.
Polyèdre enrichi : personnalisation de la classe de base CGAL::Polyhedron_3
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.
Inscription à la Forge du LIRIS : http://gforge.liris.cnrs.fr.
Inscription à la Forge du LIRIS : http://gforge.liris.cnrs.fr.
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++ 2005 Express Edition2.
Machines virtuelles VMware Linux et Windows* préinstallées.