# I3DShTimeBasedData Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShTimeBasedData:

List of all members.

## Public Member Functions
virtual void MCCOMAPI | SetTimeBased (ITimeBased *inTimeBased)=0
virtual ITimeBased *MCCOMAPI | GetTimeBasedNoAddRef ()=0
virtual MCCOMErr MCCOMAPI | GetTimeBased (ITimeBased **outTimeBased)=0
virtual void MCCOMAPI | SetValidForCurrentTime ()=0
virtual MCCOMErr MCCOMAPI | InvalidateParams (boolean recursive)=0
virtual MCCOMErr MCCOMAPI | MarkParamAsModified (int32 index, boolean createKeyframe=true)=0
virtual void MCCOMAPI | CheckParamForRead (int32 index)=0
virtual void MCCOMAPI | SetApproximateParamCount (uint32 Count)=0
virtual int32 MCCOMAPI | SetParam (void *aparam, const int8 *itsName, IDType itsID, IDType itsType, int8 graphColorIndex=-1)=0
virtual int32 MCCOMAPI | InsertParam (int32 inIndex, void *aParam, const int8 *itsName, IDType itsID, IDType itsType, int8 graphColorIndex=-1)=0
virtual int32 MCCOMAPI | SetParamGroup (ITimeBased *aGroup, const int8 *itsName, IDType itsID)=0
virtual int32 MCCOMAPI | InsertParamGroup (int32 inIndex, ITimeBased *aGroup, const int8 *itsName, IDType itsID)=0
virtual MCCOMErr MCCOMAPI | RemoveParams (const int32 index, const int32 count)=0
virtual MCCOMErr MCCOMAPI | ClearParams ()=0
virtual MCCOMErr MCCOMAPI | EnableParam (int32 index, boolean enable)=0
virtual MCCOMErr MCCOMAPI | ChangeParamGroup (ITimeBased *aGroup, int32 index)=0
virtual MCCOMErr MCCOMAPI | CopyData (I3DShTimeBasedData *dest)=0
virtual boolean MCCOMAPI | IsAnimated () const =0
virtual void MCCOMAPI | SetAnimated (boolean animated)=0
virtual void MCCOMAPI | SetTimeManager (I3DShTimeManager *timeManager)=0
virtual void MCCOMAPI | GetTimeManager (I3DShTimeManager **)=0
virtual TTimeManager *MCCOMAPI | GetTimeManager () const =0
| For internal use only.
virtual boolean MCCOMAPI | IsTimeLineExpanded () const =0
virtual void MCCOMAPI | SetTimeLineExpanded (boolean isExpanded)=0
virtual TMCPoint MCCOMAPI | GetDrawOrigin ()=0
virtual void MCCOMAPI | SetDrawOrigin (TMCPoint &origin)=0
virtual int32 MCCOMAPI | GetParamHeight ()=0
virtual void MCCOMAPI | SetParamHeight (int32 inParamHeight)=0
virtual int32 MCCOMAPI | GetSonsCount () const =0
virtual const int8 *MCCOMAPI | GetSonByIndex (ITimeBased **result, int32 index, IDType &itsType, IDType &itsID, boolean &isGroup, boolean &isEnabled) const =0
virtual void MCCOMAPI | GetFather (I3DShTimeBasedData **parent) const =0
virtual int32 MCCOMAPI | GetParamInfoCount () const =0
virtual void MCCOMAPI | GetParamInfoByIndex (I3DShParamInfo **paramInfo, int32 index) const =0
virtual void MCCOMAPI | GetParamInfoByID (I3DShParamInfo **paramInfo, IDType id) const =0
virtual int32 MCCOMAPI | FindParamInfoIndex (IDType id) const =0
virtual IDType MCCOMAPI | GetID () const =0
virtual IDType MCCOMAPI | GetType () const =0
virtual void MCCOMAPI | SetType (IDType type, const int8 *className)=0
virtual MicroTick MCCOMAPI | GetTime () const =0
virtual MicroTick MCCOMAPI | GetCurrentTime () const =0
virtual void MCCOMAPI | SetLocalTime (MicroTick inTime)=0
virtual const int8 *MCCOMAPI | GetClassName ()=0
virtual const int8 *MCCOMAPI | GetName () const =0
virtual boolean MCCOMAPI | GetMergedTimeLine (I3DShParamTimeLine **timeline)=0
virtual MCCOMErr MCCOMAPI | ForEachActiveTimeLine (IForEachTimeLineCallback *callback)=0
virtual MCCOMErr MCCOMAPI | InvalidateTimeLine ()=0
virtual MCCOMErr MCCOMAPI | InvalidateMerged ()=0
virtual I3DShAttributesSet *MCCOMAPI | GetControllingAttributesSet () const =0
virtual int32 MCCOMAPI | GetIndexInFather () const =0

