Python 如何在VTK中暂停和重新启动动画
我正在尝试用VTK做一个动画程序,在这个程序中我可以使VTK对象动画化 但是我没有暂停动画并重新启动动画,我最近才知道要停止VTK计时器,但如果我再次单击动画按钮启动,则程序会因以下错误而崩溃,我只有一个线索,下面的一行正在崩溃,但这一行将在第一次单击动画按钮时工作,但在第二次单击按钮时失败!!。第二个函数animation_Stop是我试图通过破坏整个函数来停止函数,因此我希望可以避免程序崩溃,但这也是一个失败 错误: python.exe已停止工作 错误行:Python 如何在VTK中暂停和重新启动动画,python,vtk,Python,Vtk,我正在尝试用VTK做一个动画程序,在这个程序中我可以使VTK对象动画化 但是我没有暂停动画并重新启动动画,我最近才知道要停止VTK计时器,但如果我再次单击动画按钮启动,则程序会因以下错误而崩溃,我只有一个线索,下面的一行正在崩溃,但这一行将在第一次单击动画按钮时工作,但在第二次单击按钮时失败!!。第二个函数animation_Stop是我试图通过破坏整个函数来停止函数,因此我希望可以避免程序崩溃,但这也是一个失败 错误: python.exe已停止工作 错误行: self.renderWindo
self.renderWindowInteractor.SetRenderWindow(obj_renwin.renwin)
请注意我的动画详细代码行,有人请帮助我重新启动
并暂停vtk python中的动画
def animation(self,obj_renwin,X):
if X==1:
print "start or restart animation"
self.renderWindowInteractor = vtk.vtkRenderWindowInteractor()
objRen=self.renderWindowInteractor.GetRenderWindow()
self.renderWindowInteractor.SetRenderWindow(obj_renwin.renwin)
obj_renwin.renwin.Render()
self.renderWindowInteractor.Initialize()
cb = vtkTimerCallback()
cb.actor = obj_renwin.actor
self.renderWindowInteractor.AddObserver('TimerEvent', cb.execute)
self.timerId = self.renderWindowInteractor.CreateRepeatingTimer(5);
if X==2:
print "stop animation"
self.renderWindowInteractor.DestroyTimer(self.timerId)
def animation_Stop(self,obj_renwin):
print "stop animation"
#self.animation(obj_renwin,1).destroy()
del (ConeRender.Cone.animation)
如果这样启动VTK计时器:
vtkSmartPointer<vtkTimerCallback> cb =
vtkSmartPointer<vtkTimerCallback>::New();
interactor->AddObserver(vtkCommand::TimerEvent, cb);
i、 e
[这只是一个瞬间的想法,你可以试试]…:
vtkCommand::EndInteraction
interactor->InvokeEvent(vtkCommand::TimerEvent, cb);