Rien

- Nouvelle interface de streams : vu que nous avons accès aux nouvelles streams, j'ai relu le chapitre 21 de Stroustrup pour mettre en place une interface streams virtuelle pour nos objets. Cette interface va permettre d'étendre (et donc de remplacer progressivement) la fonction pathétique print(). Grâce aux streams, nous pouvons écrire nos objets dans un fichier, dans la sortie standard (la console) ou dans python (à travers une string) de manière identique !! La toute première application de cette interface est la fonction "print" python qui fonctionne pour tous nos objets. Par exemple "domain = MetaDomain() ; print domain" fonctionne très bien (l'ancienne fonction "domain.output()" sera bientôt supprimée). Une autre application est la redirection de l'output vers une fenêtre Qt (s'il y a un volontaire...) ou vers un fichier de log.
- Suppression de Vararray de MaterialSet, TypeStr, Analysis, PropElemSet, DBSet, DBSet3, DofSet, PositionSet, Partition au profit de std::vector. Les index sont toujours shiftés pour la plupart de ces tableaux. La difficultés résidait dans le fait qu'on peut indexer un Vararray au delà de ses limites (il grandit alors tout seul). La plupart de ces sets seront convertis en NumberedObjectSet très bientôt.
- Suppression de oeTools.
- Utilisation de MaterialID au lieu du int pour identifier un matériau lors de sa création. Modification de python en conséquence.
- Material dérive à nouveau de PhySet.
- Suppression des passages d'arguments par référence du type "const double &" et "const int &" par des passages par valeur (plus clair et recommendé). Suppression des arguments ou ret val "const double" et "const int" (?).
- Suppression des constructeurs par copie à partir de pointeurs de Matr2, Matr3 , OneParameterFunction, etc. ceci permettait par exemple d'additionner un pointer de Vect3 avec un Vect3. Grâce à la suppression de ce constructeur, j'ai trouvé un bug dans l'ALE : Vect3 n[4], d; for(i=0;i<4;++i) d+=n; (normalement d+=n[i]). Vive les conversion implicites d'Igor!
- Suppression de constructeurs/destructeurs inutiles (OneParameterFunction, PieceWiseLinearFunction, etc)
- Suppression des to_matlab.
- Suppression des c_str() dans les opérations de flux.
- Modification de type char* => std::string dans Set.
- Suppression des std::flush suivant std::endl (endl contient flush)
TODO List (mise à jour):
- ajouter des "const"
- spitter l'accès à la DB et l'accès aux PhySets
- réduire le nombre de PhySets au minimum.
- modifier les noms de fonctions pour respecter les règles.
- supprimer les fonctions membres inutiles.
- nettoyer les Blas (Lapack?)
- enlever les includes inutiles.
- utiliser les GETSETMACROs (cfr Connexion12)
- ajouter les "ifndef SWIG" (dans Matrix p expl)
- virer Element::getExistence
- Virer les Locks exotiques
- Changer les struct (UnionLock, etc) en classes
- Virer PositionSet au profit de Set3(TX|AB)
- Conversion Vect2 <-> Vect3 explicites
- Conversion UnionLock explicites
Fichiers ajoutés/supprimés :
R oeMTK/oeOneParameterFunction.inl
R oeMTK/oePieceWiseLinearFunction.inl
R oeTools/oeVararray.h
R oeTools/oeVararray.inl
- Suppression de Vararray de MaterialLawSet, LoadAdaptationManager au profit de std::vector.
- Suppression de MetaPhySet (cette implémentation est maintenant celle de PhySet).
- Suppression de MetaDofSet (le destructeur a été placé dans le DofSet d'Oofelie).
- Suppression de MetaPositionSet (le destructeur a été placé dans le PositionSet d'Oofelie et PositionSet dérive maintenant de WithDrawable).
- Suppression de MetaElementSet (le destructeur a été placé dans le ElementSet d'Oofelie et ElementSet dérive maintenant de WithDrawable).
- Suppression de MetaStep (toutes les fonctionnalités sont "descendues" dans Step).
- Suppression de MetaSet3 et MetaSet.
- MetaFixationSet est renommé en FixationSet (on utilise pas celui d'Oofelie et il a été viré)
- Suppression de MetaMaterialSet (le destructeur a été placé dans le MaterialSet d'Oofelie).
- Utilisation de MaterialLawID au lieu du int pour identifier un matériau lors de sa création. Modification de python en conséquence.
Unification de _WITH_VTK_ et _WITH_QT_ en une seule macro _WITH_GUI_. Changez votre projet
./build --with-vtk --with-qt devient ./build --with-gui.
ATTENTION : Ne pas oublier les comandes de custom-Build (génération des _wrap.cpp à partir des .I dans mtPython).
- Améliorations version "student":
- NumberedObjectSet::copy() vérifie si un objet de même numéro n'existe pas déjà (si oui => fatal error).
- GeoObject::tryToassignAllPtr() déclanche une erreur si les composants ne sont pas trouvés.
Fichiers ajoutés/supprimés :
A mtKernel/FixationSet.cpp
A mtKernel/FixationSet.h
R mtKernel/MetaDofSet.cpp
R mtKernel/MetaDofSet.h
R mtKernel/MetaElementSet.cpp
R mtKernel/MetaElementSet.h
R mtKernel/MetaFixationSet.cpp
R mtKernel/MetaFixationSet.h
R mtKernel/MetaPhySet.cpp
R mtKernel/MetaPhySet.h
R mtKernel/MetaPositionSet.cpp
R mtKernel/MetaPositionSet.h
R mtKernel/MetaSet.cpp
R mtKernel/MetaSet.h
R mtKernel/MetaSet3.cpp
R mtKernel/MetaSet3.h
R mtKernel/MetaStep.cpp
R mtKernel/MetaStep.h
R mtMaterials/MetaMaterialSet.cpp
R mtMaterials/MetaMaterialSet.h