# I3DShMasterGroup Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShMasterGroup:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | SetScene (I3DShScene *topScene)=0
virtual I3DShScene *MCCOMAPI | GetScene ()=0
virtual MCCOMErr MCCOMAPI | GetTreeRoot (I3DShGroup **group)=0
virtual MCCOMErr MCCOMAPI | SetTreeRoot (I3DShGroup *universe)=0
virtual MCCOMErr MCCOMAPI | CreateTreeRootIfNone ()=0
virtual MCCOMErr MCCOMAPI | GetTreeElementByName (I3DShTreeElement **treeElement, const TMCString &name)=0
virtual uint32 MCCOMAPI | GetInstanceListCount ()=0
virtual MCCOMErr MCCOMAPI | GetInstanceByIndex (I3DShInstance **instance, uint32 index)=0
virtual uint32 MCCOMAPI | GetLightsourcesCount ()=0
virtual MCCOMErr MCCOMAPI | GetLightsourceByIndex (I3DShLightsource **light, uint32 index)=0
virtual uint32 MCCOMAPI | GetCamerasCount ()=0
virtual MCCOMErr MCCOMAPI | GetCameraByIndex (I3DShCamera **camera, uint32 index)=0
virtual MCCOMErr MCCOMAPI | GetFullPathName (TMCString &pathName)=0
virtual MCCOMErr MCCOMAPI | GetTreeElementFromFullName (I3DShTreeElement **treeElement, TMCString &fullName)=0
virtual uint32 MCCOMAPI | GetInstanceIndex (const I3DShInstance *instance)=0
virtual uint32 MCCOMAPI | GetTreesCount ()=0
virtual I3DShTreeElement *MCCOMAPI | GetTreeByIndex (uint32 index)=0
virtual uint32 MCCOMAPI | GetTreeIndex (const I3DShTreeElement *tree)=0
virtual MCCOMErr MCCOMAPI | GetTreeByPermanentID (I3DShTreeElement **tree, const TTreeId &permanentID)=0
virtual TTreeId MCCOMAPI | GetTreePermanentID (const I3DShTreeElement *tree)=0
virtual MCCOMErr MCCOMAPI | GetTreeByIDPath (I3DShTreeElement **tree, const TTreeIdPath &IDPath)=0
virtual boolean MCCOMAPI | PermanentIDIsValid (const TTreeId &ID)=0

## Detailed Description

A master group is a group that can be instantiated in a scene. Note that a scene is a master group.

A master group is also a Master Object so it implements I3DShObject too.

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::CreateTreeRootIfNone | ( |  | ) | `[pure virtual]`

