===== Commit 2008-05-27 ===== * Gestion de la mémoire des matériaux & materialLaws ===== Modifs ===== * **Material & MaterialLaw dérivent dorénavant de ''NumberedObject''** * ''Material'' & ''MaterialLaw'' étaient encore & toujours des objets indexés (et non dénommés) dans leurs ''Set''s respectifs. D'où quelques désagréments : * La création d'un materiau 1001 générait 1002 entrées (vararray +1) dans le ''MaterialSet'',... * Utilisation de l'operateur '[]' alors que partout on utilise des '()' (facile à expliquer aux utilisateurs...) * Gestion interne lourde * => Unification les ''Material'' & ''MaterialLaw'' dérivent dorénavant de ''NumberedObject'' * => ''MaterialSet'' & ''MaterialLawsSet'' dérivent de ''NumberedObjectSetTemplate'' ou ''NumberedObjectSetTemplate'' * Modification de la méthode l'accès aux matériaux dans les ''ElementsShcuts'' * Ajout d'un WARNING_MESSAGE lorsque l'on redéfinit un matériau (matlaw) de numéro existant déjà & gestion propre de la destruction / reconstruction * **''LoadAdaptationManager''** * Conséquence de la modification de l'accès au matériaux * Nettoyage de la classe de toute la pseudo-modularité (possibilité théoriquement mise en avant d'appliquer le loadAdaptationManager sur plusieurs materiaux / interaction,... alors que les datas ne permettaient pas un tel usage * Celui qui a du temps à perdre peut se pencher sur le fond (il y a encore de quoi faire !!!) * **''ExtrusionMesher''** * Suppression d'un bug de gestion memoire (lastLayer->incRef()) * **''mtGlobal''** * Ajout d'une macro DEFGETSETMACRO_C_REFCOUNTED définissant une fonction set pour des objets dérivant de ''RefCounted'' * Ne peut être utilisé que sur des pointeurs * La fonction ''set'' n'est évidemment pas const !!! (vu que l'on fait var->incRef();) * Ajout indispensables de déstructeurs (->decRef()) dans les classes où cette macro est utilisée * Application de la macro dans les matériaux pour le stoquage des matLaw (et suppression des numeros jamais utilisés). ===== Tests ===== * 100% modifiés !!! : materialSet[no] => materialSet(no) ... * Suppression des "_" dans le nom des tests non "complex" : apps\monosMaterials\veReeseHHHH_1.py => apps\monosMaterials\veReeseHHHH1.py ===== Projet ===== * up to date ===== ToDo list ===== * corriger la doc * so many other things ... ===== Fichiers ajoutés/supprimés ===== A R oofelie/oeFEMBase/MaterialSet.inl --- //[[L.Papeleux@ulg.ac.be|Luc PAPELEUX]] 2008/05/27 //