# I3DShParamTimeLine Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShParamTimeLine:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | Clone (I3DShParamTimeLine **outClone) const =0
virtual MCCOMErr MCCOMAPI | CopyData (I3DShParamTimeLine *inDest) const =0
virtual boolean MCCOMAPI | IsValid (MicroTick &outBadDelta) const =0
virtual boolean MCCOMAPI | IsAnimated () const =0
virtual MCCOMErr MCCOMAPI | AddLink (I3DShTweenerChainLink *inNewLink, boolean inRemoveDuplicate)=0
virtual MCCOMErr MCCOMAPI | InsertLinkAfter (const I3DShTweenerChainLink *inPrevLink, I3DShTweenerChainLink *inNewLink, boolean inRemoveDuplicate)=0
virtual MCCOMErr MCCOMAPI | InsertLinkAfter (int32 inIndex, I3DShTweenerChainLink *inNewLink, boolean inRemoveDuplicate)=0
virtual MCCOMErr MCCOMAPI | RemoveLink (I3DShTweenerChainLink *inLink)=0
virtual MCCOMErr MCCOMAPI | AddKeyFrame (MicroTick inTime, const void *inParam, int32 inType)=0
virtual MCCOMErr MCCOMAPI | AddKeyFrame (MicroTick inTime, const TParamHolder &inParam)=0
virtual boolean MCCOMAPI | RemoveKeyFrame (MicroTick inTime)=0
virtual MCCOMErr MCCOMAPI | GetTweener (MicroTick inTime, I3DShTweener **outTweener)=0
virtual MCCOMErr MCCOMAPI | SetTweener (MicroTick inTime, I3DShTweener *inTweener)=0
virtual int32 MCCOMAPI | GetUniqueID () const =0
virtual IDType MCCOMAPI | GetType () const =0
virtual int32 MCCOMAPI | GetTweenerChainLinkCount () const =0
virtual MCCOMErr MCCOMAPI | GetTweenerChainLinkByIndex (int32 inIndex, I3DShTweenerChainLink **outLink) const =0
virtual I3DShTweenerChainLink *MCCOMAPI | GetTweenerChainLinkByIndex (const int32 inIndex) const =0
| return the tweener chain link at teh given index
virtual MCCOMErr MCCOMAPI | GetPreviousLink (int32 inTime, I3DShTweenerChainLink **outLink, int32 *outIndex=NULL) const =0
virtual boolean MCCOMAPI | Evaluate (const MicroTick time, void *param, const int32 paramType, int32 *ioLinkIndex=NULL) const =0
virtual boolean MCCOMAPI | Evaluate (const MicroTick time, TParamHolder &param, int32 *ioLinkIndex=NULL) const =0
virtual MCCOMErr MCCOMAPI | ResetTweenerChainLinks ()=0
virtual TMCPoint MCCOMAPI | GetDrawOrigin ()=0
virtual MCCOMErr MCCOMAPI | SetDrawOrigin (TMCPoint &origin)=0
virtual MCCOMErr MCCOMAPI | WhenIsNextKeyFrame (const TTimeInfo &inPrevious, TTimeInfo &outNext, I3DShTweenerChainLink **outLink) const =0
virtual MicroTick MCCOMAPI | WhenIsLastKeyFrame () const =0
virtual MCCOMErr MCCOMAPI | Reorder ()=0
virtual I3DShParamInfo *MCCOMAPI | GetFatherParamInfoNoAddRef () const =0
virtual void MCCOMAPI | GetInitialValue (void *buffer, int32 type, boolean &changed) const =0
virtual MCCOMErr MCCOMAPI | ApplyOffset (const void *param, int32 type)=0

## Detailed Description

A Time line is the list of tweeners and key frames that defines the animation of a parameter.

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::AddKeyFrame | ( | MicroTick | inTime,
|  | const TParamHolder & | inParam |
| ) |  |  | `[pure virtual]`

Adds a keyframe to the timeline.

