On 14/02/2015 at 09:53, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 16
Platform: Windows ;
Language(s) : C++ ;
---------
I have a TagData plugin. It reads and sets its input object's coordinates bidirectionally.
If I move object A in the viewport or in its Attribute Manager, my tag changes object B's coords.
If I move object B, the tag changes object A's coords.
The problem is when I attempt to undo. The only object that is given an undo is the object I moved in the viewport/AM. Any object whose coords I change via my tag's Execute() has no undo.
My plan is to add undo steps to all the objects whose coords were affected. But I don't think it's safe to do so in Execute() since this is called for every event update.
There's the message MSG_DESCRIPTION_USERINTERACTION_END that's sent when a user stops dragging an object. I was hoping I could tap into this to create an undo state before I move my objects.
Is it possible for my tag to read what goes through object A's or object B's Message() method?