Table of Contents
Commit 2008-01-10
Modifs
GUI
Suite à des nombreuses merdes que j'ai eu lors de l'utilisation de Metafor pour un projet Arcelor, j'ai corrigé et amélioré quelques trucs dans l'interface graphique:
- Fenêtre VizWin:
- ajout d'un magnifique repère de type “marker axes” (qui se configure dans BWin au niveau des “axes”). Vous verrez, c'est beau et ca fleure bon la science.
- suppression des “options metafor” dans BWin (voir plus bas).
- Fenêtre python:
- la ligne de commande est maintenant dans une dockwindow (si vous la fermez par hasard, il y a moyen de la réouvrir dans le menu “Windows”).
- les “options metafor” se retrouvent dans “File/Options”.
- les boutons “load/save/clear” de l'historique ont été placés dans un popup menu (click droit sur l'historique).
- l'historique se sauvegarde AVANT l'exécution de chaque commande (permet de récupérer la dernière commande quand Metafor plante lamentablement).
- passage d'un pointeur vers l'analyse courante “Metafor” à la fenêtre PythonWindow. Ca peut paraître très con mais c'est pas le cas vu que ce sont deux objets de threads différents. ceci permettra dans un avenir très proche d'ouvrir un object browser et le workspace automatiquement dans la fenêtre python. Pour l'instant, je ne fais qu'afficher le chemin du workspace dans la fenêtre (au dessus de l'output python).
Cas-tests "Complexes"
Pour pouvoir à terme permettre une meilleure interaction entre la GUI et python, il est indispensable que tous les cas-tests soient définis de la même manière; c'est-à-dire en respectant la règle simple: un cas-test = un module python.
Ce module peut être alors manipulé à l'aide de “module.getMetafor()
”.
Actuellement, les cas-tests de type “complex” (ceux qui utilisent des fichiers “.t”) ne respectent pas cette règle. Ce qui fait qu'on ne peut pas, par exemple accéder à l'objet “Metafor” correspondant à une deuxième phase (restart) d'un cas-test.
J'ai donc viré tous les “*.t”…
Coté batterie, j'ai dû bidouiller le truc pour que les différentes parties de cas-tests ne soient pas lancées en parallèle si on utilise “-j 2
”. Regardez apps.complex
pour voir comment ça marche.
Projet
Il faut remouliner le .pro
de mtQt
:
Les nouveaux includes: (l'interface dépend maintenant de mtFEM
et mtFEMBase
; mais c'est pour la bonne cause.
INCLUDEPATH += $$OOFE_DIR/oeFEMBase INCLUDEPATH += $$META_DIR/mtFEMBase INCLUDEPATH += $$META_DIR/mtFEM INCLUDEPATH += $$META_DIR/mtFEM/ale INCLUDEPATH += $$META_DIR/mtFEM/algos INCLUDEPATH += $$META_DIR/mtFEM/extractors
enlevez MetaforWidget.*
des sources et ajoutez HistoryTextEdit.*
Pour rappel, après remoulinage du .pro:
- dupliquer le projet pour en faire un x64 si nécessaire
- [Debug] : “Link”/“Input” : QtCore4d.lib ⇒ QtCore4.lib
- [All] : Ignore Import Library : “No” ⇒ “Yes”
Noubliez pas de remouliner les wrappers aussi.
Fichiers ajoutés/supprimés
mtQt/HistoryTextEdit.cpp added mtQt/HistoryTextEdit.h added apps/complex/aleCoin3d_1.py added apps/complex/aleCoin3d_2.py added apps/complex/aleConv_1.py added (+) apps/complex/aleConv_2.py added (+) apps/complex/c3dConsRes_1.py added (+) apps/complex/c3dConsRes_2.py added (+) apps/complex/cont5_1.py added (+) apps/complex/cont5_2.py added (+) apps/complex/contact3dDefoDefoAugLag1_1.py added (+) apps/complex/contact3dDefoDefoAugLag1_2.py added (+) apps/complex/contact3dDefoDefoAugLag1_3.py added (+) apps/complex/contact3dDefoDefoAugLag2_1.py added (+) apps/complex/contact3dDefoDefoAugLag2_2.py added (+) apps/complex/contact3dDefoDefoAugLag2_3.py added (+) apps/complex/contact3dDefoDefoAugLag3_1.py added (+) apps/complex/contact3dDefoDefoAugLag3_2.py added (+) apps/complex/contact3dDefoDefoAugLag3_3.py added (+) apps/complex/lShapePk2Diss_1.py added (+) apps/complex/lShapePk2Diss_2.py added (+) apps/complex/shape2DObjectiveFunction1_1.py added (+) apps/complex/shape2DObjectiveFunction1_2.py added (+) apps/complex/shape3DObjectiveFunction1_1.py added (+) apps/complex/shape3DObjectiveFunction1_2.py added (+) apps/complex/springback_1.py added (+) apps/complex/springback_2.py added (+) apps/complex/tay2dExpPk2_1.py added (+) apps/complex/tay2dExpPk2_2.py added (+) apps/complex/tay2dExpRes_1.py added (+) apps/complex/tay2dExpRes_2.py added (+) apps/complex/tombeBordEas2D_1.py added (+) apps/complex/tombeBordEas2D_2.py added (+) apps/complex/tombeBordEas_1.py added (+) apps/complex/tombeBordEas_2.py added (+) apps/complex/veIso2Maxwell_1.py added (+) apps/complex/veIso2Maxwell_2.py added (+) mtQt/MetaforWidget.cpp deleted mtQt/MetaforWidget.h deleted apps/complex/aleCoin3d.py deleted apps/complex/aleConv.py deleted apps/complex/c3dConsRes.py deleted apps/complex/cont5.py deleted apps/complex/contact3dDefoDefoAugLag1.py deleted apps/complex/contact3dDefoDefoAugLag2.py deleted apps/complex/contact3dDefoDefoAugLag3.py deleted apps/complex/lShapePk2Diss.py deleted apps/complex/shape2DObjectiveFunction1.py deleted apps/complex/shape3DObjectiveFunction1.py deleted apps/complex/springback.py deleted apps/complex/tay2dExpPk2.py deleted apps/complex/tay2dExpRes.py deleted apps/complex/tombeBordEas.py deleted apps/complex/tombeBordEas2D.py deleted apps/complex/veIso2Maxwell.py deleted apps/complex/aleCoin3d_001.t deleted apps/complex/aleCoin3d_002.t deleted apps/complex/aleConv_001.t deleted apps/complex/aleConv_002.t deleted apps/complex/c3dConsRes_001.t deleted apps/complex/c3dConsRes_002.t deleted apps/complex/cont5_001.t deleted apps/complex/cont5_002.t deleted apps/complex/contact3dDefoDefoAugLag1_001.t deleted apps/complex/contact3dDefoDefoAugLag1_002.t deleted apps/complex/contact3dDefoDefoAugLag1_003.t deleted apps/complex/contact3dDefoDefoAugLag2_001.t deleted apps/complex/contact3dDefoDefoAugLag2_002.t deleted apps/complex/contact3dDefoDefoAugLag2_003.t deleted apps/complex/contact3dDefoDefoAugLag3_001.t deleted apps/complex/contact3dDefoDefoAugLag3_002.t deleted apps/complex/contact3dDefoDefoAugLag3_003.t deleted apps/complex/lShapePk2Diss_001.t deleted apps/complex/lShapePk2Diss_002.t deleted apps/complex/shape2DObjectiveFunction1_001.t deleted apps/complex/shape2DObjectiveFunction1_002.t deleted apps/complex/shape3DObjectiveFunction1_001.t deleted apps/complex/shape3DObjectiveFunction1_002.t deleted apps/complex/springback_001.t deleted apps/complex/springback_002.t deleted apps/complex/tay2dExpPk2_001.t deleted apps/complex/tay2dExpPk2_002.t deleted apps/complex/tay2dExpRes_001.t deleted apps/complex/tay2dExpRes_002.t deleted apps/complex/tombeBordEas2D_001.t deleted apps/complex/tombeBordEas2D_002.t deleted apps/complex/tombeBordEas_001.t deleted apps/complex/tombeBordEas_002.t deleted apps/complex/veIso2Maxwell_001.t deleted apps/complex/veIso2Maxwell_002.t deleted mtQt/MetaforWidget.ui deleted mtViz/AxesMarker.cpp added mtViz/AxesMarker.h added
— Romain BOMAN 2008/01/10 09:31