Update() 在 VTK 中的作用是什么?

what is the role of Update( ) in VTK?

我是vtk新手,想知道这里Update的作用是什么,我们直接用vtkNew sphereSource即可;它会起作用

vtkNew<vtkSphereSource> sphereSource;
  sphereSource->Update();

它要求算法进行实际计算(参见 doc)。这是因为 VTK 是惰性求值的,所以只在需要时才计算输出。它允许您更改算法参数而不会触发不需要的计算。

示例:

vtkNew<vtkSphereSource> sphereSource;
sphereSource->Update(); // compute sphere with default
vtkPolyData* sphere = sphereSource->GetOutput();
sphereSource->SetThetaResolution(100); // change from default. Does not trigger any computation.
vtkPolyData* oldSphere = sphereSource->GetOutput(); // old output, source still not recomputed
sphereSource->Update(); // compute new sphere
vtkPolyData* sphere100 = sphereSource->GetOutput(); // new output