# TTimeBased Class Reference
[Shell Interfaces]

Inheritance diagram for TTimeBased:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual boolean MCCOMAPI | IsAnimated () const
virtual void MCCOMAPI | SetAnimated (boolean animated)
virtual I3DShTimeBasedData *MCCOMAPI | GetTimeBasedDataNoAddRef ()
virtual void MCCOMAPI | SetLocalTime (MicroTick inTime)
virtual MicroTick MCCOMAPI | GetCurrentTime () const
virtual boolean MCCOMAPI | CheckParameterRange (int32 itsIndex, void *value, IDType type) const
| This function can be used to enforce some range check for the parameters.
virtual I3DShAttributesSet *MCCOMAPI | GetOverrideAttributesSet (IDType subGroupParamID)
virtual void MCCOMAPI | InvalidateCaches (int32 itsID, int32 itsIndex)
| You should override this if your animated data generates cached data that needs to be invalidated.
void | SetValidForCurrentTime ()
MCCOMErr | MarkParamAsModified (int32 index)
void | CheckParamForRead (int32 index) const
void | SetApproximateParamCount (uint32 Count)
int32 | SetParam (void *aParam, const int8 *itsName, int32 itsID, int32 itsType, int8 graphColorIndex=-1)
int32 | InsertParam (int32 inIndex, void *aParam, const int8 *itsName, int32 itsID, int32 itsType, int8 graphColorIndex=-1)
int32 | SetParamGroup (TTimeBased *aGroup, const int8 *itsName, int32 itsID)
int32 | InsertParamGroup (int32 inIndex, TTimeBased *aGroup, const int8 *itsName, int32 itsID)
MCCOMErr | RemoveParams (const int32 index, const int32 count)
| WARNING: when removing params, be aware that all the following indexes will shift.
MCCOMErr | ClearParams ()
MCCOMErr | EnableParam (int32 index, boolean enable)
MCCOMErr | ChangeParamGroup (TTimeBased *aGroup, int32 index)
void | SetTimeManager (I3DShTimeManager *timeManager)
void | GetTimeManager (I3DShTimeManager **timeManager)
void | SetType (int32 itsType, const int8 *className=nil)
void | CopyTimeData (ECloneMode mode, TTimeBased *dest) const
boolean | SynchWithCurrentTime (int32 index, boolean &invalidFlag, void *privData=nil)
I3DShTimeBasedData * | GetShTimeBasedNoAddRef () const
I3DShAttributesSet * | GetAttributesSetControler () const
## Protected Member Functions
| TTimeBased ()
virtual | ~TTimeBased ()
boolean | AreParamsRegistered () const
virtual void | RegisterParams ()
virtual void | SelfSynchWithCurrentTime (int32 index, void *privData)
## Protected Attributes
TMCCountedPtr< I3DShTimeBasedData > | fTimeBasedData
## Private Member Functions
void | SafeRegisterParams ()
## Private Attributes
boolean | fParamsRegistered

## Detailed Description

Implementation of an animated object. This class is meant to be derived. Do not instanciate as it doesn't define the memory operator. (TCountedTimeBased gets them from TMCSMPCountedObject)

See also:
  ITimeBased

## Constructor & Destructor Documentation

TTimeBased::TTimeBased | ( |  | ) | `[protected]`

virtual TTimeBased::~TTimeBased | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

boolean TTimeBased::AreParamsRegistered | ( |  | ) | const`[inline, protected]`

MCCOMErr TTimeBased::ChangeParamGroup | ( | TTimeBased * | aGroup,
|  | int32 | index |
| ) |  |  |

virtual boolean MCCOMAPI TTimeBased::CheckParameterRange | ( | int32 | itsIndex,
|  | void * | value,
|  | IDType | type |
| ) |  |  | const`[inline, virtual]`

This function can be used to enforce some range check for the parameters.

Parameters:

  | itsIndex | Index of the paramater in the time based data.
  | value | Value of the parameter.
  | type | Type of the parameter.

Returns:
  true if the parameter has been modified

Implements ITimeBased.

MCCOMErr TTimeBased::ClearParams | ( |  | ) |

void TTimeBased::CopyTimeData | ( | ECloneMode | mode,
|  | TTimeBased * | dest |
| ) |  |  | const

