hi,
Well, in that case you have no real way to be 100% sure that the cache of the linked object will be created and updated.
CheckDirty
is call more often than ModifyObject
so between the two I would go with CheckDIrty
Another function you could also use, is Execute
.
By adding it to a real late moment on the scene execution you could maybe make your deformer to update at the end (op->SetDirty())
You could also use a Message where you can check any change on the scene and check if it's your object that have changed. (by storing it's dirtyState)
Finally, when the link is modified or when someone drop an object you could check what kind of object it is and change the execute
priority accordingly.
I think that Execute
is probably the best solution here.
Cheers,
Manuel