Create an empty group at the root of the Master Group if there is not already a root.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetCameraByIndex | ( | I3DShCamera ** | camera,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Returns a camera that is is contained in the Master Group. (See GetCamerasCount()).

Parameters:

  | camera | A pointer to the camera.
  | index | The index of the camera in the Master Group.

virtual uint32 MCCOMAPI I3DShMasterGroup::GetCamerasCount | ( |  | ) | `[pure virtual]`

Returns the number of camera sources contained in the Master Group.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetFullPathName | ( | TMCString & | pathName | ) | `[pure virtual]`

This function is only valid for scene. It is the fullpath name of the file where the scene is saved.

Parameters:

  | pathName | The full path name.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetInstanceByIndex | ( | I3DShInstance ** | instance,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Returns an instance that is contained in the Master Group. (See GetInstanceListCount()).

Parameters:

  | instance | A pointer to the instance.
  | index | The index of the instance in the Master Group.

virtual uint32 MCCOMAPI I3DShMasterGroup::GetInstanceIndex | ( | const I3DShInstance * | instance | ) | `[pure virtual]`

Returns the index of a given instance inside the Master Group (see GetInstanceByIndex()).

Parameters:

  | instance | The instance of the scene for which you need the index

Returns:
  kUnusedIndex if the instance does not belong to this Master Group.

virtual uint32 MCCOMAPI I3DShMasterGroup::GetInstanceListCount | ( |  | ) | `[pure virtual]`

Returns the number of instances inside this Master Group. Note that this is not the instances of the Master Group (to access that, you should QueryInterface for I3DShObject

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetLightsourceByIndex | ( | I3DShLightsource ** | light,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Returns a light source that is is contained in the Master Group. (See GetLightsourcesCount()).

Parameters:

  | light | A pointer to the light source.
  | index | The index of the light source in the Master Group.

virtual uint32 MCCOMAPI I3DShMasterGroup::GetLightsourcesCount | ( |  | ) | `[pure virtual]`

Returns the number of light sources contained in the Master Group.

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

Returns a pointer to the scene that contains this master group.

Returns:
  NULL if the master is not contained in a scene.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetTreeByIDPath | ( | I3DShTreeElement ** | tree,
|  | const TTreeIdPath & | IDPath |
| ) |  |  | `[pure virtual]`

Returns the tree identified by the ID path

Parameters:

  | tree | The tree to be found
  | IDPath | The path of the tree relative to the Master Group

virtual I3DShTreeElement* MCCOMAPI I3DShMasterGroup::GetTreeByIndex | ( | uint32 | index | ) | `[pure virtual]`

Returns the tree at the given index

Parameters:

  | index | Must be between 0 and GetTreesCount() - 1

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetTreeByPermanentID | ( | I3DShTreeElement ** | tree,
|  | const TTreeId & | permanentID |
| ) |  |  | `[pure virtual]`

Returns the tree identified by the Permanent ID

Parameters:

  | tree | The tree to be found, the Permanent ID that is looked for
  | permanentID | The unique ID of the tree.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetTreeElementByName | ( | I3DShTreeElement ** | treeElement,
|  | const TMCString & | name |
| ) |  |  | `[pure virtual]`

Returns a sub tree of the Master Group by Name.

Parameters:

  | treeElement | A pointer to the tree element that is returned. (NULL if not found)
  | name | The name of the tree element.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetTreeElementFromFullName | ( | I3DShTreeElement ** | treeElement,
|  | TMCString & | fullName |
| ) |  |  | `[pure virtual]`

Returns instance with given full "path name" or NULL if no such instance is in the hierarchy

Parameters:

  | treeElement | A pointer to the tree element that is returned.
  | fullName | The full name of the tree Element

virtual uint32 MCCOMAPI I3DShMasterGroup::GetTreeIndex | ( | const I3DShTreeElement * | tree | ) | `[pure virtual]`

Returns the tree's index in the Master Group

Parameters:

  | tree | The tree of the Master Group for which you need the index

Returns:
  kUnusedIndex if the tree does not belong to the scene

virtual TTreeId MCCOMAPI I3DShMasterGroup::GetTreePermanentID | ( | const I3DShTreeElement * | tree | ) | `[pure virtual]`

Returns the tree PermanentID if find it, or else return 0;

Parameters:

  | tree |

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::GetTreeRoot | ( | I3DShGroup ** | group | ) | `[pure virtual]`

Returns the group that is the root of the Master Group.

Parameters:

  | group | A pointer to the root of the Master Group.

virtual uint32 MCCOMAPI I3DShMasterGroup::GetTreesCount | ( |  | ) | `[pure virtual]`

Returns the number of tree elements that belongs to the Master Group.

virtual boolean MCCOMAPI I3DShMasterGroup::PermanentIDIsValid | ( | const TTreeId & | ID | ) | `[pure virtual]`

Checks if the passed ID is not already used by a registered instance. Also Checks if the counter that delivers the new IDs is at least as big as this value.

Parameters:

  | ID | The ID that needs to be checked.

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::SetScene | ( | I3DShScene * | topScene | ) | `[pure virtual]`

Call this just after the creation of a master group with the scene attached to the document.

Parameters:

  | topScene |

virtual MCCOMErr MCCOMAPI I3DShMasterGroup::SetTreeRoot | ( | I3DShGroup * | universe | ) | `[pure virtual]`

Sets the group that is the root of the Master Group. (Works only if there was no tree root in the Master Group)

Parameters:

  | universe | A pointer to the new root of the Master Group.

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

- I3DShMasterGroup.h