
These header files contain the parameter IDs. for Ocube objects there is ocube.h and for the base class BaseObject ( Obase) there is obase. It provides C4DAtom::GetParameter() and C4DAtom::SetParameter() to access the parameters of an element.įor each class there is typically a corresponding header file. The event is EVMSG_CHANGE and can be detected either in a GeDialog or a MessageData plugin.Ĭ4DAtom is the base class of most scene elements. This will add an event to the event queue. How can I detect changes to the active document?Īfter any change to the active document, EventAdd() should be called.

Note that in certain versions (command line, team render client) there is no active document. After the document was edited, one must call EventAdd() to update the GUI (viewport, managers). It must only be edited from the main thread in the context of user interaction. The active document can be obtained with GetActiveDocument(). Interactive tools to edit the 3D scene are based on ToolData and DescriptionToolData.

How do I create tools to edit the 3D scene or a 3D object? How do I create a modifier/deformer plugin?Ī generator plugin is based on ObjectData and must implement ObjectData::ModifyObject(). A spline generator must implement ObjectData::GetContour(). A generator plugin is based on ObjectData and must implement ObjectData::GetVirtualObjects().