## Detailed Description

The TimeBased Data is the object that stores the animation parameters of a timebased object.

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::ChangeParamGroup | ( | ITimeBased * | aGroup,
|  | int32 | index |
| ) |  |  | `[pure virtual]`

Change a param group (see SetParamGroup()).

Parameters:

  | aGroup | The new timebased.
  | index | The index of the parameter.

virtual void MCCOMAPI I3DShTimeBasedData::CheckParamForRead | ( | int32 | index | ) | `[pure virtual]`

Should be called before accessing the value of an animated parameter.

Parameters:

  | index | The index of the parameter.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::ClearParams | ( |  | ) | `[pure virtual]`

Removes all the parameters.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::CopyData | ( | I3DShTimeBasedData * | dest | ) | `[pure virtual]`

Copy the data of this time based data into another one.

Parameters:

  | dest | The destination time based data.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::EnableParam | ( | int32 | index,
|  | boolean | enable |
| ) |  |  | `[pure virtual]`

Enable/Disable a parameter.

Parameters:

  | index | The index of the parameter.
  | enable | the state of the parameter.

virtual int32 MCCOMAPI I3DShTimeBasedData::FindParamInfoIndex | ( | IDType | id | ) | const`[pure virtual]`

Returns the index of the parameter with a certain ID or -1 if not found.

Parameters:

  | id | The ID of the parameter.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::ForEachActiveTimeLine | ( | IForEachTimeLineCallback * | callback | ) | `[pure virtual]`

Calls a callback for each of the active timeline of the parameters.

Parameters:

  | callback | The callback function.

virtual const int8* MCCOMAPI I3DShTimeBasedData::GetClassName | ( |  | ) | `[pure virtual]`

Returns the classname of the timebased data.

virtual I3DShAttributesSet* MCCOMAPI I3DShTimeBasedData::GetControllingAttributesSet | ( |  | ) | const`[pure virtual]`

Returns the I3DShAttributesSet that control this time based data (if any).

virtual MicroTick MCCOMAPI I3DShTimeBasedData::GetCurrentTime | ( |  | ) | const`[pure virtual]`

Returns the current time of this timebased data (time from timemanager or the timebased data local time).

virtual TMCPoint MCCOMAPI I3DShTimeBasedData::GetDrawOrigin | ( |  | ) | `[pure virtual]`

Internal use only.

virtual void MCCOMAPI I3DShTimeBasedData::GetFather | ( | I3DShTimeBasedData ** | parent | ) | const`[pure virtual]`

Returns the parent of the timebased.

Parameters:

  | parent | A pointer to the parent.

virtual IDType MCCOMAPI I3DShTimeBasedData::GetID | ( |  | ) | const`[pure virtual]`

Returns the ID of the timebased data.

virtual int32 MCCOMAPI I3DShTimeBasedData::GetIndexInFather | ( |  | ) | const`[pure virtual]`

Returns the index of the timebased in the father time based data.

virtual boolean MCCOMAPI I3DShTimeBasedData::GetMergedTimeLine | ( | I3DShParamTimeLine ** | timeline | ) | `[pure virtual]`

Returns the merged time line that corresponds to this timebased data. This is the time line that sums up all the timelines of all the parameters. It returns true if this time line is computed only from default time lines (see additional time lines on the I3DShParamInfo).

Parameters:

  | timeline | A pointer to the timeline that is returned.

virtual const int8* MCCOMAPI I3DShTimeBasedData::GetName | ( |  | ) | const`[pure virtual]`

Returns the name of the timebased data.

virtual int32 MCCOMAPI I3DShTimeBasedData::GetParamHeight | ( |  | ) | `[pure virtual]`

Internal use only.

virtual void MCCOMAPI I3DShTimeBasedData::GetParamInfoByID | ( | I3DShParamInfo ** | paramInfo,
|  | IDType | id |
| ) |  |  | const`[pure virtual]`

Returns a pointer to a parameter with a certain ID.

Parameters:

  | paramInfo | A pointer to the parameter information.
  | id | The ID of the parameter.

virtual void MCCOMAPI I3DShTimeBasedData::GetParamInfoByIndex | ( | I3DShParamInfo ** | paramInfo,
|  | int32 | index |
| ) |  |  | const`[pure virtual]`

