====== Commit 2007-08-03 ======
===== Modifs =====
==== Inversion Domain <=> Metafor ====
Pour permettre une meilleure répartition des objets dans Metafor et rendre certains plus génériques, j'ai modifié la dépendance entre ''Domain'' et l'analyse ''Metafor''.
**Avant**, __l'idée principale est de créer un ''Domain''__ et de lui faire créer une analyse Metafor par un ''domain.setAnalysis''. Conséquence directe: le ''Domain'' dépend explicitement de ''Metafor''. Il n'est donc pas concevable de créer un ''Domain'' pour un autre type d'analyse (élasticité linéaire pour les X-FEM, 'lubri' pour la future lubri, etc). De plus, d'un point de vue informatique, ''Domain'' (un conteneur d'objets génériques) est lié à la même lib que ''Metafor'' (un conteneur d'objets très spécialisés).
**Plus tard**, __l'idée principale est de créer une analyse (''Metafor'' pour l'instant)__. Je compte donc séparer ''Domain'' et ''Metafor'' pour que l'analyse Metafor soit un choix parmi d'autres. On peut donc conserver uniquement un lien de type ''Analysis'' entre le ''Domain'' et ''Metafor''.
Pour ce commit, j'ai fait une première étape qui consiste à changer dans tous les cas-tests la manière dont est créé le ''Domain''. Le jeu de données (module python) contient un objet prioncipal qui est ''metafor'' et le domaine est accédé par un ''metafor.getDomain()'' mais n'a plus besoin d'être une variable globale du module. C'est ''metafor'' qui maintenant est récupéré par la routine ''meta'' via un ''module.getMetafor(p)'' qui remplace le ''module.getDomain(p)'' où ''p'' sont les paramètres.
===En résumé===
Avant:
domain=Domain()
domain.setAnalysis(METAFOR_ID)
metafor=domain.getMetafor()
Maintenant:
metafor=Metafor()
domain=metafor.getDomain()
=== Créer un test "à la Luc" ===
Je vous conseille cette nouvelle méthode (nombreuses variantes possibles):
metafor=None
def getMetafor(p={}):
global metafor
if not buildMetafor(p)
return metafor
def parms(p={}):
d = {}
d['L'] = 400. # valeur par defaut
d.update(p)
return d
def buildMetafor(p={}):
global metafor
p = parms(p)
metafor = Metafor()
domain = metafor.getDomain()
...
==== Amélioration battery.py ====
Vu que j'ai du modifier tous les cas-tests, j'ai essayé d'améliorer ''battery.py'' (le script de batterie) pour me faciliter la tâche.
* Possibilité d'utiliser des wildcards sous DOS: "''battery clean apps\complex\shape*''" par exemple.
* Ajout d'un javascript qui permet, sous Windows, de voir et éditer directement les fichiers d'un test qui merdouille à partir de la page HTML de diff. Pour rappel, celle-ci peut être créée (''dans apps\verif'') par un ''battery.py diff'' après avoir lancé la batterie.
===== Fichiers ajoutés/supprimés ======
--- //[[r_boman@yahoo.fr|Romain BOMAN]] 2007/08/03 09:23//