# I3DExAnimated Struct Reference
[External Interfaces]

Inheritance diagram for I3DExAnimated:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | RegisterParams ()=0
virtual MCCOMErr MCCOMAPI | InvalidateCaches (int32 itsID, int32 itsIndex)=0
virtual MCCOMErr MCCOMAPI | CopyTimeData (IMCUnknown *dest)=0

## Detailed Description

Your object should derive from this interface if you want to register extra parameters (parameters that are not in the parameter map). This allows you to register a dynamic number of parameters

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DExAnimated::CopyTimeData | ( | IMCUnknown * | dest | ) | `[pure virtual]`

Is called during clone to copy the animation data associated with the extra parameters registered in RegisterParams().

Parameters:

  | dest | A pointer to the destination component.

virtual MCCOMErr MCCOMAPI I3DExAnimated::InvalidateCaches | ( | int32 | itsID,
|  | int32 | itsIndex |
| ) |  |  | `[pure virtual]`

Invalidates caches associated with an animated parameter. In most cases this method should do nothing.

Parameters:

  | itsID | The ID of the parameter.
  | itsIndex | The index of the parameter.

virtual MCCOMErr MCCOMAPI I3DExAnimated::RegisterParams | ( |  | ) | `[pure virtual]`

This functions is called by the shell to register extra parameters for the object. Here an example of how to register an extra parameter:

     TMCCountedPtr<ITimeBased> timeBased;
     QueryInterface(IID_ITimeBased, (void**)&timeBased);
     ThrowIfNil(timeBased);

     I3DShTimeBasedData* timeBasedData = timeBased->GetTimeBasedDataNoAddRef();

     if (MCVerify(timeBasedData))
     {
       real param=0;
       timeBasedData->SetParam(&param,"Dynamic Param",'temp',kReal32ParamType);
     }

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

- I3dExAnimation.h