Returns a pointer to a parameter indentified by its index.

Parameters:

  | paramInfo | A pointer to the parameter information.
  | index | The index of the parameter.

virtual int32 MCCOMAPI I3DShTimeBasedData::GetParamInfoCount | ( |  | ) | const`[pure virtual]`

Returns the number of paramaters.

virtual const int8* MCCOMAPI I3DShTimeBasedData::GetSonByIndex | ( | ITimeBased ** | result,
|  | int32 | index,
|  | IDType & | itsType,
|  | IDType & | itsID,
|  | boolean & | isGroup,
|  | boolean & | isEnabled |
| ) |  |  | const`[pure virtual]`

Returns a pointer to one of the children of this timebased.

Parameters:

  | result | A pointer to the child
  | index | The index of the parameter.
  | itsType | The type of the parameter
  | itsID | The ID of the child
  | isGroup | True if this is a group.
  | isEnabled | True if it is enabled.

Returns:
  the name of the parameter

virtual int32 MCCOMAPI I3DShTimeBasedData::GetSonsCount | ( |  | ) | const`[pure virtual]`

Returns the number of timebased that are children of this timebased.

virtual MicroTick MCCOMAPI I3DShTimeBasedData::GetTime | ( |  | ) | const`[pure virtual]`

Returns the time of the last update of the timebased data.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::GetTimeBased | ( | ITimeBased ** | outTimeBased | ) | `[pure virtual]`

Returns a pointer to the timebased that owns this timebased data.

Parameters:

  | outTimeBased |

virtual ITimeBased* MCCOMAPI I3DShTimeBasedData::GetTimeBasedNoAddRef | ( |  | ) | `[pure virtual]`

Returns a pointer to the timebased that owns this timebased data.

virtual TTimeManager* MCCOMAPI I3DShTimeBasedData::GetTimeManager | ( |  | ) | const`[pure virtual]`

For internal use only.

virtual void MCCOMAPI I3DShTimeBasedData::GetTimeManager | ( | I3DShTimeManager ** |  | ) | `[pure virtual]`

Returns the timemanager (usually it is the time manager of the scene).

virtual IDType MCCOMAPI I3DShTimeBasedData::GetType | ( |  | ) | const`[pure virtual]`

Returns the type of the timebased data.

virtual int32 MCCOMAPI I3DShTimeBasedData::InsertParam | ( | int32 | inIndex,
|  | void * | aParam,
|  | const int8 * | itsName,
|  | IDType | itsID,
|  | IDType | itsType,
|  | int8 | graphColorIndex = `-1` |
| ) |  |  | `[pure virtual]`

Adds a new parameter and puts it at the specified index in the parameter list.

Parameters:

  | inIndex | The index of the param (if < 0 or larger than the param count, the param is added at the end)
  | aparam | A pointer to the value of the parameter. (the paramater keeps a reference to this address so it should be be deleted until the timebased is destroyed)
  | itsName | The name of the parameter.
  | itsID | The ID of the parameter (as displayed in the UI). If itsID is equal to kAutoParamID, an unique id for the parameter is generated.
  | itsType | The type of the parameter.
  | graphColorIndex | The index of the color to be used in the graph editor (-1 means default color).

virtual int32 MCCOMAPI I3DShTimeBasedData::InsertParamGroup | ( | int32 | inIndex,
|  | ITimeBased * | aGroup,
|  | const int8 * | itsName,
|  | IDType | itsID |
| ) |  |  | `[pure virtual]`

Adds a new parameter group and puts it at the specified index in the groups and parameters list.

Parameters:

  | aGroup | A pointer to the timebased that contains the sub parameters.
  | itsName | The name of the parameter (as displayed in the UI). If itsID is equal to kAutoParamID, an unique id for the parameter is generated.
  | itsID | The ID of the parameter.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::InvalidateMerged | ( |  | ) | `[pure virtual]`

Invalidates the merge time line.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::InvalidateParams | ( | boolean | recursive | ) | `[pure virtual]`

Mark all parameters as invalid. Will cause CheckParamForRead to recompute all parameters.

Parameters:

  | recursive | Set to true if you want to invalidate the sub groups.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::InvalidateTimeLine | ( |  | ) | `[pure virtual]`

Invalidates the time line.

virtual boolean MCCOMAPI I3DShTimeBasedData::IsAnimated | ( |  | ) | const`[pure virtual]`

Returns true if animation is enabled.

virtual boolean MCCOMAPI I3DShTimeBasedData::IsTimeLineExpanded | ( |  | ) | const`[pure virtual]`

