MCPcopy Create free account
hub / github.com/PixarAnimationStudios/OpenUSD / _InvalidateAttributeValues

Method _InvalidateAttributeValues

pxr/exec/exec/system.cpp:281–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

279}
280
281void
282ExecSystem::_InvalidateAttributeValues(TfSpan<const SdfPath> invalidAttributes)
283{
284 TRACE_FUNCTION();
285
286 const Exec_AttributeValueInvalidationResult invalidationResult =
287 _program->InvalidateAttributeAuthoredValues(invalidAttributes);
288
289 // Invalidate the executor and send request invalidation.
290 WorkWithScopedDispatcher(
291 [&runtime = _runtime, &invalidationResult,
292 &requestTracker = _requestTracker]
293 (WorkDispatcher &dispatcher){
294 // If any of the inputs to exec changed to be time dependent when
295 // previously they were not (or vice versa), we need to invalidate the
296 // main executor's topological state, such that invalidation traversals
297 // pick up the new time dependency.
298 if (invalidationResult.isTimeDependencyChange) {
299 dispatcher.Run([&](){
300 runtime->InvalidateTopologicalState();
301 });
302 }
303
304 // Invalidate values in the page cache.
305 dispatcher.Run([&](){
306 runtime->InvalidatePageCache(
307 invalidationResult.invalidationRequest,
308 invalidationResult.invalidInterval);
309 });
310
311 // Notify all the requests of computed value invalidation. Not all the
312 // requests will contain all the invalid leaf nodes or invalid
313 // attributes, and the request impls are responsible for filtering the
314 // provided information.
315 requestTracker->DidInvalidateComputedValues(invalidationResult);
316 });
317}
318
319void
320ExecSystem::_InvalidateMetadataValues(

Callers 1

_PostProcessChangesMethod · 0.80

Calls 6

WorkWithScopedDispatcherFunction · 0.85
InvalidatePageCacheMethod · 0.80
RunMethod · 0.45

Tested by

no test coverage detected