Parameters:

  | inTime | The time of the keyframe.
  | inParam | The value of the keyframe.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::AddKeyFrame | ( | MicroTick | inTime,
|  | const void * | inParam,
|  | int32 | inType |
| ) |  |  | `[pure virtual]`

Adds a keyframe to the timeline.

Parameters:

  | inTime | The time of the keyframe.
  | inParam | The value of the keyframe
  | inType | The type of the keyframe (see I3DShKeyFrame).

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::AddLink | ( | I3DShTweenerChainLink * | inNewLink,
|  | boolean | inRemoveDuplicate |
| ) |  |  | `[pure virtual]`

Adds a new link to the timeline.

Parameters:

  | inNewLink | The link to add to the timeline
  | inRemoveDuplicate | If true and the new link has the same time than another link, the "old" link is removed from the timeline

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::ApplyOffset | ( | const void * | param,
|  | int32 | type |
| ) |  |  | `[pure virtual]`

Apply an offset to all the keyframes

Parameters:

  | param | A pointer to the value.
  | type | The type of the value (should be the same as the type of the keyframe usually although some limited conversions are possible).

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::Clone | ( | I3DShParamTimeLine ** | outClone | ) | const`[pure virtual]`

Creates a copy of the time line.

Parameters:

  | outClone | A pointer to the copy that is returned.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::CopyData | ( | I3DShParamTimeLine * | inDest | ) | const`[pure virtual]`

Copy the current time into another.

Parameters:

  | inDest | The destination time line.

virtual boolean MCCOMAPI I3DShParamTimeLine::Evaluate | ( | const MicroTick | time,
|  | TParamHolder & | param,
|  | int32 * | ioLinkIndex = `NULL` |
| ) |  |  | const`[pure virtual]`

Calculates the parameter at the given time

Parameters:

  | time | the time when the timeline should be evaluated
  | param | the result of the evaluation (must be of the correct type)
  | ioLinkIndex | on imput, from where the seach should be started (optimization), on output the index of the link used to interpolate

virtual boolean MCCOMAPI I3DShParamTimeLine::Evaluate | ( | const MicroTick | time,
|  | void * | param,
|  | const int32 | paramType,
|  | int32 * | ioLinkIndex = `NULL` |
| ) |  |  | const`[pure virtual]`

Calculates the parameter at the given time

