Seite 1 von 1

VTK Objekte unterschiedlichen Zeitpunkten

Verfasst: Dienstag 13. September 2016, 15:47
von That_Guy
Hallo,

vielleicht könnt ihr mir bei einer einfachen Sache helfen und zwar möchte ich mittel der VTK Bibliothek mehrere Objekte erstellen, die zu unterschiedlichen Zeitpunkten dargestellt werden sollen.
Hier im Beispiel einfach nur 2 Quader. Das erste Quader soll gleich am Anfang dargestllt werden, dass zweite Quader dann mit einer Zeitverzögerung.
Die Verzögerung hier im Programm ist nicht sinnvoll, da die Quader eh erst in der rendering loop dargestellt werden aber das war meine erste Idee.

Ich wäre für jeden Tipp dankbar.

Code: Alles auswählen

from vtk.qt4.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
from time import sleep


import vtk


renderer = vtk.vtkRenderer()
renderer.SetBackground(1, 1, 1)

quader2Source = vtk.vtkCubeSource()
quader2Source.SetXLength(1)
quader2Source.SetYLength(1)
quader2Source.SetZLength(0.1)



quader2 = vtk.vtkActor()
quader2Mapper = vtk.vtkPolyDataMapper()
quader2Mapper.SetInputConnection(quader2Source.GetOutputPort())
quader2.SetMapper(quader2Mapper)

quader2.GetProperty().SetColor(0, 0, 0)
quader2.SetPosition(0,0,0)



quader3 = vtk.vtkActor()
quader3.SetMapper(quader2Mapper)
quader3.GetProperty().SetColor(1, 0, 0)
quader3.SetPosition(1,1,0)



render_window = vtk.vtkRenderWindow()
render_window.SetSize(1000, 1000)
render_window.AddRenderer(renderer)


renderer.AddActor(quader2)
sleep(2)
renderer.AddActor(quader3)

# Create an interactor
interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(render_window)
# rendering loop
interactor.Initialize()
render_window.Render()
interactor.Start()

Re: VTK Objekte unterschiedlichen Zeitpunkten

Verfasst: Dienstag 13. September 2016, 16:23
von BlackJack
@That_Guy: Du müsstest wahrscheinlich einen Timer erstellen und dafür eine Rückruffunktion registrieren die dann den zweiten Quarder erstellt.

Re: VTK Objekte unterschiedlichen Zeitpunkten

Verfasst: Dienstag 13. September 2016, 16:42
von That_Guy
Danke für den Hinweis und das Editieren.
Ich melde mich gleich morgen noch mal.