#!/bin/sh # #Beispiel für die Verwendung von VTK 3.2, #Author C. Zerbst email:zerbst@tu-harburg.de # #Starten der erweiterten Shell\ exec vtk "$0" "$@" #Einlesen der Daten vtkStructuredPointsReader reader reader SetFileName "press01" reader SetScalarsName "pressure" #Erzeugen einer Oberfläche bei einem Wert von 1.0 vtkMarchingCubes iso iso SetInput [reader GetOutput] iso SetValue 0 1.0 #Bildet das Model auf graphische Primitive ab vtkPolyDataMapper isoMapper isoMapper SetInput [iso GetOutput] isoMapper ScalarVisibilityOff # Der Aktor vtkActor isoActor isoActor SetMapper isoMapper #Färbt die Oberfläche seegrün set isoProp [isoActor GetProperty] $isoProp SetColor 0.1255 0.6980 0.6667 ;# X11 Farbe $sea_green_light $isoProp SetAmbient 0.4 # Das gleiche für eine zweite Fläche vtkMarchingCubes iso2 iso2 SetInput [reader GetOutput] iso2 SetValue 0 150 vtkPolyDataMapper isoMapper2 isoMapper2 SetInput [iso2 GetOutput] isoMapper2 ScalarVisibilityOff vtkActor isoActor2 isoActor2 SetMapper isoMapper2 set isoProp2 [isoActor2 GetProperty] $isoProp2 SetColor 0.5294 0.8078 0.9804 ;# X11 Farbe sky_blue_light $isoProp2 SetAmbient 0.2 #Die Box um das berechnete Gebiet vtkOutlineFilter outline outline SetInput [reader GetOutput] vtkPolyDataMapper outlineMapper outlineMapper SetInput [outline GetOutput] vtkActor outlineActor outlineActor SetMapper outlineMapper set outlineProp [outlineActor GetProperty] eval $outlineProp SetColor 0 0 0 # Erzeugen des Renderes und des Fensters vtkRenderer ren1 vtkRenderWindow renWin renWin AddRenderer ren1 vtkRenderWindowInteractor iren iren SetRenderWindow renWin #Die Actoren werde an den Rendere gehängt etc. ren1 AddActor outlineActor ren1 AddActor isoActor ren1 AddActor isoActor2 ren1 SetBackground 1 1 1 renWin SetSize 600 480 #Die Kamera wird eingestellt set cam1 [ren1 GetActiveCamera] $cam1 Elevation 70 $cam1 SetViewUp 0 0 1 $cam1 Zoom 1.7 #Die Animation wird gestartet for {set j 0 } {$j < 20} {incr j} { for {set i 1} {$i < 20} {incr i} { eval reader SetFileName "press[format "%02i" $i]" renWin Render renWin SetFileName "press[format "%02i" $i].ppm" renWin SaveImageAsPPM } } # prevent the tk window from showing up then start the event loop wm withdraw .