I3DShAttributesSet Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShAttributesSet:
IMCUnknown

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:
Generated on Mon Apr 26 22:47:40 2010 for Carrara SDK Doc by  doxygen 1.6.3