#include <c4d_tagdata.h>

A data class for creating tag plugins.
Tag plugins appear in the Tag menu of the Object Manager and can be attached to objects.
Use RegisterTagPlugin() to register a tag plugin.
Public Member Functions | |
| virtual Bool | Draw (BaseTag *tag, BaseObject *op, BaseDraw *bd, BaseDrawHelp *bh) |
| virtual EXECUTIONRESULT | Execute (BaseTag *tag, BaseDocument *doc, BaseObject *op, BaseThread *bt, Int32 priority, EXECUTIONFLAGS flags) |
| virtual Bool | AddToExecution (BaseTag *tag, PriorityList *list) |
| virtual Bool | GetModifiedObjects (BaseTag *tag, BaseDocument *doc, BaseObject *&op, Bool &pluginownedop, const Matrix &op_mg, Float lod, Int32 flags, BaseThread *thread) |
Public Member Functions inherited from NodeData | |
| NodeData () | |
| GeListNode * | Get (void) const |
| virtual Bool | Message (GeListNode *node, Int32 type, void *data) |
| virtual void | GetBubbleHelp (GeListNode *node, maxon::String &str) |
| virtual BaseDocument * | GetDocument (GeListNode *node) |
| virtual Int32 | GetBranchInfo (GeListNode *node, BranchInfo *info, Int32 max, GETBRANCHINFO flags) |
| virtual Bool | IsInstanceOf (const GeListNode *node, Int32 type) const |
| virtual Bool | IsDocumentRelated (const GeListNode *node, Bool &docrelated) const |
| virtual Bool | Init (GeListNode *node) |
| virtual void | Free (GeListNode *node) |
| virtual Bool | Read (GeListNode *node, HyperFile *hf, Int32 level) |
| virtual Bool | Write (GeListNode *node, HyperFile *hf) |
| virtual Bool | CopyTo (NodeData *dest, GeListNode *snode, GeListNode *dnode, COPYFLAGS flags, AliasTrans *trn) |
| virtual Bool | GetDDescription (GeListNode *node, Description *description, DESCFLAGS_DESC &flags) |
| virtual Bool | GetDParameter (GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) |
| virtual Bool | SetDParameter (GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags) |
| virtual Bool | GetDEnabling (GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) |
| virtual Bool | TranslateDescID (GeListNode *node, const DescID &id, DescID &res_id, C4DAtom *&res_at) |
Public Member Functions inherited from BaseData | |
| BaseData () | |
| virtual | ~BaseData (void) |
| void | Destructor (void) |
Additional Inherited Members | |
Protected Attributes inherited from NodeData | |
| GeListNode * | private_link |
|
virtual |
Called when the display is updated to draw visual elements of the tag in the 3D view.
| [in] | tag | The BaseTag connected with the TagData instance. Equal to static_cast<TagData*>Get(). Provided for speed and convenience. Cinema 4D owns the pointed shader. |
| [in] | op | The host object of the tag. Cinema 4D owns the pointed object. |
| [in] | bd | The editor's view. The caller owns the pointed view. |
| [in] | bh | The helper for the editor's view. The caller owns the pointed base draw helper. |
|
virtual |
Called at the point in the priority pipeline specified by AddToExecution, or the lack thereof.
| [in] | tag | The BaseTag connected with the TagData instance. Equal to static_cast<TagData*>Get(). Provided for speed and convenience. Cinema 4D owns the pointed shader. |
| [in] | doc | The host document of the tag. Cinema 4D owns the pointed document. |
| [in] | op | The host object of the tag. Cinema 4D owns the pointed object. |
| [in] | bt | The calling thread. Can be nullptr. Cinema 4D owns the pointed thread. |
| [in] | priority | The priority of the call to Execute() in the pipeline: EXECUTIONPRIORITY |
| [in] | flags | The execution flags: EXECUTIONFLAGS |
|
virtual |
Called to add execution priorities.
By default returns false. In that case Cinema 4D will call Execute() at the priority specified by the user in the EXPRESSION_PRIORITY parameter of the container.
If overridden then insert points of execution in the list and return true. Heres is an example:
Cinema 4D will then call Execute() 2 times.
| [in] | tag | The BaseTag connected with the TagData instance. Equal to static_cast<TagData*>Get(). Provided for speed and convenience. Cinema 4D owns the pointed shader. |
| [in] | list | The priority list to add execution points to. Cinema 4D owns the pointed priority list. |
|
virtual |
Private.