Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2006:05_18b

Commit 2006-05-18

Modifs

  • Nettoyage partiel de la vizu (à suivre)
    • Extension des classes de visualisation de la géométrie (SkinCloud et SolidCloud) pour visualiser un maillage. Puisque j'ai décidé de garder la séparation de la visualisation surfacique (basée sur un vtkPolyData) et volumique (basée sur un vtkUnstructuredGrid), j'ai dû créer deux nouvelles classes intermédiaires: Element2DCloud dérive de SkinCloud et est capable de gérer les groupes d'éléments de type “surface”, Element3DCloud dérive de SolidCloud et est capable de gérer les groupes d'éléments de type “volume”. De ces deux classes dérive ElementCloud, classe de base de visualisation mixte “surface”, “volume”. De cette classe dérivent les Drawables voulus: ElementDrawable (visu d'un seul élément!), ElementSetDrawable (visu d'un ElementSet particulier), InteractionDrawable (visu d'une interaction) et InteractionSetDrawable (visu de toutes les interactions – c'est ce que Metafor affiche par défaut).
    • Possibilité de visualiser un champ scalaire provenant de l'élément (de type InternalField), lissé aux noeuds.
  • Avantages sur l'ancienne visu
    • L' InteractionSet n'est plus géré comme un ensemble discontinu d' Interactions.
    • Si on affiche un seul hexahèdre, seuls 8 points sont alloués (et non pas positset.size() comme auparavant!)
    • Tout le code pouvant être partagé avec la visu du maillage l'est.
    • Certains cas test qui ne passaient pas avec la visu sur PC peuvent maintenant être visualisés! (c'est le cas des tests de planage de Federico)
  • Inconvénients
    • Le mapping entre les points/noeuds Metafor et les points VTK pourrait être optimisé. C'est (ou plutôt “ça devrait être” parce que je ne remarque rien) donc plus lent qu'avant.
    • Le découplage “surfaces”/“volumes” entraîne qq couper/coller et une structure à héritage multiple au niveau de ElementCloud.

Fichiers ajoutés/supprimés

A mtDrawables/Element2DCloud.cpp
A mtDrawables/Element2DCloud.h
A mtDrawables/Element3DCloud.cpp
A mtDrawables/Element3DCloud.h
A mtDrawables/ElementCloud.cpp
A mtDrawables/ElementCloud.h
A mtDrawables/GaussPoints.cpp
A mtDrawables/GaussPoints.h
R mtDrawables/NumberedObjectSetDrawable.h
R mtDrawables/NumberedObjectSetDrawable.inl
R mtDrawables/VizMesh.cpp
R mtDrawables/VizMesh.h
A mtDrawables/WithGaussPoints.cpp
A mtDrawables/WithGaussPoints.h

Romain BOMAN 2006/05/18 15:48

commit/2006/05_18b.txt · Last modified: 2016/03/30 15:23 (external edit)