wiki:defProject

Définition du projet

But du projet : permettre d'ajouter de la sémantique aux objets graphiques sous Blender et d'exporter ces définitions en format XML pour VEHA.

Exigences fonctionnelles

Le plugin doit permettre :

*de s'intégrer facilement à Blender *importer et exporter un environnement complet ou partiel dans un format compatible avec VEHA *accéder et modifier la sémantique d'un objet *importer les propriétés d'un objet à partir de diagramme UML réalisé sous Objecteering

Cahier des charges

Le plugin doit:

  • être écrit en Python
    • en programmation orientée objets
    • les fonctions de manipulation de base seront séparées de l'interface graphique (pour faciliter la maintenance et l'évolutivité)
  • importer le diagramme de classes sous format XMI
    • permettre une mise à jour de ce diagramme dans un projet déjà créé (et répercuter les changements aux propriétés des objets)
    • permettre de recréer le fichier XMI à partir de la sauvegarde blender
  • importer un environnement à partir d'un fichier d'échange en XML :
    • en repositionnant correctement les objets
    • en conservant les liens de parenté entre les objets
    • en conservant la sémantique de chaque objet
    • en conservant la forme graphique de l'objet (à partir d'un fichier VRML)
    • exporter l'environnement sous Blender sous format XML
    • conserver l'environnement complet (liens de parenté et sémantique des objets)
    • recréer le fichier graphiques (au format VRML)
    • vérifier la cohérence des propriétés des objets par rapport au diagramme de classes
  • pendant l'édition, permettre à l'utilisateur de :
    • ajouter et supprimer des objets
    • déplacer et/ou changer la forme des objets
    • modifier la sémantique des objets (nom, type et attributs)
    • manipuler les objets
      • copier la sémantique d'un objet
      • attribuer une sémantique existante à un objet physique

Suppléments possibles

  • rendre le plugin compatible avec VEHA v2 (en utilisant la bibliothèque VEHA) [réalisé]
  • permettre d'exporter les objets sous d'autre format que VRML [plugin conçu pour faciliter l'ajout de nouveaux types de fichiers graphiques]
  • vérifier la validité de l'environnement (multiplicité des attributs respectée) avant une exportation
  • gérer plusieurs environnement en même temps (sous forme de scène blender)
  • utilisation de plusieurs fichier XMI
  • permettre d'utiliser Blender comme moteur 3D