# I3DShMaster Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShMaster:

List of all members.

## Public Member Functions
virtual uint32 MCCOMAPI | GetInstancesCount ()=0
virtual MCCOMErr MCCOMAPI | SetName (const TMCString &name)=0
virtual MCCOMErr MCCOMAPI | GetName (TMCString &name)=0
virtual MCCOMErr MCCOMAPI | GetIcon (const uint32 size, TMCPixelBucket **outBucket, boolean withAlphaChannel)=0
virtual MCCOMErr MCCOMAPI | GetIconNow (const uint32 size, TMCPixelBucket **outBucket, boolean withAlphaChannel)=0
virtual MCCOMErr MCCOMAPI | GetPreview (const uint32 width, const uint32 height, TMCPixelBucket **outBucket, boolean withAlphaChannel)=0
virtual MCCOMErr MCCOMAPI | GetPreviewNow (const uint32 width, const uint32 height, TMCPixelBucket **outBucket, boolean withAlphaChannel)=0
virtual MCCOMErr MCCOMAPI | GetIconChangeChannel (IChangeChannel **channel)=0
virtual boolean MCCOMAPI | GetAlwaysCloneOnModify ()=0
virtual MCCOMErr MCCOMAPI | SetSourceFile (const TMCString &sourceFile)=0
virtual const TMCString *MCCOMAPI | GetSourceFile () const =0
virtual void MCCOMAPI | RegisterListener (I3DMasterListener *listener)=0
virtual void MCCOMAPI | UnregisterListener (I3DMasterListener *listener)=0

## Detailed Description

I3DShMaster provides a generic interface to access object that can be instanced. It is implemented by Master Objects, Groups, Shaders and Sounds.

## Member Function Documentation

virtual boolean MCCOMAPI I3DShMaster::GetAlwaysCloneOnModify | ( |  | ) | `[pure virtual]`

Returns true if a new copy of the Master should be created each time it is modified.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetIcon | ( | const uint32 | size,
|  | TMCPixelBucket ** | outBucket,
|  | boolean | withAlphaChannel |
| ) |  |  | `[pure virtual]`

Returns an icon that can be used to display a preview of the object. This method is asynchronous.

Parameters:

  | size | The size in pixel of the icon.
  | outBucket | A pointer to a pixel bucket that contains the image.
  | withAlphaChannel | True if the pixel buckets contains alpha channel.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetIconChangeChannel | ( | IChangeChannel ** | channel | ) | `[pure virtual]`

Returns the a change channel that can be used to be notified when an icon has been calculated (see GetIcon()).

Parameters:

  | channel | A pointer to the change channel.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetIconNow | ( | const uint32 | size,
|  | TMCPixelBucket ** | outBucket,
|  | boolean | withAlphaChannel |
| ) |  |  | `[pure virtual]`

Same as GetIcon() but this method will block until the icon has been calculated.

Parameters:

  | size | The size in pixel of the icon.
  | outBucket | A pointer to a pixel bucket that contains the image.
  | withAlphaChannel | True if the pixel buckets contains alpha channel.

virtual uint32 MCCOMAPI I3DShMaster::GetInstancesCount | ( |  | ) | `[pure virtual]`

Returns the number of instances of this master in the scene.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetName | ( | TMCString & | name | ) | `[pure virtual]`

Returns the name of the Master.

Parameters:

  | name | The name of the Master.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetPreview | ( | const uint32 | width,
|  | const uint32 | height,
|  | TMCPixelBucket ** | outBucket,
|  | boolean | withAlphaChannel |
| ) |  |  | `[pure virtual]`

Returns a preview of the master. This method is asynchronous.

Parameters:

  | width | The width of the preview.
  | height | The height of the preview.
  | outBucket | A pointer to a pixel bucket that contains the preview.
  | withAlphaChannel | True if the pixel buckets contains alpha channel.

virtual MCCOMErr MCCOMAPI I3DShMaster::GetPreviewNow | ( | const uint32 | width,
|  | const uint32 | height,
|  | TMCPixelBucket ** | outBucket,
|  | boolean | withAlphaChannel |
| ) |  |  | `[pure virtual]`

Same as GetPreview() except that it will block until the preview has been calculated.

Parameters:

  | width | The width of the preview.
  | height | The height of the preview.
  | outBucket | A pointer to a pixel bucket that contains the preview.
  | withAlphaChannel | True if the pixel buckets contains alpha channel.

virtual const TMCString* MCCOMAPI I3DShMaster::GetSourceFile | ( |  | ) | const`[pure virtual]`

Gets the file full pathname of the object, if any. Used only if the object belongs to the Browser.

Returns:
  NULL if the object does not belong to the Browser.

virtual void MCCOMAPI I3DShMaster::RegisterListener | ( | I3DMasterListener * | listener | ) | `[pure virtual]`

Registers a listener.

virtual MCCOMErr MCCOMAPI I3DShMaster::SetName | ( | const TMCString & | name | ) | `[pure virtual]`

Sets the name of a master. Note that you should not call this method once the master is inserted in a scene because it does not garantee the unicity of the name.

If you want to change the name of a Master Object once it is inserted in a scene, you should call: I3DShScene::Rename3DObject().

If you want to change the name of a Master Shader once it is inserted in a scene, you should call I3DShScene::RenameMasterShader().

Parameters:

  | name | The new name of the master.

virtual MCCOMErr MCCOMAPI I3DShMaster::SetSourceFile | ( | const TMCString & | sourceFile | ) | `[pure virtual]`

Sets the file full pathname of the object, if any. Used only if the object belongs to the Browser.

Parameters:

  | sourceFile | The full pathname.

virtual void MCCOMAPI I3DShMaster::UnregisterListener | ( | I3DMasterListener * | listener | ) | `[pure virtual]`

Unregister a listener.

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

- I3DShMaster.h