# ISceneSelection Struct Reference
[Shell Interfaces]

Inheritance diagram for ISceneSelection:

List of all members.

## Public Member Functions
virtual void MCCOMAPI | Clone (ISceneSelection **newSelection)=0
virtual MCCOMErr MCCOMAPI | Select (ISceneSelection *inSelection)=0
virtual boolean MCCOMAPI | IsMultipleSelection ()=0
virtual boolean MCCOMAPI | IsEmpty ()=0
virtual int32 MCCOMAPI | GetObjectCount ()=0
virtual const TSelectionPath &MCCOMAPI | GetSelectionPathByIndex (int32 index)=0
virtual ISelectableObject *MCCOMAPI | GetSelectableObjectByIndex (int32 index, TMCPtrArray< ISelectableObject > *outSelectablePath=NULL)=0
virtual MCCOMErr MCCOMAPI | GetTypedObjectByIndex (int32 index, const MCIID &riid, void **ppvObj)=0
virtual void MCCOMAPI | GetSelectedObject (const MCIID &riid, void **ppvObj)=0
virtual void MCCOMAPI | ClearSelection ()=0
virtual void MCCOMAPI | ClearSelectionByKind (IDType objectKind)=0
virtual boolean MCCOMAPI | IsCurrentSelection () const =0
virtual ESelectState MCCOMAPI | IsInSelection (const TSelectionNode &node) const =0
virtual void MCCOMAPI | SelectTree (I3DShTreeElement *tree, boolean addToSelection)=0
virtual void MCCOMAPI | CleanSelection ()=0
virtual void MCCOMAPI | ClearSelectionExceptKind (IDType objectKind)=0

## Member Function Documentation

virtual void MCCOMAPI ISceneSelection::CleanSelection | ( |  | ) | `[pure virtual]`

Checks that the selected objects are still valid and removes them from the selection if needed but tries to select a parent if possible. For example, useful for an action that removes a modifier: its parameters might be selected, so the tree will replace them in the selection

virtual void MCCOMAPI ISceneSelection::ClearSelection | ( |  | ) | `[pure virtual]`

Remove all elements from selection.

virtual void MCCOMAPI ISceneSelection::ClearSelectionByKind | ( | IDType | objectKind | ) | `[pure virtual]`

Remove all elements of a kind from the selection.

Parameters:

  | objectKind | The kind of object to remove.

See also:
  ESelectedObjectKind

virtual void MCCOMAPI ISceneSelection::ClearSelectionExceptKind | ( | IDType | objectKind | ) | `[pure virtual]`

Remove all elements of a kind other than specified from the selection.

Parameters:

  | objectKind | The kind of object to keep.

See also:
  ESelectedObjectKind
  ClearSelectionByKind

virtual void MCCOMAPI ISceneSelection::Clone | ( | ISceneSelection ** | newSelection | ) | `[pure virtual]`

Clone this selection. If this selection is the current selection of the scene, the new one will be considered as a copy and not as the current selection of the scene.

See also:
  IsCurrentSelection

Parameters:

  | newSelection | A pointer to the pointer being returned.

virtual int32 MCCOMAPI ISceneSelection::GetObjectCount | ( |  | ) | `[pure virtual]`

Get the number of objects in the selection.

virtual ISelectableObject* MCCOMAPI ISceneSelection::GetSelectableObjectByIndex | ( | int32 | index,
|  | TMCPtrArray< ISelectableObject > * | outSelectablePath = `NULL` |
| ) |  |  | `[pure virtual]`

Get an object of the selection by its index.

Parameters:

  | index | The index of the object in the selection.
  | outSelectablePath | An array filled with the selectable objects in the path.

virtual void MCCOMAPI ISceneSelection::GetSelectedObject | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[pure virtual]`

Get the first object in this selection that matches the given interface

Parameters:

  | riid | GUID of the interface
  | ppvObj | A pointer to the pointer being returned.

virtual const TSelectionPath& MCCOMAPI ISceneSelection::GetSelectionPathByIndex | ( | int32 | index | ) | `[pure virtual]`

Parameters:

  | TODO |

virtual MCCOMErr MCCOMAPI ISceneSelection::GetTypedObjectByIndex | ( | int32 | index,
|  | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[pure virtual]`

Get an object of the selection by its index and one of its interface.

Parameters:

  | index | The index of the object in the selection.

See also:
  GetObjectCount

Parameters:

  | riid | GUID of the interface.
  | ppvObj | A pointer to the pointer being returned.

virtual boolean MCCOMAPI ISceneSelection::IsCurrentSelection | ( |  | ) | const`[pure virtual]`

Return true if this selection is the current user selection of the document. Be careful when working on it.

See also:
  Clone

virtual boolean MCCOMAPI ISceneSelection::IsEmpty | ( |  | ) | `[pure virtual]`

Return true if the selection is empty.

virtual ESelectState MCCOMAPI ISceneSelection::IsInSelection | ( | const TSelectionNode & | node | ) | const`[pure virtual]`

Check if the selection node is in the selection.

Parameters:

  | node | The node to check.

virtual boolean MCCOMAPI ISceneSelection::IsMultipleSelection | ( |  | ) | `[pure virtual]`

Return true if the selection contains more than one object.

virtual MCCOMErr MCCOMAPI ISceneSelection::Select | ( | ISceneSelection * | inSelection | ) | `[pure virtual]`

Select all the objects selected by another selection. Previous selection will be cleared.

Parameters:

  | inSelection | The other selection. Must be in the same scene.

virtual void MCCOMAPI ISceneSelection::SelectTree | ( | I3DShTreeElement * | tree,
|  | boolean | addToSelection |
| ) |  |  | `[pure virtual]`

Select a tree.

Parameters:

  | tree | The tree to select.
  | addToSelection | If true, the tree will be added to the current selection, otherwise it will replace the selection.

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

- ISceneSelection.h