MCPcopy Create free account
hub / github.com/Kitware/VTK / IsUpToDate

Method IsUpToDate

Rendering/OpenGL2/vtkArrayRenderer.cxx:205–229  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205bool vtkArrayRenderer::IsUpToDate(vtkRenderer* renderer, vtkActor* actor)
206{
207 if (this->RenderTimeStamp < actor->GetProperty()->GetMTime())
208 {
209 return false;
210 }
211 if (this->RenderTimeStamp < this->GetMTime())
212 {
213 return false;
214 }
215
216 auto modsIter = vtk::TakeSmartPointer(this->GetGLSLModCollection()->NewIterator());
217 auto oglRen = static_cast<vtkOpenGLRenderer*>(renderer);
218 for (modsIter->InitTraversal(); !modsIter->IsDoneWithTraversal(); modsIter->GoToNextItem())
219 {
220 auto mod = static_cast<vtkGLSLModifierBase*>(modsIter->GetCurrentObject());
221 if (!mod->IsUpToDate(oglRen, this, actor))
222 {
223 vtkDebugWithObjectMacro(nullptr, << mod->GetClassName() << " is outdated");
224 // if any mod is outdated, entire shader program must be re-compiled.
225 return false;
226 }
227 }
228 return true;
229}
230
231void vtkArrayRenderer::PrepareToRender(vtkRenderer* renderer, vtkActor* actor)
232{

Callers 1

RenderMethod · 0.95

Calls 9

GetGLSLModCollectionMethod · 0.80
GetCurrentObjectMethod · 0.80
GetMTimeMethod · 0.45
GetPropertyMethod · 0.45
NewIteratorMethod · 0.45
InitTraversalMethod · 0.45
IsDoneWithTraversalMethod · 0.45
GoToNextItemMethod · 0.45
GetClassNameMethod · 0.45

Tested by

no test coverage detected