Parameters:

  | time | the time when the timeline should be evaluated
  | param | the result of the evaluation (must be of the correct size...)
  | paramType | the type of the param (must match the one of the keyframes in the timeline
  | ioLinkIndex | on imput, from where the seach should be started (optimization), on output the index of the link used to interpolate

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

Internal use only.

virtual I3DShParamInfo* MCCOMAPI I3DShParamTimeLine::GetFatherParamInfoNoAddRef | ( |  | ) | const`[pure virtual]`

Returns the father I3DShParamInfo.

virtual void MCCOMAPI I3DShParamTimeLine::GetInitialValue | ( | void * | buffer,
|  | int32 | type,
|  | boolean & | changed |
| ) |  |  | const`[pure virtual]`

Returns the value stored in the initial keyframe if there is one

Parameters:

  | buffer | A pointer to a buffer that can store the value.
  | type | The type of the buffer (should be the same as the type of the keyframe usually although some limited conversions are possible).
  | changed | Returns true if the value that is returned is different from the value that was originally pointed to by buffer.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::GetPreviousLink | ( | int32 | inTime,
|  | I3DShTweenerChainLink ** | outLink,
|  | int32 * | outIndex = `NULL` |
| ) |  |  | const`[pure virtual]`

Returns true previous link in the tweener chain.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::GetTweener | ( | MicroTick | inTime,
|  | I3DShTweener ** | outTweener |
| ) |  |  | `[pure virtual]`

Returns the tweener that interpolate between this keyframe and the next Returns a NULL pointer if inTime is after the last keyFrame.

Parameters:

  | inTime | The time for which we want the tweener.
  | outTweener | A pointer to the tweener that is returned.

virtual I3DShTweenerChainLink* MCCOMAPI I3DShParamTimeLine::GetTweenerChainLinkByIndex | ( | const int32 | inIndex | ) | const`[pure virtual]`

return the tweener chain link at teh given index

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::GetTweenerChainLinkByIndex | ( | int32 | inIndex,
|  | I3DShTweenerChainLink ** | outLink |
| ) |  |  | const`[pure virtual]`

Returns a tweener chain link.

Parameters:

  | inIndex | The index of the tweener chain link.
  | outLink | A pointer to the chain link that is returned.

virtual int32 MCCOMAPI I3DShParamTimeLine::GetTweenerChainLinkCount | ( |  | ) | const`[pure virtual]`

Returns the number of tweener chain link in the timeline.

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

Returns the type of the data.

virtual int32 MCCOMAPI I3DShParamTimeLine::GetUniqueID | ( |  | ) | const`[pure virtual]`

Returns a uniqueID for the timeline.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::InsertLinkAfter | ( | int32 | inIndex,
|  | I3DShTweenerChainLink * | inNewLink,
|  | boolean | inRemoveDuplicate |
| ) |  |  | `[pure virtual]`

Adds a new link to the timeline. If inRemoveDuplicate is true, and the new link has the same time than another link, the "old" link is removed from the timeline

Parameters:

  | inIndex | The index of the link before the link that should be added.
  | inNewLink | The link to add.
  | inRemoveDuplicate |

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::InsertLinkAfter | ( | const I3DShTweenerChainLink * | inPrevLink,
|  | I3DShTweenerChainLink * | inNewLink,
|  | boolean | inRemoveDuplicate |
| ) |  |  | `[pure virtual]`

Adds a new link to the timeline. If inRemoveDuplicate is true, and the new link has the same time than another link, the "old" link is removed from the timeline

Parameters:

  | inPrevLink | The link before the link that should be added.
  | inNewLink | The link to add.
  | inRemoveDuplicate |

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

Returns true if the time line contains more than one key frame.

virtual boolean MCCOMAPI I3DShParamTimeLine::IsValid | ( | MicroTick & | outBadDelta | ) | const`[pure virtual]`

returns True if the timeline is valid.

virtual boolean MCCOMAPI I3DShParamTimeLine::RemoveKeyFrame | ( | MicroTick | inTime | ) | `[pure virtual]`

Removes a keyframe from the time line.

Parameters:

  | inTime | The time of the keyframe.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::RemoveLink | ( | I3DShTweenerChainLink * | inLink | ) | `[pure virtual]`

Removes a link from the timeline

Parameters:

  | inLink | The link to remove.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::Reorder | ( |  | ) | `[pure virtual]`

Reorder the tweener chain links.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::ResetTweenerChainLinks | ( |  | ) | `[pure virtual]`

Removes all the chain links.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::SetDrawOrigin | ( | TMCPoint & | origin | ) | `[pure virtual]`

Internal use only.

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::SetTweener | ( | MicroTick | inTime,
|  | I3DShTweener * | inTweener |
| ) |  |  | `[pure virtual]`

Sets the tweener that is used for the interpolation at a given time.

Parameters:

  | inTime | The time that is considered.
  | inTweener | A pointer to the tweener.

virtual MicroTick MCCOMAPI I3DShParamTimeLine::WhenIsLastKeyFrame | ( |  | ) | const`[pure virtual]`

Returns:
  The time of the last KeyFrame of the time line (and -1 if there is no keyframe).

virtual MCCOMErr MCCOMAPI I3DShParamTimeLine::WhenIsNextKeyFrame | ( | const TTimeInfo & | inPrevious,
|  | TTimeInfo & | outNext,
|  | I3DShTweenerChainLink ** | outLink |
| ) |  |  | const`[pure virtual]`

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

- I3dShAnimation.h