VTK:在每个模拟时间步长更新renderWindow中的数据点

VTK: update data points in renderWindow at every simulation timestep

本文关键字:renderWindow 更新 数据 时间 模拟 VTK      更新时间:2023-10-16

有一个模拟应用程序,它在每个时间步长输出一些vtk点数据,我想在每个时间步渲染这些数据,并保持它的交互式。

我创建了一个以模拟点(points->SetInputData(data))为输入并应用一组过滤器的管道。为了测试,我创建了个简单的计时器,并添加了一个对计时器事件做出反应的观察者:

  renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, cb);
  int timerId = renderWindowInteractor->CreateRepeatingTimer(1000);

这正是我想要的。剩下的唯一问题是添加一个自定义用户事件。基本上,我想在每个模拟时间步结束时触发一些事件,并在渲染窗口中更新模型。我看到了一些VTK的例子,但我仍然不知道如何为我的案例做到这一点。有人能帮忙吗?

如果使用连接到过滤器的SetInputConnection连接可视化管道,那么所要做的就是定期在渲染窗口上调用Render()。