# I3DShAttributesSet Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShAttributesSet:

List of all members.

## Public Member Functions
virtual I3DShScene *MCCOMAPI | GetScene ()=0
virtual MCCOMErr MCCOMAPI | InsertControler (I3DShAttributesSetControler *controler, uint32 index=kUnusedIndex)=0
virtual MCCOMErr MCCOMAPI | InsertControlerByID (int32 kindId, uint32 index=kUnusedIndex)=0
virtual MCCOMErr MCCOMAPI | RemoveControler (boolean localController, uint32 index)=0
virtual uint32 MCCOMAPI | GetControlersCount (boolean localController)=0
virtual I3DShAttributesSetControler *MCCOMAPI | GetControlerByIndex (boolean localController, uint32 index)=0
virtual I3DShAttributesSetControler *MCCOMAPI | GetControllerByID (uint32 id)=0
virtual uint32 MCCOMAPI | GetControlerIndex (uint32 id)=0
virtual MCCOMErr MCCOMAPI | SetControler (I3DShAttributesSetControler *controler, uint32 index)=0
virtual MCCOMErr MCCOMAPI | SetControlers (boolean localController, const TMCCountedPtrArray< I3DShAttributesSetControler > *controlers, ECloneMode cloneMode)=0
virtual void MCCOMAPI | ValidateAttributesMapping ()=0
virtual void MCCOMAPI | InvalidateAttributesMapping ()=0
| Makes sure that ValidateAttributesMapping does something...
virtual int32 MCCOMAPI | GetAttributeCount ()=0
virtual I3DShParamInfo *MCCOMAPI | GetAttribute (int32 index)=0
virtual I3DShTimeBasedData *MCCOMAPI | GetAttributeIndex (int32 index, int32 &paramIndex)=0
virtual int32 MCCOMAPI | FindAttributeIndex (I3DShParamInfo *paramInfo) const =0
virtual void MCCOMAPI | Invalidate ()=0
virtual void MCCOMAPI | InvalidateTimeLines ()=0
virtual uint32 MCCOMAPI | CreateTimeLineUniqueId ()=0
virtual boolean MCCOMAPI | IsTimeLineUniqueIdRegistered (uint32 id)=0
| Checks if a given unique id is registered in the attributes set.
virtual void MCCOMAPI | ReleaseTimeLineUniqueId (uint32 id)=0
| Releases an additional time line unique id.
virtual const TMCArray< uint32 > &MCCOMAPI | GetRegisteredUniqueIds ()=0
virtual void MCCOMAPI | SetRegisteredUniqueIds (const TMCArray< uint32 > &ids)=0
virtual void MCCOMAPI | CreateAttributesIterator (I3DShTreeElement *tree, I3DShAttributesIterator **outIter, boolean removing) const =0
virtual void MCCOMAPI | BeginChange ()=0
virtual void MCCOMAPI | EndChange ()=0
virtual void MCCOMAPI | SetEnable (boolean enable)=0
virtual MCCOMErr MCCOMAPI | SetConformingControler (int32 kindId)=0
virtual I3DShAttributesSetControler *MCCOMAPI | GetConformingController () const =0
| Gets the conforming controler.
virtual void MCCOMAPI | SetConformingControler (I3DShAttributesSetControler *controler)=0
| Sets the conforming controler.
virtual void MCCOMAPI | ParamInvalidated (int32 internalParamIndex, I3DExAttributesSetControler *notificationSource)=0
virtual void MCCOMAPI | ParamModified (int32 internalParamIndex, I3DExAttributesSetControler *notificationSource)=0
virtual void MCCOMAPI | SetControleShaders (boolean enable)=0
virtual boolean MCCOMAPI | GetControleShaders () const =0
virtual void MCCOMAPI | AddTemporaryController (I3DShAttributesSetControler *controler)=0
virtual void MCCOMAPI | RemoveTemporaryController (I3DShAttributesSetControler *controler)=0

## Detailed Description

The attributes set is a holder for a set of attributes. Those attributes are controled by a list of controlers. There is actualy two lists of controllers. The first one is a list of global controllers that are going to modify the parameter values depending on some external data (like the non linear animation controller that uses data stored into clips). Those controller are called one after each other in order when reading or writing a parameter. The second list is a list of local controllers. Those controllers when computing the value of one of the parameter, use only other parameters of the scene (for instance the linked parameter controller is a local controller as it provide a way to link two parameter of the scene). The local controllers are called multiple times. They are called between two global controllers and should be able to apply the modification depending on the parameter modifications done by the current global controller.

See also:
  I3DShAttributesSetControler
  I3DExAttributesSetControler

## Member Function Documentation

