Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 20/03/2016 at 09:31, xxxxxxxx wrote:
User Information: Cinema 4D Version: R17 Platform: Windows ; Language(s) :
--------- Hello.
I have to great a messenger that catches the changes done by the user in any object in the hierarchy. So, in case of an EVMSG_DOCUMENTRECALCULATED event, I scan the hierarchy and for each object, I use the GetDirty method to check if that object has changed. Since GetDirty returns a checksum number, it appears that I need to compare it with a previous checksum number. So, It seems that I have to create a map with objects as keys and dirty numbers as values and with a change in any object, I have to scan all the hierarchy and ask each object for their dirty bits. Is there any alternative approach to check if an object has changes ? (matrix, cache, etc)
Can I get directly the dirty objects without having to scan the hierarchy ?
Thank you for your time.
On 21/03/2016 at 03:19, xxxxxxxx wrote:
Hello,
there is no function that would return a list of changed objects. You have to create such a function yourself – by scanning the hierarchy. But you can use GetHDirty on the given BaseDocument to check if anything relevant changed and if a hierarchy scan is needed or not.
Best wishes, Sebastian