paraview RequestData вызывается один раз

Я создал фильтр paraview на С++. Проблема в том, что когда я нажимаю кнопку «Применить», фильтр работает и показывает мне результат, но если я попробую еще раз (после любого изменения ввода свойств), функция RequestData больше не вызывается. Эта проблема никогда не появлялась, когда я использовал программируемый фильтр Python. Есть идеи?

Хуан


person juangv    schedule 04.11.2014    source источник


Ответы (1)


Убедитесь, что вы вызываете this->Modified() в методе, который вызывается после изменения свойства, например.

void SetMyValue(double value)
{
   ...
   this->Modified();
}

Вы, вероятно, захотите проверить, изменилось ли значение или какое-либо другое состояние вашего фильтра, что потенциально может изменить вывод фильтра перед вызовом this->Modified(). В противном случае фильтр может без необходимости обновляться и давать точно такой же результат. Вы можете посмотреть на vtkSetGet.h макросы, которые делают это (посмотрите на #define vtkSetMacro(name,type)).

person Utkarsh    schedule 04.11.2014