#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 (const CTrack *track, const CAnimInfo *info, Bool *chg, void *data) const | 
| 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 (const CTrack *track) const | 
| 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 (const CTrack *track, const CKey *node, Description *description, DESCFLAGS_DESC &flags) const | 
| virtual Bool | KeyGetDParameter (const CTrack *track, const CKey *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const | 
| virtual Bool | KeyGetDEnabling (const CTrack *track, const CKey *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const | 
| virtual Bool | KeySetDParameter (CTrack *track, CKey *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags) | 
  Public Member Functions inherited from NodeData | |
| NodeData () | |
| GeListNode * | Get () | 
| const GeListNode * | Get () const | 
| virtual Bool | Message (GeListNode *node, Int32 type, void *data) | 
| virtual void | GetBubbleHelp (GeListNode *node, maxon::String &str) | 
| virtual const BaseDocument * | GetDocument (const GeListNode *node) const | 
| virtual maxon::Result< Bool > | GetBranchInfo (const GeListNode *node, const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const | 
| virtual Bool | IsInstanceOf (const GeListNode *node, Int32 type) const | 
| virtual Bool | IsDocumentRelated (const GeListNode *node, Bool &docrelated) const | 
| virtual maxon::Result< Bool > | GetAccessedObjects (const BaseList2D *node, METHOD_ID method, AccessedObjectsCallback &access) const | 
| virtual maxon::Result< maxon::GenericData > | GroupChanges (BaseList2D *node) | 
| virtual Bool | Init (GeListNode *node, Bool isCloneInit) | 
| virtual void | Free (GeListNode *node) | 
| virtual Bool | Read (GeListNode *node, HyperFile *hf, Int32 level) | 
| virtual Bool | Write (const GeListNode *node, HyperFile *hf) const | 
| virtual Bool | CopyTo (NodeData *dest, const GeListNode *snode, GeListNode *dnode, COPYFLAGS flags, AliasTrans *trn) const | 
| virtual Bool | GetDDescription (const GeListNode *node, Description *description, DESCFLAGS_DESC &flags) const | 
| virtual Bool | GetDParameter (const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const | 
| virtual Bool | SetDParameter (GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags) | 
| virtual Bool | GetDEnabling (const GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const | 
| virtual Bool | TranslateDescID (GeListNode *node, const DescID &id, DescID &res_id, C4DAtom *&res_at) | 
  Public Member Functions inherited from BaseData | |
| virtual | ~BaseData () | 
| void | Destructor () | 
Additional Inherited Members | |
  Protected Attributes inherited from NodeData | |
| GeListNode * | private_link | 
      
  | 
  virtual | 
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 |