MEPP
Download
1 / 16

MEPP - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' MEPP' - moswen


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

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


    ad