我在C ++中创建了一个paraview过滤器。问题是,当我按下应用按钮时,过滤器工作并显示结果,但如果我再次尝试(在属性输入中的任何更改之后),则不再调用RequestData函数。当我使用Python可编程过滤器时,这个问题从未出现。有什么想法吗?
涓
答案 0 :(得分:1)
请确保在更改属性后调用的方法中调用this->Modified()
,例如
void SetMyValue(double value)
{
...
this->Modified();
}
您可能希望检查过滤器的值或其他某些状态是否已更改,这可能会在调用this->Modified()
之前更改过滤器的输出。否则,过滤器可能会不必要地更新并产生完全相同的结果。您可以查看vtkSetGet.h
这样做的宏(查看#define vtkSetMacro(name,type)
)。