Avoid reexecuting representations for non-pipeline related updates
Improves the infrastructure to mark representations modified only when
necessary. Current implementation (via
vtkSMProxyProperty::SkipDependency
) was error prone. Now,
vtkSMRepresentationProxy
is smarter at deciding if the proxy is being
dirtied via an upstream pipeline connection or something else.
This was done by adding new API (vtkSMProxy::MarkDirtyFromProducer
)
which has relevant information available to representation to determine
which producer connection the dirty notification is coming from.
This helps us avoid clearing animation cache for representation property changes that should only affect rendering (not data processing). Fixes #18275 (closed).
Furthermore, all representations now have DebugName
which is handy
string that helps identify a representation proxy making it clear which
source's what representation is corresponds to.
vtkSMProxyProperty::SkipDependency
(and skip_dependency
XML attribute)
is now obsolete and no longer needed or used.