#include <c4d_ctrackdata.h>
A data class for creating timeline track plugins.
Use RegisterCTrackPlugin() to register a track plugin.
Public Member Functions | |
virtual Bool | Animate (CTrack *track, const CAnimInfo *info, Bool *chg, void *data) |
virtual Int32 | GuiMessage (CTrack *track, const BaseContainer &msg, BaseContainer &result) |
virtual Bool | Draw (CTrack *track, GeClipMap *map, const BaseTime &clip_left, const BaseTime &clip_right) |
virtual Int32 | GetHeight (CTrack *track) |
virtual Bool | FillKey (CTrack *track, BaseDocument *doc, BaseList2D *bl, CKey *key) |
virtual Bool | TrackInformation (CTrack *track, BaseDocument *doc, CKey *key, maxon::String *str, Bool set) |
virtual Bool | KeyMessage (CTrack *track, CKey *node, Int32 type, void *data) |
virtual Bool | KeyGetDDescription (CTrack *track, CKey *node, Description *description, DESCFLAGS_DESC &flags) |
virtual Bool | KeyGetDParameter (CTrack *track, CKey *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) |
virtual Bool | KeyGetDEnabling (CTrack *track, CKey *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) |
virtual Bool | KeySetDParameter (CTrack *track, CKey *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags) |
![]() | |
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) |
![]() | |
BaseData () | |
virtual | ~BaseData (void) |
void | Destructor (void) |
Additional Inherited Members | |
![]() | |
GeListNode * | private_link |
Called during redraw or whenever Cinema 4D wants to evaluate the animation track.
doc->GetTime()
. [in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | info | The animation parameters. It is the responsibility of each track plugin to interpolate the values in info correctly. |
[out] | chg | If not nullptr, set it to true if the value has changed due to the animation. |
[out] | data | If not nullptr, the animated value should not be applied to the object, but assigned to this parameter instead. |
|
virtual |
Called to process GUI messages e.g. for drag-and-drop, drawing etc. Private.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | msg | The message container. |
[in,out] | result | The message result container. |
|
virtual |
Called to draw additional stuff, e.g. like the sound track draws a sound wave.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[out] | map | The clip map to draw to. Cinema 4D owns the pointed clip map. |
[in] | clip_left | The left time clipping. |
[in] | clip_right | The right time clipping. |
Called to get the height to draw additional data for the sequence in the timeline, e.g. the sound wave of a sound track.
The default value is 0, which means no additional data.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
|
virtual |
Called to fill a newly created key with default values for object bl.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | doc | The document. Cinema 4D owns the pointed document. |
[in] | bl | The object of the key. Cinema 4D owns the pointed object. |
[out] | key | The key to fill. Cinema 4D owns the pointed key. |
|
virtual |
Called to set (set=true) or get (set==false) information for a track at the current time (key==nullptr) or at a specified key. The information to get/set is available in str. The information is shown in the UI for example when hovering over a value.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | doc | The active document. Cinema 4D owns the pointed document. |
[in] | key | The key that the information concerns or nullptr if the information concerns doc->GetTime() . Cinema 4D owns the pointed key. |
[in,out] | str | The string to get/set. |
[in] | set | true if the information should be set, otherwise false if it should be retrieved. |
Handles NodeData::Message for the key node.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | node | The key node. Cinema 4D owns the pointed key. |
[in] | type | The message type. |
[in,out] | data | The message data. |
|
virtual |
Handles NodeData::GetDDescription for the key node.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | node | The key node. Cinema 4D owns the pointed key. |
[in,out] | description | The description to add parameters to. Cinema 4D owns the pointed description. |
[in,out] | flags | The flags for the description operation: DESCFLAGS_DESC |
|
virtual |
Handles NodeData::GetDParameter for the key node.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | node | The key node. Cinema 4D owns the pointed key. |
[in] | id | The ID of the parameter. |
[out] | t_data | The current data for the parameter. |
[in,out] | flags | The flags for the description operation: DESCFLAGS_DESC |
|
virtual |
Handles NodeData::GetDEnabling for the key node.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | node | The key node. Cinema 4D owns the pointed key. |
[in] | id | The ID of the parameter. |
[out] | t_data | The current data for the parameter. |
[in,out] | flags | The flags for the description operation: DESCFLAGS_DESC |
[in] | itemdesc | The description for the parameter, encoded to a container as described in Description. |
|
virtual |
Handles NodeData::SetDParameter for the key node.
[in] | track | Equal to static_cast<CTrack*>->Get() . Provided for speed and convenience. Cinema 4D owns the pointed track. |
[in] | node | The key node. Cinema 4D owns the pointed key. |
[in] | id | The ID of the parameter. |
[in] | t_data | The data for the parameter. |
[in,out] | flags | The flags for the description operation: DESCFLAGS_DESC |