On 14/08/2017 at 09:38, xxxxxxxx wrote:
Cinema 4D Version: R16-R18
Platform: Windows ;
Language(s) : C++ ;
Look at the minimal scene with problem:
https://www.dropbox.com/s/pwczovkyg408r1g/GetDirty always increase counter.c4d?dl=0
It's a part of bulb sent by one user. If the Pose Morph tag is assigned to the "spline" object (that is visible in object manager) then the value spline->GetDirty(DIRTYFLAGS_DATA) is increased after each user mouse click in C4D area: either selecting the active object in OM or selecting some tool or even clicks in the custom GUI for image processing.
Also for bulb (Lathe Object) which rotates the spline around the cache is always rebuilt after each such click (as described above). The value bulb->GetHDirty(HDIRTYFLAGS_OBJECT) is increased, the respective obj->GetDeformCache() points to different address (different cache object).
All this happens with no change in object parameters. Only minor mouse clicks.
In this case I don't know what Pose Morph is doing here. But it can be a valuable tool and we don't like if it always forces interactive rendering during modeling to force instant updates.
How to woraround this? Or in other words how to listen for scene updates that don't force unnessary work.