Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2008:01_10

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

commit/2008/01_10.txt · Last modified: 2016/03/30 15:23 (external edit)