virtual void MCCOMAPI I3DShAttributesSet::AddTemporaryController | ( | I3DShAttributesSetControler * | controler | ) | `[pure virtual]`

virtual void MCCOMAPI I3DShAttributesSet::BeginChange | ( |  | ) | `[pure virtual]`

This function can be used for optimizing when doing some major changes in the time based and param infos. It will avoid multiple validation of the attributes. You MUST call EndChange() after doing all the modifications.

virtual void MCCOMAPI I3DShAttributesSet::CreateAttributesIterator | ( | I3DShTreeElement * | tree,
|  | I3DShAttributesIterator ** | outIter,
|  | boolean | removing |
| ) |  |  | const`[pure virtual]`

Creates an object that is able to iterate through all attributes that are controlled by this attributes set starting from a I3DShTreeElement. It could include parameters of sub trees of the given tree element, master objects of instances... Note that this iterator will work even of the tree is not part of the attributes set. In this case, the iterator will iterate through the parameters that would be controlled if the tree was part of it.

Parameters:

  | tree | The tree.
  | outIter | Created iterator.
  | removing | If true, the iterator will iterate through the parameter that will be removed if the tree is removed from the attributes set.

virtual uint32 MCCOMAPI I3DShAttributesSet::CreateTimeLineUniqueId | ( |  | ) | `[pure virtual]`

Creates a unique id that can be used as a unique id for additional time line on parameters controled by this attributes set.

virtual void MCCOMAPI I3DShAttributesSet::EndChange | ( |  | ) | `[pure virtual]`

This function can be used for optimizing when doing some major changes in the time based and param infos. It must be called after a BeginChange().

virtual int32 MCCOMAPI I3DShAttributesSet::FindAttributeIndex | ( | I3DShParamInfo * | paramInfo | ) | const`[pure virtual]`

Returns the attribute's index for I3DShParamInfo. If the parameter is not part of this attributes set, it returns -1. NOTE: this function is SMP safe.

Parameters:

  | paramInfo | The parameter.

virtual I3DShParamInfo* MCCOMAPI I3DShAttributesSet::GetAttribute | ( | int32 | index | ) | `[pure virtual]`

Get an attribute as a I3DShParamInfo. NOTE: this function is SMP safe.

Parameters:

  | index | The index of the attribute.

See also:
  I3DShParamInfo

virtual int32 MCCOMAPI I3DShAttributesSet::GetAttributeCount | ( |  | ) | `[pure virtual]`

Returns the number of attributes. NOTE: this function is SMP safe.

virtual I3DShTimeBasedData* MCCOMAPI I3DShAttributesSet::GetAttributeIndex | ( | int32 | index,
|  | int32 & | paramIndex |
| ) |  |  | `[pure virtual]`

Get an attribute as a I3DShTimeBasedData and the index of the parameter. NOTE: this function is SMP safe.

Parameters:

  | index | The index of the attribute.
  | paramIndex | Will be set with the index of the parameter in the I3DShTimeBasedData that is returned.

virtual I3DShAttributesSetControler* MCCOMAPI I3DShAttributesSet::GetConformingController | ( |  | ) | const`[pure virtual]`

Gets the conforming controler.

