THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/02/2010 at 07:11, xxxxxxxx wrote:
Cinema 4D Version: 10.1+
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
I have a scene object I get (I am in an object plugins GetVirtualObject) via link field in my object plugin and am currently using obj->GetDirty(DIRTY_DATA|DIRTY_MATRIX) to detect if that scene object's checksum changed. (also tried additionally with DIRTY_CACHE)
However, that doesn´t work as expected. It always returns that the object changed (checksum always differs), even when the linked object is absolutely untouched (not moving, not rotating, no settings changed or animated and no deformers acting on it). This happens mostly with polygon objects and but also with primitives. Overall I don´t get a consistent result. But then again, sometimes I get the correct result it seems however when the object gets a deformer and this one is removed again the checksum is permanently updated again. So it´s kind of hard to react correctly.
So my question is, how to accurately detect if such an object really changed and only if it changed? I saw GetHDirty() but I am not fully sure how to use it (and not sure if it is better suited but as the docs say it´s a better way I guess it should do the job?).