THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/03/2005 at 10:06, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.0+
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
---------
I'm afraid that the answer may already be given for this, but I'll ask nonetheless.
My current plugin creates a PluginMaterial with a GeDialog for editing a tree of nodes (my classes). I want to add cut/copy/paste (which shouldn't be too difficult to implement from scratch) and undos/redos (a tad bit more difficult). The question is this: is there any way to use C4D's similar facilities on my own class objects, underived from any of C4D's?
I see that UndoAdd() takes a void*, so I am uncertain whether this is general for any class instance or only good for C4D objects inserted into BaseDocuments. Honestly, I don't see a way to base the nodes off of any undoable C4D object (object, tag, shader, material, key, track, etc.) and not insert them into a document - which is not the intent. The nodes only exist within the ShaderTree, itself only within the PluginMaterial.
Well, I hope that makes some sense and can yield a response.