Существует приложение для моделирования, которое выводит некоторые данные точек vtk каждый тайм-сигнал, и я хотел бы отображать эти данные на каждый временной промежуток, а также сохранять его интерактивным.VTK: обновлять точки данных в renderWindow при каждом симуляторе timestep
Я создал трубопровод, который принимает точки моделирования (points->SetInputData(data)
) в качестве ввода и применяет к нему набор фильтров. Ради тестирования я создал простой таймер и добавил наблюдателя, реагирующего на события таймера:
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, cb);
int timerId = renderWindowInteractor->CreateRepeatingTimer(1000);
Это работает точно так же, как я хочу. Осталось только добавить пользовательское событие. В принципе, я хочу вызвать какое-то событие в конце каждого временного времени моделирования и обновить модель в окне рендеринга. Я видел некоторые примеры VTK, но я до сих пор не понимаю, как это сделать для моего случая. Может ли кто-нибудь помочь?
что с помощью метода 'setinputdata' –
Это может быть сделано для работы; в зависимости от того, какие именно обновления вам, возможно, потребуется вызвать 'poly-> Modified()' для каждого обновления, чтобы фильтры/mappers обновлялись. – mirni