Rien

- Essai d'optimisation :
- ajout de __forceinline dans oeGlobal.h
- ajout de inline dans oeVect3.h
- Scripts python:
- Modification de toolbox.create.createCube pour pouvoir utiliser le mailleur DensityMesher1D. Il suffit pour cela de passer des fonctions de densité nx, ny, nz à la place des entiers correspondants. Comme les variables de python sont typées dynamiquement, c'est possible. Regardez le code si ça vous paraît obscur.
- Optimisation ALE (merci Quantify):
- optimisation du LastStepReZoner: le code est moche mais ça va beaucoup plus vite.
- optimisation de NewSplineSurface: j'ai donné un meilleur prédicteur de taille de table de hachage.
- ajout de la directive __forceinline pour les fonctions inline (VC6 ne le fait pas par défaut). A ce propos, il faudrait, pour bien faire, regarder en détail les fonctions à inliner et rationaliser l'utilisation des .inl... Autre truc: les fonctions membres de Vect2/Vect3 ne s'inlineront pas tant que les .inl ne sont pas créés (par OE ou par nous)! Pour tester, j'ai ajouter des "inline" dans Vect3 (uniquement).
- suppression de nombreux new/delete dans l'assemblage des mailles.
- GeometryBuilder est maintenant responsable de sa géométrie locale (LocalGeometry). En particulier, c'est lui qui doit la détruire.
- Geometry conserve le dernier GeometryBuilder utilisé (pour éviter de le créer s'il est de même type)
- GeometryBuilder peut se réinitialiser pour plusieurs utilisations successives. Dans ce cas, sa topologie interne n'est pas détruite mais simplement réduite à 0.
-
- AU TOTAL: un gain de 3% sur l'ensemble de la batterie (sur PC).
- Suppression de quelques get_properties(POINTSET_PO, CURVESET_PO, ...) au profit de getPointSet(), getCurveSet(), ... C'est beaucoup plus propre (ça enlève un beau paquet de casts et c'est plus rapide).
- TimeIntegration et dérivées manipulent maintenant un MetaDomain (au lieu du Domain).
Fichiers ajoutés:
mtKernel/Configuration.inl
mtKernel/Dimension.inl
mtGeo/mtGeoOrientedPoint.*