Class ILayerManager

3DS Max Plug-In SDK

Class ILayerManager

See Also: Class ReferenceTarget, Class ILayer.

class ILayerManager : public ReferenceTarget

Description:

This class is available in release 3.0 and later only.

This class is an interface to the layer manager. Note that some methods of this class are not functional in 3ds max (only in 3D Studio VIZ).

Data Members:

public:

static const SClass_ID kLayerManagerSuperClassID;

The super class ID of the layer manager interface.

Methods:

public:

Prototype:

virtual bool AddLayer(ILayer *layer)=0;

Remarks:

Adds the specified layer.

Parameters:

ILayer *layer

Points to the layer to add.

Return Value:

Returns true if the layer was added; false if not.

Prototype:

virtual ILayer * CreateLayer(void) = 0;

Remarks:

Creates a layer. The name is based on the incremented layer count.

Prototype:

virtual BOOL DeleteLayer(const TSTR & name) = 0;

Remarks:

Deletes the layer whose name is passed. Note: This method does nothing in 3ds max.

Parameters:

const TSTR &name

The name for the layer.

Return Value:

TRUE if the layer was deleted, otherwise FALSE.

Prototype:

virtual void SetCurrentLayer(const TSTR &name)=0;

Remarks:

Sets the layer whose name is passed as current.

Parameters:

const TSTR &name

The name for the new current layer.

Prototype:

virtual void SetCurrentLayer()=0;

Remarks:

Sets the current layer based on the selection set (the common layer).

Prototype:

virtual ILayer *GetCurrentLayer() const=0;

Remarks:

Returns an interface to the current layer.

Prototype:

virtual void EditLayer(const TSTR &name)=0;

Remarks:

Edits the layer whose name is passed. Note: This method does nothing in 3ds max.

Parameters:

const TSTR &name

The name of the layer to edit.

Prototype:

virtual void DoLayerPropDialog(HWND hWnd)=0;

Remarks:

Brings up the layer property dialog. Note: This method does nothing in 3ds max.

Parameters:

HWND hWnd

The parent window handle.

Prototype:

virtual LayerIterator *MakeIterator()=0;

Remarks:

This method is for internal use in VIZ.

Prototype:

virtual ConstLayerIterator *MakeConstIterator() const=0;

Remarks:

This method is for internal use in VIZ.

Prototype:

virtual int GetLayerCount()=0;

Remarks:

Returns the number of layers.

Prototype:

virtual ILayer *GetLayer(const TSTR &name) const=0;

Remarks:

Returns a pointer to a layer interface for the named layer.

Parameters:

const TSTR &name

The name of the layer to get.

Prototype:

virtual void DoLayerSelDialog(HWND hWnd)=0;

Remarks:

Brings up the select layer dialog. Note: This method does nothing in 3ds max.

Parameters:

HWND hWnd

The parent window handle.

Prototype:

virtual void SetupToolList(HWND hWnd)=0;

Remarks:

Sets up the toolbar list. Note: This method does nothing in 3ds max.

Parameters:

HWND hWnd

The parent window handle.

Prototype:

virtual void ExtendMenu(HMENU hMenu, bool geometry = true, bool grid = false)=0;

Remarks:

Extends the right click menu. Note: This method does nothing in 3ds max.

Parameters:

HMENU hMenu

The handle of the menu to append to.

bool geometry = true

Use true to add the geometry commands; false to not add them.

bool grid = false

Use true to add the grid commands; false to not add them.

Prototype:

virtual ILayer *GetRootLayer() const=0;

Remarks:

Returns an interface to the 0 layer.

Prototype:

virtual void Reset(BOOL fileReset = FALSE)=0;

Remarks:

Resets the layer manager.

Parameters:

BOOL fileReset = FALSE

This parameter is ignored.

Prototype:

virtual void SelectObjectsByLayer(HWND hWnd) = 0;

Remarks:

This method will bring up the select objects by layer dialog.

Parameters:

HWND hWnd

The handle to the parent window.