référence de classe
https://vtk.org/doc/nightly/html/classvtkXMLUnstructuredGridReader.html
Si vous ne disposez pas de la fonctionnalité souhaitée, vous pouvez également rechercher la classe parent vtkXMLUnstructuredDataReader
.
En utilisant vtkXMLUnstructuredGridReader
, vous pouvez lire les fichiers au format vtm
avec la bibliothèque vtk.
Cette fois, nous allons créer un fichier vtu en utilisant le résultat d'OpenFOAM
terminal
$ git clone https://github.com/matsubaraDaisuke/vtk-data-set.git
$ cd openfoam_case
$ foamTovkt -ascii
VTK
est créé directement sous ʻopenfoam_case, et un dossier est créé à chaque sortie de ʻOpenFOAM
. Le fichier vtm
se trouve dans ce dossier.
import vtk
# reader
reader = vtk.vtkXMLUnstructuredGridReader ()
reader.SetFileName("VTK/src_283/internal.vtu"); #chemin du fichier vtu
reader.Update()
# filter
filter = vtk.vtkGeometryFilter()
filter.SetInputConnection(reader.GetOutputPort())
filter.Update()
# mapper
mapper = vtk.vtkCompositePolyDataMapper2()
mapper.SetInputConnection(filter.GetOutputPort()) #Définir le filtre dans le mappeur
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper) #Définir le mappeur pour l'acteur
actor.GetProperty().EdgeVisibilityOn()
# renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(actor) #Définir l'acteur dans le moteur de rendu
##Réglage de la couleur d'arrière-plan
renderer.GradientBackgroundOn() #Définir un arrière-plan dégradé
renderer.SetBackground2(0.2,0.4,0.6) #Top couleur
renderer.SetBackground(1,1,1) #Couleur du bas
#Window
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer) #Définir le rendu dans la fenêtre
iren = vtk.vtkRenderWindowInteractor();
iren.SetRenderWindow(renWin);
renWin.SetSize(850, 850)
renWin.Render()
iren.Start();
Vous pouvez voir les informations avec l'impression
print(reader)
>>
vtkXMLUnstructuredGridReader (0x7ff031cf9b50)
Debug: Off
Modified Time: 9623
Reference Count: 2
Registered Events: (none)
Executive: 0x7ff031cf3c90
ErrorCode: Undefined error: 0
Information: 0x7ff031ce3700
AbortExecute: Off
Progress: 1
Progress Text: (None)
FileName: VTK/src_283/internal.vtu
CellDataArraySelection: 0x7ff031ce3b20
PointDataArraySelection: 0x7ff031cef0e0
ColumnArraySelection: 0x7ff031cef0e0
Stream: (none)
TimeStep:0
NumberOfTimeSteps:0
TimeStepRange:(0,0)
Il est en fait implémenté dans vtkXMLUnstructuredDataReader
.
GetNumberOfPoints Nombre de pièces? Avoir
reader.GetNumberOfPoints()
>> 1
GetNumberOfCells Obtenez le nombre de cellules
reader.GetNumberOfCells ()
>> 12225
GetNumberOfPoints Obtenez le nombre de nœuds
GetNumberOfPoints
>> 25012