# TBasicSceneCommand Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicSceneCommand:

List of all members.

## Public Member Functions
| TBasicSceneCommand ()
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual void MCCOMAPI | GetMenuCallBack (ISelfPrepareMenuCallBack **callBack)
virtual MCCOMErr MCCOMAPI | Init (ISceneDocument *sceneDocument)
virtual MCCOMErr MCCOMAPI | Prepare ()
virtual boolean MCCOMAPI | CanUndo ()
virtual boolean MCCOMAPI | Do ()
virtual boolean MCCOMAPI | Undo ()
virtual boolean MCCOMAPI | Redo ()
virtual boolean MCCOMAPI | PostPrepare ()
## Protected Attributes
boolean | fNeedsSelection

## Detailed Description

Basic Scene Command class. Derive from this for a default implementation of I3DExSceneCommand

See also:
  I3DExSceneCommand

## Constructor & Destructor Documentation

TBasicSceneCommand::TBasicSceneCommand | ( |  | ) |

## Member Function Documentation

virtual uint32 MCCOMAPI TBasicSceneCommand::AddRef | ( |  | ) | `[inline, virtual]`

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual boolean MCCOMAPI TBasicSceneCommand::CanUndo | ( |  | ) | `[virtual]`

Returns true if the Scene Command is undoable

Implements I3DExSceneCommand.

virtual boolean MCCOMAPI TBasicSceneCommand::Do | ( |  | ) | `[virtual]`

Do phase. Returns true if your actually changed something in the Scene

Implements I3DExSceneCommand.

virtual void MCCOMAPI TBasicSceneCommand::GetMenuCallBack | ( | ISelfPrepareMenuCallBack ** | callBack | ) | `[virtual]`

Returns a callBack that is called to check if this scene command is enabled for a given document. Note that the returned object should never keep a reference to the scene document or anything in the scene since it will only be deleted when the application shutsdown

Parameters:

  | callBack | A reference to the callBack

Implements I3DExSceneCommand.

virtual MCCOMErr MCCOMAPI TBasicSceneCommand::Init | ( | ISceneDocument * | sceneDocument | ) | `[virtual]`

Init() is called after the Scene Command is instanciated. Use sceneDocument to get the selection or any other Scene data you would need to perform your action

Parameters:

  | sceneDocument | The scene document

Implements I3DExSceneCommand.

virtual boolean MCCOMAPI TBasicSceneCommand::PostPrepare | ( |  | ) | `[inline, virtual]`

PostPrepare is called after Prepare and the options dialog for the pmap so that you can create data caches needed for do/undo/redo operations

Returns:
  true if the scene command can go on, false if the scene command must be stopped

Implements I3DExSceneCommand.

virtual MCCOMErr MCCOMAPI TBasicSceneCommand::Prepare | ( |  | ) | `[virtual]`

Prepare allows you to perform any preparation work needed (even posting a dialog). Make sure you return MC_S_OK if it is OK to proceed with the Scene Command. If your Scene Command has a PMap resource and the corresponding 'Node' UI resources, then the application will create a modal dialog for you just after Prepare().

Implements I3DExSceneCommand.

virtual MCCOMErr MCCOMAPI TBasicSceneCommand::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[virtual]`

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:

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

Reimplemented from TBasicDataExchanger.

virtual boolean MCCOMAPI TBasicSceneCommand::Redo | ( |  | ) | `[virtual]`

Redo phase. Returns true if your actually changed something in the Scene

Implements I3DExSceneCommand.

virtual boolean MCCOMAPI TBasicSceneCommand::Undo | ( |  | ) | `[virtual]`

Undo phase. Returns true if your actually changed something in the Scene

Implements I3DExSceneCommand.

## Member Data Documentation

boolean TBasicSceneCommand::fNeedsSelection`[protected]`

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

- Basic3DCOMImplementations.h