July 12, 2002  
 

Rien

 

Modifications

Infos pour le développeur

J'ai introduit une classe Io_Object qui définit l'interface de sauvegarde d'un objet ainsi que des utilitaires. Cette classe pourrait être placée dans oofelie mais on risque d'avoir des problèmes de conflits lors de l'industrialisation d'oofelie par open engineering (cette tâche est une tâche d'industrialisation). Pour cette raison, la classe Io_Object fonctionne de deux manières distinctes) :

A côté de ces objets de sauvegarde (soit séparés, soit intégrés), j'ai défini une classe MetaFac (qui, elle, est spécifique à Metafor). Cet objet se charge de créer et d'appeler les bons objets de sauvegarde.

J'ai fait les choix suivants pour le fac "metafor sous oofelie":

Pour l'utilisateur

MetaFac myfac(domain);
myfac.save(10);

myfac.save(20); # charge le fac numero 20
myfac.load_first(); # charge le premier step
myfac.load_last(); # charge le dernier step
myfac.load_next(); # charge le step suivant

myfac.ascii();
myfac.binary();
myfac.zipped();
myfac.unzipped();

bfac2tfac(domain); # conversion binaire vers ascii
tfac2bfac(domain); # conversion ascii vers binaire
bfac2zfac(domain); # conversion binaire vers fac z-mesh
makeanim(domain); # fait une anim à partir de facs binaires

loadbfac(domain,10); # charge le fac numéro 10
vizu(domain); # visualise le domaine avec des options par défaut

Comparaison sur cas-test

meta_qs(elbow_modif4b)

maillage : 6374 noeuds - 1800 mailles - 31 archivages

TYPE
TAILLE FICHIERS
TAILLE TOTALE
tfac 3677Ko x 31 111 Mo
bfac 1760Ko x 31 53.3 Mo
bfac.gz 1070Ko x 30 + 2Ko x 1 31.2 Mo
zfac 229 Mo x 1 229 Mo

Pour info, j'ai pas réussi à créer un fac bacon avec le zfac provenant d'oofelie.

Je propose de virer définitivement l'écriture du zfac vu que :

Compilation

Pour compiler avec zlib, ça devrait marcher automatiquement sans rien faire vu que VTK inclut zlib. J'ai cependant pas réussi à linker en release (DLL) directement - le truc c'est de compiler avec les macros _WINDOWS et ZLIB_DLL les fichiers qui utilisent la zlib ; c-à-d io_object.cpp et io_lock.cpp.

Dans oofelie, le flag de compilation avec/sans zlib est _WITH_ZLIB_ et il est actif automatiquement si on met _WITH_VTK_ (voir fichier meta_global.h)

Reste à faire

Changer le mo.zfac en vrai_nom_du_cas_test.zfac (faisable grâce à Domain::get_username()).

 

 

Back to Metafor web server
created :July 11, 2002   modified : July 12, 2002
contact : r_boman_AT_yahoo.fr