Is there any way to detect what exactly has changed between calls to a C++ custom operator? (eg; which inputs were dirtied?)
I have a custom operator (deformer) which has several inputs. Each time an input is dirtied, the custom operator must iterate through all the point positions, samples (UV), and weight maps from the polygon mesh during each update, and modify that data using information obtained from the other inputs. While my operator computes the correct result, it comes with significant overhead. 95% of the time, less than 5% of polygon mesh's points are modified. It seems like a waste to iterate through all those points when only a tiny bit actually changes requiring processing. I would like to only process points where the positions, samples, and/or weight maps have changed between updates and skip the rest. Is that information available to a custom operator? If so, how do I access it? To pre-emptively answer the obvious question that will be asked - No, I cannot do this in ICE because my custom operator must work with NURBS in a particular fashion that is not supported by ICE. Matt