Internal use only.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::MarkParamAsModified | ( | int32 | index,
|  | boolean | createKeyframe = `true` |
| ) |  |  | `[pure virtual]`

Mark a parameter as invalid. Create a keyframe if needed. Cause CheckParamForRead to be called.

Parameters:

  | index | The index of the parameter.
  | createKeyframe | Should create a keyframe.

virtual MCCOMErr MCCOMAPI I3DShTimeBasedData::RemoveParams | ( | const int32 | index,
|  | const int32 | count |
| ) |  |  | `[pure virtual]`

Remove animation parameters from index to index+count.

!!!WARNING!!! : removing parameters will shift the index of all the following parameters. You need to take this into account when using this method. If your code kept an index on it's animated parameters, these indexes need to be modified.

Parameters:

  | index | The index of the first parameter to remove
  | count | The number of parameter to remove.

virtual void MCCOMAPI I3DShTimeBasedData::SetAnimated | ( | boolean | animated | ) | `[pure virtual]`

Sets the animation of the timebaseddata.

Parameters:

  | animated | the animation state.

virtual void MCCOMAPI I3DShTimeBasedData::SetApproximateParamCount | ( | uint32 | Count | ) | `[pure virtual]`

Allow faster allocation of the array of parameters.

Parameters:

  | Count | Estimated number of parameters.

virtual void MCCOMAPI I3DShTimeBasedData::SetDrawOrigin | ( | TMCPoint & | origin | ) | `[pure virtual]`

Internal use only.

virtual void MCCOMAPI I3DShTimeBasedData::SetLocalTime | ( | MicroTick | inTime | ) | `[pure virtual]`

Set a local time to this param, when read it won't use the scene time but this local time Set local time to kInvalidTime to use the scene time back.

Parameters:

  | inTime | The new local time or kInvalidTime

virtual int32 MCCOMAPI I3DShTimeBasedData::SetParam | ( | void * | aparam,
|  | const int8 * | itsName,
|  | IDType | itsID,
|  | IDType | itsType,
|  | int8 | graphColorIndex = `-1` |
| ) |  |  | `[pure virtual]`

Adds a new parameter.

Parameters:

  | aparam | A pointer to the value of the parameter. (the paramater keeps a reference to this address so it should be be deleted until the timebased is destroyed)
  | itsName | The name of the parameter.
  | itsID | The ID of the parameter (as displayed in the UI). If itsID is equal to kAutoParamID, an unique id for the parameter is generated.
  | itsType | The type of the parameter.
  | graphColorIndex | The index of the color to be used in the graph editor (-1 means default color).

virtual int32 MCCOMAPI I3DShTimeBasedData::SetParamGroup | ( | ITimeBased * | aGroup,
|  | const int8 * | itsName,
|  | IDType | itsID |
| ) |  |  | `[pure virtual]`

Adds a new parameter group.

Parameters:

  | aGroup | A pointer to the timebased that contains the sub parameters.
  | itsName | The name of the parameter (as displayed in the UI). If itsID is equal to kAutoParamID, an unique id for the parameter is generated.
  | itsID | The ID of the parameter.

virtual void MCCOMAPI I3DShTimeBasedData::SetParamHeight | ( | int32 | inParamHeight | ) | `[pure virtual]`

Internal use only.

Parameters:

  | inParamHeight |

virtual void MCCOMAPI I3DShTimeBasedData::SetTimeBased | ( | ITimeBased * | inTimeBased | ) | `[pure virtual]`

Sets the timebased that owns this timebased data.

Parameters:

  | inTimeBased | A pointer to the timebased.

virtual void MCCOMAPI I3DShTimeBasedData::SetTimeLineExpanded | ( | boolean | isExpanded | ) | `[pure virtual]`

Internal use only.

virtual void MCCOMAPI I3DShTimeBasedData::SetTimeManager | ( | I3DShTimeManager * | timeManager | ) | `[pure virtual]`

Sets the timemanager (usually it is the time manager of the scene).

Parameters:

  | timeManager | A pointer to the time manager.

virtual void MCCOMAPI I3DShTimeBasedData::SetType | ( | IDType | type,
|  | const int8 * | className |
| ) |  |  | `[pure virtual]`

Sets the type of the timebased data.

Parameters:

  | type | The type.
  | className | Name of the class.

virtual void MCCOMAPI I3DShTimeBasedData::SetValidForCurrentTime | ( |  | ) | `[pure virtual]`

Mark as valid for current time.

The documentation for this struct was generated from the following file:

- I3dShAnimation.h