MCCOMErr TTimeBased::EnableParam | ( | int32 | index,
|  | boolean | enable |
| ) |  |  |

I3DShAttributesSet* TTimeBased::GetAttributesSetControler | ( |  | ) | const

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

Implements ITimeBased.

virtual I3DShAttributesSet* MCCOMAPI TTimeBased::GetOverrideAttributesSet | ( | IDType | subGroupParamID | ) | `[inline, virtual]`

You can use this function to override the attributes set that will control a given sub param group of this time based. Usually, all sub groups are controlled by the attributes set that is controlling the current group.

Parameters:

  | subGroupParamID | ID of the sub group.

Implements ITimeBased.

I3DShTimeBasedData* TTimeBased::GetShTimeBasedNoAddRef | ( |  | ) | const`[inline]`

virtual I3DShTimeBasedData* MCCOMAPI TTimeBased::GetTimeBasedDataNoAddRef | ( |  | ) | `[virtual]`

Implements ITimeBased.

void TTimeBased::GetTimeManager | ( | I3DShTimeManager ** | timeManager | ) |

int32 TTimeBased::InsertParam | ( | int32 | inIndex,
|  | void * | aParam,
|  | const int8 * | itsName,
|  | int32 | itsID,
|  | int32 | itsType,
|  | int8 | graphColorIndex = `-1` |
| ) |  |  |

int32 TTimeBased::InsertParamGroup | ( | int32 | inIndex,
|  | TTimeBased * | aGroup,
|  | const int8 * | itsName,
|  | int32 | itsID |
| ) |  |  |

virtual void MCCOMAPI TTimeBased::InvalidateCaches | ( | int32 | itsID,
|  | int32 | itsIndex |
| ) |  |  | `[virtual]`

You should override this if your animated data generates cached data that needs to be invalidated.

Implements ITimeBased.

Reimplemented in TTimeBasedList.

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

Implements ITimeBased.

MCCOMErr TTimeBased::MarkParamAsModified | ( | int32 | index | ) |

virtual MCCOMErr MCCOMAPI TTimeBased::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[virtual]`

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:

  | riid | GUID of the interface
  | ppvObj | A pointer to the pointer being returned.

Implements IMCUnknown.

Reimplemented in TCountedTimeBased.

virtual void TTimeBased::RegisterParams | ( |  | ) | `[protected, virtual]`

Reimplemented in TTimeBasedList.

MCCOMErr TTimeBased::RemoveParams | ( | const int32 | index,
|  | const int32 | count |
| ) |  |  |

WARNING: when removing params, be aware that all the following indexes will shift.

void TTimeBased::SafeRegisterParams | ( |  | ) | `[inline, private]`

virtual void TTimeBased::SelfSynchWithCurrentTime | ( | int32 | index,
|  | void * | privData |
| ) |  |  | `[protected, virtual]`

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

Implements ITimeBased.

void TTimeBased::SetApproximateParamCount | ( | uint32 | Count | ) |

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

Implements ITimeBased.

int32 TTimeBased::SetParam | ( | void * | aParam,
|  | const int8 * | itsName,
|  | int32 | itsID,
|  | int32 | itsType,
|  | int8 | graphColorIndex = `-1` |
| ) |  |  |

int32 TTimeBased::SetParamGroup | ( | TTimeBased * | aGroup,
|  | const int8 * | itsName,
|  | int32 | itsID |
| ) |  |  |

void TTimeBased::SetTimeManager | ( | I3DShTimeManager * | timeManager | ) |

void TTimeBased::SetType | ( | int32 | itsType,
|  | const int8 * | className = `nil` |
| ) |  |  |

void TTimeBased::SetValidForCurrentTime | ( |  | ) |

boolean TTimeBased::SynchWithCurrentTime | ( | int32 | index,
|  | boolean & | invalidFlag,
|  | void * | privData = `nil` |
| ) |  |  | `[inline]`

## Member Data Documentation

boolean TTimeBased::fParamsRegistered`[private]`

TMCCountedPtr<I3DShTimeBasedData> TTimeBased::fTimeBasedData`[protected]`

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

- AnimUtilities.h