Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2006:11_21



Commit 2006-11-21

Modifs

  • Modif dépendances DLL:
    • mtFEM ne dépend plus de mtViz. La DLL graphique devient donc une couche de très haut niveau qui n'est appelée que par le main et python. Auparanvant, mtFEM dépendait de VizWin parce que Metafor ouvrait une fenêtre et jouait avec elle pendant l'intégration. J'ai remplacé ce vieux système par un système utilisant des observateurs. La classe VizWin dérive maintenant de GUIObserver (nouvelle classe de bas niveau dans mtKernel). On peut associer à Metafor une série de GUIObservers par la commande addObserver (ceci remplace l'ancienne commande addWindow. Par défaut, la fenêtre VizWin est ajoutée sous python dans toolbox.utilities à l'aide d'un simple vizu.
    • Déplacement de Command.*, CommandList.* dans mtViz. Ce sont des classes utilisées uniquement dans le cas où la visu est active et qui utilise le multithreading de Qt.
    • Création d'une classe “interpréteur python multithread” (utilisé uniquement quand on est en mode graphique) dans mtViz. Je l'ai nommé GUIPythonInterpreter.
    • Déplacement de initStaticObjects.* vers mtMain. Ca permet de supprimer la dépendance de mtPython avec mtViz et donc d'appeler l'interpréteur à partir de mtViz.
    • Conséquences:
      • presque plus de _WITH_GUI_ dans le code! (il en reste que dans mtMain et _mtViz.i, en gros).
      • un seul endroit pour configurer la fenêtre par défaut ouverte par meta/restart: toolbox.utilities.vizu (en plus, c'est du code interprété donc c'est très simple).
      • possibilité d'appeler mtFEM (objets de haut niveau tels Domain, Metafor, etc) à partir de l'interface. c'est pas encore utilisé mais ça va venir.
  • Améliorations de la console PythonWindow:
    • Ajout d'options pour la console (menu File/Options) – nouvelle classe OptionDialog. Les options sont sauvées dans la base de registre sous Windows et dans le répertoire ~/.qt/ sous Unix.
    • Ajout d'une fonction d'impression de la console (menu File/Print).
    • Ajout de la liste des VizWins disponibles (et ObjectBrowsers) dans le menu File/Windows. Grâce à ce menu, vous pouvez réouvrir une fenêtre que vous auriez fermée pour gagner de la place (et oui, le message “Don't close this Window” a été supprimé!). Cliquer pour fermer une fenêtre VizWin ne fait que la cacher.
    • Ajout d'un menu “utilities” contenant des raccourcis vers les commandes les plus utilisées:
      • meta: lancer meta en choisissant le module à la souris.
      • restart: pas encore implémenté.
      • vizu: lance vizu sur un module.
      • loadFac: charge un fac en sélectionnant le fichier à la souris
      • makeAnimation: lance le script makeAnimation.
      • import: importe un module
      • execfile: exécute un script python (utile pour charger des .t de apps.complex par exemple.
      • os.chdir: change le répertoire courant (utile également pour les .t)
      • convert:
        • STEP ⇒ py: convertit un fichier step en .py (stp2e doit être spécifié dans les options).
        • BACON ⇒ py: meme chose pour un .dat (samcef doit être spécifié dans les options).
        • NASTRAN ⇒ py: pas encore implémenté.
  • Autres:
    • Ajout d'un test dans meta et restart pour éviter qu'on ne lance 2x une intégration sans redémarrer Metafor.
    • MainVizWin devient VizWinWidget pour respecter la convention de nom des widgets Qt.

Screenshots

Sauvegarde de la config dans la base de registre

Projets

.pro:

  • changer MainVizWin.ui en VizWinWidget.ui
  • ajouter OptionDialog.ui

Visual:

  • mtPython ne dépend plus de mtViz
  • mtViz dépend de mtPython
  • mtFEM ne dépend plus de mtViz

Fichiers ajoutés/supprimés

R mtFEM/algos/Metafor_windowsInitialisation.cpp
A mtKernel/GUIObserver.cpp
A mtKernel/GUIObserver.h
A mtMain/staticObjects.cpp
A mtMain/staticObjects.h
R mtPython/staticObjects.cpp
R mtPython/staticObjects.h
R mtQt/MainVizWin.ui
R mtQt/MainVizWin.ui.h
A mtQt/OptionDialog.ui
A mtQt/OptionDialog.ui.h
A mtQt/VizWinWidget.ui
A mtQt/VizWinWidget.ui.h
A mtViz/GUIPythonInterpreter.cpp
A mtViz/GUIPythonInterpreter.h
R mtViz/StdInReader.cpp
R mtViz/StdInReader.h
A mtViz/Command.h
A mtViz/Command.cpp
A mtViz/CommandList.h
A mtViz/CommandList.cpp
R mtPython/Command.h
R mtPython/Command.cpp
R mtPython/CommandList.h
R mtPython/CommandList.cpp

Romain BOMAN 2006/11/21 09:24

commit/2006/11_21.txt · Last modified: 2016/03/30 15:23 (external edit)