MEPP
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

MEPP PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

MEPP. 3D MEsh Processing Platform. MEPP : MEsh Processing Platform. Présentation Plateforme Objectifs Historique & réalisation Librairie CGAL Présentation Noyau, polyèdre Polyèdre enrichi Développement composant Déploiement environnement dév. (Windows & Linux)

Download Presentation

MEPP

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Mepp

MEPP

3D MEsh Processing Platform

Martial TOLA - 03/02/2009


Mepp mesh processing platform

MEPP : MEsh Processing Platform

  • Présentation

    • Plateforme

    • Objectifs

    • Historique & réalisation

  • Librairie CGAL

    • Présentation

    • 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


Pr sentation plateforme

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


    Pr sentation plateforme1

    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


    Pr sentation objectifs

    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


    Pr sentation historique r alisation

    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


    Pr sentation historique r alisation1

    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


    Pr sentation historique r alisation2

    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


    Librairie cgal pr sentation

    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


    Librairie cgal noyau poly dre

    Librairie CGAL : noyau, polyèdre

    • 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.

    MEPP - 03/02/2009


    Librairie cgal poly dre enrichi

    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


    D veloppement composant d ploiement environnement d v

    Développement composant : déploiement environnement dév.

    • 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.

      1 pour Linux.

      2 pour Windows.

      * pb licence.

    MEPP - 03/02/2009


    D veloppement composant cr ation composant cgal

    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


    D veloppement composant cr ation composant ihm

    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


    D monstration utilisation

    Démonstration/utilisation

    MEPP - 03/02/2009


    Orientations futures

    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


  • Login