virtual I3DShAttributesSetControler* MCCOMAPI I3DShAttributesSet::GetControlerByIndex | ( | boolean | localController,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Returns a controler.

Parameters:

  | localController | Which list (global or local controllers).
  | index | Index of the controler.

virtual uint32 MCCOMAPI I3DShAttributesSet::GetControlerIndex | ( | uint32 | id | ) | `[pure virtual]`

Gets the index of a controller in the list of controlers according to its ID.

Parameters:

  | id | The id of the controller to look for.

virtual uint32 MCCOMAPI I3DShAttributesSet::GetControlersCount | ( | boolean | localController | ) | `[pure virtual]`

Returns the number of controlers.

Parameters:

  | localController | Which list (global or local controllers).

virtual boolean MCCOMAPI I3DShAttributesSet::GetControleShaders | ( |  | ) | const`[pure virtual]`

virtual I3DShAttributesSetControler* MCCOMAPI I3DShAttributesSet::GetControllerByID | ( | uint32 | id | ) | `[pure virtual]`

Returns a controler.

Parameters:

  | localController | Which list (global or local controllers).
  | id | ID of the controler.

virtual const TMCArray<uint32>& MCCOMAPI I3DShAttributesSet::GetRegisteredUniqueIds | ( |  | ) | `[pure virtual]`

Returns the list of registered unique ids. NOTE: this function should not be used

virtual I3DShScene* MCCOMAPI I3DShAttributesSet::GetScene | ( |  | ) | `[pure virtual]`

Returns a pointer to the scene that contains this attributes set.

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::InsertControler | ( | I3DShAttributesSetControler * | controler,
|  | uint32 | index = `kUnusedIndex` |
| ) |  |  | `[pure virtual]`

Inserts a new attributes set controler.

Parameters:

  | controler | The controler to add.
  | index | Where to insert the controler in the list (could be the local or global controller list depending on the controller type).

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::InsertControlerByID | ( | int32 | kindId,
|  | uint32 | index = `kUnusedIndex` |
| ) |  |  | `[pure virtual]`

Creates and inserts a new attributes set controler.

Parameters:

  | kindId | The id of the controler.
  | index | Where to insert the controler in the list (could be the local or global controller list depending on the controller type).

virtual void MCCOMAPI I3DShAttributesSet::Invalidate | ( |  | ) | `[pure virtual]`

Invalidates all the parameters controled by this attributes set.

virtual void MCCOMAPI I3DShAttributesSet::InvalidateAttributesMapping | ( |  | ) | `[pure virtual]`

Makes sure that ValidateAttributesMapping does something...

virtual void MCCOMAPI I3DShAttributesSet::InvalidateTimeLines | ( |  | ) | `[pure virtual]`

Invalidates all merged time lines controled by this attributes set.

virtual boolean MCCOMAPI I3DShAttributesSet::IsTimeLineUniqueIdRegistered | ( | uint32 | id | ) | `[pure virtual]`

Checks if a given unique id is registered in the attributes set.

Parameters:

  | id | The id to check.

virtual void MCCOMAPI I3DShAttributesSet::ParamInvalidated | ( | int32 | internalParamIndex,
|  | I3DExAttributesSetControler * | notificationSource |
| ) |  |  | `[pure virtual]`

Can be used by a controler to notify other controlers of a param invalidation

Parameters:

  | internalParamIndex | the index of the param in the attribute set.
  | notificationSource | the controler that calls the notification (to avoid loops)

virtual void MCCOMAPI I3DShAttributesSet::ParamModified | ( | int32 | internalParamIndex,
|  | I3DExAttributesSetControler * | notificationSource |
| ) |  |  | `[pure virtual]`

Can be used by a controler to notify other controlers of a param modification

Parameters:

  | internalParamIndex | the index of the param in the attribute set.
  | notificationSource | the controler that calls the notification (to avoid loops)

virtual void MCCOMAPI I3DShAttributesSet::ReleaseTimeLineUniqueId | ( | uint32 | id | ) | `[pure virtual]`

Releases an additional time line unique id.

Parameters:

  | id | The id to release.

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::RemoveControler | ( | boolean | localController,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Removes an attributes set controler.

Parameters:

  | localController | Which list (global or local controllers).
  | index | Index of the controler to remove.

virtual void MCCOMAPI I3DShAttributesSet::RemoveTemporaryController | ( | I3DShAttributesSetControler * | controler | ) | `[pure virtual]`

virtual void MCCOMAPI I3DShAttributesSet::SetConformingControler | ( | I3DShAttributesSetControler * | controler | ) | `[pure virtual]`

Sets the conforming controler.

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::SetConformingControler | ( | int32 | kindId | ) | `[pure virtual]`

Creates the conforming controler if kindId is 0, sets it to NULL.

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::SetControler | ( | I3DShAttributesSetControler * | controler,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Replace a controller in the list of controlers.

Parameters:

  | index | The index of the controler to be set in the controller's list.
  | controler | The controler to be set.

virtual MCCOMErr MCCOMAPI I3DShAttributesSet::SetControlers | ( | boolean | localController,
|  | const TMCCountedPtrArray< I3DShAttributesSetControler > * | controlers,
|  | ECloneMode | cloneMode |
| ) |  |  | `[pure virtual]`

Set the list of controlers.

Parameters:

  | localController | Which list (global or local controllers).
  | controlers | The list of controlers.
  | cloneMode | The clone mode (see ECloneMode).

virtual void MCCOMAPI I3DShAttributesSet::SetControleShaders | ( | boolean | enable | ) | `[pure virtual]`

virtual void MCCOMAPI I3DShAttributesSet::SetEnable | ( | boolean | enable | ) | `[pure virtual]`

Enable or disable the attributes set.

virtual void MCCOMAPI I3DShAttributesSet::SetRegisteredUniqueIds | ( | const TMCArray< uint32 > & | ids | ) | `[pure virtual]`

Sets the list of registered unique ids. NOTE: this function should not be used

virtual void MCCOMAPI I3DShAttributesSet::ValidateAttributesMapping | ( |  | ) | `[pure virtual]`

Force a validation of the attributes mapping. You usually do not need to call this function directly as it will be done for you when you call any other functions of the attributes set.

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

- I3DShAttributesSet.h