Skip to content

Resolve "Fragmentation Commentaires et proprification"

Closes #52 (closed)

  • proprification (plus de double*, suppression de code mort, simplification)
  • commentaires
  • clang-tidy dans la mesure du raisonnable tout particulièrement l'explosion de deux méthodes en plus petites censées améliorer la lecture ; certaines lourdeurs visuelles sont en partie liées ;
  • une premiere approche du #48 avec un FormFactorRadius correspondant à l'équivalent volumique par une sphère du fragment
  • déclinaison de EdgeExtrat en ExtractType : NO, EDGE, ALL
  • prise en compte du "masque" ghost cells
  • prune plus rapidement en fonction du masque ou encore en ignorant de travailler en cellule centrale sur les ghost cells qui sont indispensable pour le mode ExtractType = EXTRAT_EDGE_FRAGMENT
  • le centre d'un fragment ne dépend plus du type d'extraction
  • si l'on définit une masse, le centre du fragment est défini suivant le barycentre
  • ajout de nouveaux champs centre moyen et barycentre

Remarques pour une mutualisation

  • ajout de string_format en attendant un passage en C++20
  • ajout de méthodes afin d'enrichir les opérations sur un std::array<double, 3>

Remarques sur une piste d'amélioration dans le cadre de cette MR ou en dehors

  • méthodes de sauvegarde un champ scalaire ou vectorielle suivant différents modes en PointField et/ou CellField sur vtkPolyData définissant des points (centers) ou des maillages de points : le code semble proche tout en étant suffisemment lointain pour limier la mutualisation "simple" (à l'origine, une partie était définie à travers une macro)

Un TODO persiste dans le code concernant un problème relatif à l'affichage des FieldData (alors qu'une exploration démontre bien la validité des champs). En l'état, je laisse ainsi. Dans le cadre d'une autre Issue, je propose de remplacer les FieldData par des CellData exploitant les tableaux virtuelles implicites.

Pour finir, idéalement, ce serait bien d'ajouter une exploitation du barycentre et du FormFactorRadius à travers un filtre Python qui afficherait ainsi, suivant une résolution de Sphère choisie, la simplification de ces fragments suivant cette (première) représentation simplifiée.

Merge request reports