Table of Contents

Commit 2007-11-29

Modifs

FAC

Nouvelles streams

A améliorer:

Création dynamique d'objets

Le but est de pouvoir à terme charger des ensembles dont la taille peut varier. Par exemple, charger un ensemble de 100 éléments “sur” un ensemble de 500 éléments. La différence pouvant provenir par exemple d'un remaillage ou d'une désactivation par critère de rupture.

Pour tester une méthode, j'ai travaillé sur OptionSet et Option (c'est plus simple que ElementSet et Element). Ces options sont par exemple utilisées dans la visu et sont sauvées dans le fichier vizwin.conf. Ca donne ceci:

<?xml version="1.0"?>
<Archive> 
  <head> 
    <version> 
      13 
      </version> 
    </head> 
  <VTKManager> 
    <OptionSet> 
      137 
      <BoolOption> 
        VO_AMBIENTLIGHT 1 </BoolOption> 
      <FloatOption> 
        VO_AMBIENTLIGHTINTENSITY 0.33 </FloatOption> 
      <BoolOption> 
        VO_AUTOSCALEVECTORS 0 </BoolOption> 
      <BoolOption> 
        VO_AXES 0 </BoolOption> 
      <BoolOption> 
        VO_AXESCLOSESTTRIAD 0 </BoolOption> 
      <FloatOption> 
        VO_AXESFONTSIZE 1 </FloatOption> 
      <IntOption> 
        VO_AXESNUMBEROFLABELS 5 </IntOption> 
      <BoolOption> 
        VO_AXESSCALING 0 </BoolOption> 
...

La difficulté est qu'on ne connait pas le type des options lorsqu'on charge l'ensemble des options. Il n'est donc pas possible de boucler sur les options actuelles et d'appeler une fonction virtuelle du genre load. En effet le nombre d'option peut avoir changé ou elles peuvent être rangées dans un autre ordre.

Pour s'en sortir, il faut donc charger le type de l'option, créer une option du bon type et lui demander qu'elle se charge. En résumé, il s'agit de créer dans la classe Option un constructeur virtuel à partir d'un objet Archive. La méthode est expliquée sur le net à cette adresse. Elle est très similaire à ce qu'Igor à fait pour les éléments, les matériaux, etc.

Ce type de méthode sera intégré prochainement aux identificateurs d'éléments (qui servent déjà à initialiser et construire les éléments finis) pour permettre d'ajouter et supprimer des éléments.

Correction bugs

Nettoyage 64 bits

Nettoyage

Licence

Fichiers ajoutés/supprimés

mtGlobal/RuntimeError.cpp	added (+)
mtKernel/CPULimitedLicense.cpp	added
mtKernel/MACAddress.cpp	added
mtKernel/MACLimitedLicense.cpp	added
mtKernel/SizeOfSetLimitedLicense.cpp	added
mtKernel/TimeLimitedLicense.cpp	added
mtGlobal/RuntimeError.h	added (+)
mtKernel/CPULimitedLicense.h	added
mtKernel/MACAddress.h	added
mtKernel/MACLimitedLicense.h	added
mtKernel/SizeOfSetLimitedLicense.h	added
mtKernel/TimeLimitedLicense.h	added
toolbox/clean_splash.py	added
clean.pyw	added (+)
mtGlobal/MetaError.cpp	deleted
mtGlobal/MetaError.h	deleted
clean.py	deleted

Romain BOMAN 2007/11/29 10:40