有一个模拟应用程序,每隔一段时间输出一些vtk点数据,我想在每个时间步长渲染这些数据,并保持交互。
我创建了一个管道,它将模拟点(points->SetInputData(data)
)作为输入并对其应用一组过滤器。为了测试,我创建了一个简单的计时器并添加了一个观察者对计时器事件做出反应:
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, cb);
int timerId = renderWindowInteractor->CreateRepeatingTimer(1000);
这就像我想要的那样。剩下的唯一问题是添加自定义用户事件。基本上我想在每个模拟时间步结束时触发一些事件,并在渲染窗口中更新模型。我看到了一些VTK示例,但我仍然不知道如何为我的情况做这件事。有人可以帮忙吗?
答案 0 :(得分:0)
如果使用连接到过滤器的SetInputConnection连接可视化管道,那么您需要做的就是定期在渲染窗口上调用Render()。