===== Commit 2015-05-22 ===== IF/DbGeoPointValueExtractor ===== IF/DbGeoPointValueExtractor ===== * GeoPointValueExtractors : * extracteurs de valeurs sur base d'une liste de points (fonctionnalité du même ordre que ''GeoPtValueExtractor'' : à nettoyer à terme) * consiste à retrouver l'élément contenant le point géométrique & les coordonnées réduites dans celui-ci (=> définition d'un IntegrationPoint pour calculer l'interpolation au sein de l'élément) * Extractions de valeurs de la base de données (''DbGeoPointValueExtractor'') ou InternalField (''IFGeoPointValueExtractor'') * Extraction Lagrangienne (le point bouge avec la matière : 1 seule détection) ou Eulérienne (la position du point n'est pas liée à la matière mais pourrait évoluer avec un déplacement imposé) * Réglage de la tolérance sur la détection (un point légèrement en dehors de la matière peut quand même trouver une projection liée à un élément (dans ce cas, on extrapole les valeurs : Attention à l'analyse des résultats) * En lagrangien, pour la visu, les points se déplacement avec la matière * Différence avec GeoPtValueExtractor : la première projection dans un élément est la bonne (en cas de point sur ou proche d'un noeud, pas de traitement particulier) * Une classe générique virtuelle gérant les aspects géométrique de la détection est définie ''GeoPointValueExtractor'' * deux classes dérivées gèrent l'extraction proprement dite des valeurs selon que ce sont des Db ou IF ===== Naming des ValueExtractor ===== * profitant de travailler sur les ''ValueExtractor'', j'ai corrigé le naming des classes (pour coller à la règle de syntaxe de programmation qui dit que la spécification de la classe dérivée ''IF'' est écrite devant le nom de la classe mère ''GeoPointValueExtractor'') * Les classes suivantes ont été renommées : * DbValueExtractor -> DbNodalValueExtractor * NodalInternalFieldValueExtractor -> IFNodalValueExtractor * Et par soucis d'uniformité : * ElementInternalFieldValueExtractor -> IFElementValueExtractor * GaussPointInternalFieldValueExtractor -> IFGaussPointValueExtractor * Ajout de ''void Element::fillNodalDbValues(const Field &field, std::vector &vals)'' * Ajout d'une couche non template aux Smooth Fields Integration Points : ''SfIntegrationPoint'' pour faire des ''std::vectors< SfIntegrationPoint *>'' (honte sur moi, étant purement virtuelle, je l'ai laissée dans le fichier ''SfIntegrationPointTemplate.h''). TOUS Les cas tests de oo_meta & oo_nda ont été modifiés (batterie & hors batterie) à l'aide de powergrep. J'ai commité le fichier de la séquence dans le répertoire "oo_meta/grepSequences/from2263To2266_ValuesExtractors.pgsa". Une pratique qu'il faudrait généraliser et améliorer (si qqn a des idées...). IMPORTANT : Updatez votre [[devel:svnconfig|configuration SVN]] en ajoutant la ligne suivante dans le fichier ''serveur'' : *.pgsa = svn:eol-style=native;svn:keywords=Id;svn:mime-type=text/plain ===== Divers ===== * suppression d'un warning dans ''oo_meta/mtGlobal/mtMD5.cpp'' * Ajout de tests sur la modification du mailleur extrusion (fonction de translation ou de rotation) ===== Fichiers ajoutés/supprimés ===== A : oo_meta\grepSequences\from2263To2266_ValuesExtractors.gpsa A : oo_meta\mtFEM\extractors\GeoPointValueExtractor.h/cpp A : oo_meta\mtFEM\extractors\DbGeoPointValueExtractor.h/cpp A : oo_meta\mtFEM\extractors\IFGeoPointValueExtractor.h/cpp Renamed : oo_meta\mtFEM\extractors\DbValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\DbNodalValueExtractor.h/cpp Renamed : oo_meta\mtFEM\extractors\NodalInternalFieldValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\IFNodalValueExtractor.h/cpp Renamed : oo_meta\mtFEM\extractors\ElementInternalFieldValueExtractorh/cpp -> oo_meta\mtFEM\extractors\IFElementValueExtractor.h/cpp Renamed : oo_meta\mtFEM\extractors\GaussPointInternalFieldValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\IFGaussPointValueExtractor.h/cpp ===== Tests ajoutés/supprimés ===== A : oo_meta\apps\qs\cont2GeoPtExtractor.py A : oo_meta\apps\qs\contactRuledGeoPtExtractor.py A : oo_meta\apps\qs\extruMesher3dTx.py A : oo_meta\apps\qs\extruMesher3dTy.py A : oo_meta\apps\qs\extruMesher3dTorsion.py A : oo_meta\apps\qs\extruMesher3dTxTyRz.py --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2015/05/22 //