Public Types | Public Member Functions | Static Public Attributes

Interface13 Class Reference

This reference page is linked to from the following overview topics: Major New Features, Incremental Improvements, SDK Change Details, Changes to SDK Documentation.


Search for all occurrences

Detailed Description

Extends Interface12 Client code should retrieve this interface using GetCOREInterface13.

#include <maxapi.h>

Inheritance diagram for Interface13:
Inheritance graph
[legend]

List of all members.

Public Types

enum   MtlDlgMode { mtlDlgMode_Basic = 0, mtlDlgMode_Advanced = 1 }

Public Member Functions

virtual ClassDesc DoPickClassDlg (HWND hParent, MCHAR *title, SClass_ID super, PickClassCallback *pPickClassCB=NULL)=0
  Popup a dialog allowing a user to pick a plug-in class. Only one class may be picked.
virtual int  DoMultiplePickClassDlg (HWND hParent, MCHAR *title, SClass_ID super, PickClassCallback *pPickClassCB, Tab< ClassDesc * > *classDescTab)=0
  Popup a dialog allowing a user to pick multiple plug-in class.
virtual BOOL  GetRendUseIterative ()=0
  Returns whether rendering uses Iterative mode, when appropriate.
virtual void  SetRendUseIterative (BOOL b)=0
  Sets whether rendering will be performed in Iterative mode, when appropriate.
virtual bool  SaveSceneAsVersion (const MCHAR *fname, bool clearNeedSaveFlag=true, bool useNewFile=true, unsigned long saveAsVersion=MAX_RELEASE)=0
  Saves the current scene into a format compatible with the specified 3ds Max version.
virtual bool  SaveNodesAsVersion (const MCHAR *fname, const INodeTab *nodes, unsigned long saveAsVersion=MAX_RELEASE)=0
  Saves the specified nodes into a format compatible with the specified 3ds Max version.
virtual bool  SaveSelectedNodesAsVersion (const MCHAR *fname, unsigned long saveAsVersion=MAX_RELEASE)=0
  Saves the selected nodes into a format compatible with the specified 3ds Max version.
virtual ILayerManager GetLayerManager ()=0
  Gets a pointer to the ILayerManager.
virtual int  GetMtlDlgMode ()=0
  Returns the Material Editor Dialog Mode, either Basic or Advanced.
virtual void  SetMtlDlgMode (int mode)=0
  Sets the Material Editor Dialog Mode, either Basic or Advanced.
virtual BOOL  IsMtlDlgShowing (int mode)=0
  Returns whether the given Material Editor is open, either Basic or Advanced.
virtual void  OpenMtlDlg (int mode)=0
  Opens the given Material Editor, either Basic or Advanced. No effect if already open.
virtual void  CloseMtlDlg (int mode)=0
  Closes the given Material Editor, either Basic or Advanced. No effect if already closed.
Scene Entity Name Suffix Length
virtual void  SetNameSuffixLength (unsigned short suffixLength)=0
  Sets the minimum length of the numeric suffix used in scene element names.
virtual unsigned short  GetNameSuffixLength () const =0
  Returns the length of the numeric prefix used in names.

Static Public Attributes

static CoreExport const
Interface_ID 
kInterface13InterfaceID
  The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface12 pointer.

Member Function Documentation

virtual ClassDesc* DoPickClassDlg ( HWND  hParent,
MCHAR *  title,
SClass_ID  super,
PickClassCallback pPickClassCB = NULL 
) [pure virtual]

Popup a dialog allowing a user to pick a plug-in class. Only one class may be picked.

Displays the names of each class of the given superclass, in a single-pick listbox, The list may be filtered using a callback provided by the caller.

Parameters:
[in] hParent The parent window for the dialog
[in] title The title text for the dialog
[in] super The superclass of the class names to display
[in] pPickClassCB The filtering callback, defined by the caller
Returns:
The class picked by the user
virtual int DoMultiplePickClassDlg ( HWND  hParent,
MCHAR *  title,
SClass_ID  super,
PickClassCallback pPickClassCB,
Tab< ClassDesc * > *  classDescTab 
) [pure virtual]

Popup a dialog allowing a user to pick multiple plug-in class.

Displays the names of each class of the given superclass, in a multi-pick listbox. The list may be filtered using a callback provided by the caller.

Parameters:
[in] hParent The parent window for the dialog
[in] title The title text for the dialog
[in] super The superclass of the class names to display
[in] pPickClassCB The filtering callback, defined by the caller
[out] classDescTab The list of classes picked by the user, populated by the callee
Returns:
The number of classes picked by the user
virtual BOOL GetRendUseIterative ( ) [pure virtual]

Returns whether rendering uses Iterative mode, when appropriate.

In Iterative mode, no files are output, no email notifications are sent, and no network or multiframe rendering is performed. Iterative is used only for Quick Renders, and only when this flag is set.

virtual void SetRendUseIterative ( BOOL  b ) [pure virtual]

Sets whether rendering will be performed in Iterative mode, when appropriate.

In Iterative mode, no files are output, no email notifications are sent, and no network or multiframe rendering is performed. Iterative is used only for Quick Renders, and only when this flag is set.

Parameters:
[in] b TRUE to enable Iterative mode, FALSE to disable
virtual bool SaveSceneAsVersion ( const MCHAR *  fname,
bool  clearNeedSaveFlag = true,
bool  useNewFile = true,
unsigned long  saveAsVersion = MAX_RELEASE 
) [pure virtual]

Saves the current scene into a format compatible with the specified 3ds Max version.

This method does not bring up a file save dialog.

Parameters:
[in] fname - the name of the file the scene is to be saved to
[in] clearNeedSaveFlag - if true, the scene 'dirty' flag is cleared thus a subsequent save will do nothing
[in] useNewFile - if true, the saved file will become the current scene and the file is added to the "Most Recently Used" list of files
[in] saveAsVersion - the version of 3ds Max in which the file is to be saved. Currently it supports saving to the current version of 3ds Max (MAX_RELEASE) and to 3ds Max 2010 (MAX_RELEASE_R12).
Returns:
true if the file was saved successfully; otherwise false
virtual bool SaveNodesAsVersion ( const MCHAR *  fname,
const INodeTab nodes,
unsigned long  saveAsVersion = MAX_RELEASE 
) [pure virtual]

Saves the specified nodes into a format compatible with the specified 3ds Max version.

This method does not bring up a file save dialog.

Parameters:
[in] fname - the name of the file the scene is to be saved to
[in] nodes - list of nodes to save
[in] saveAsVersion - the version of 3ds Max in which the file is to be saved. Currently it supports saving to the current version of 3ds Max (MAX_RELEASE) and to 3ds Max 2010 (MAX_RELEASE_R12).
Returns:
true if the file was saved successfully; otherwise false
virtual bool SaveSelectedNodesAsVersion ( const MCHAR *  fname,
unsigned long  saveAsVersion = MAX_RELEASE 
) [pure virtual]

Saves the selected nodes into a format compatible with the specified 3ds Max version.

This method does not bring up a file save dialog.

Parameters:
[in] fname - the name of the file the scene is to be saved to
[in] saveAsVersion - the version of 3ds Max in which the file is to be saved. Currently it supports saving to the current version of 3ds Max (MAX_RELEASE) and to 3ds Max 2010 (MAX_RELEASE_R12).
Returns:
true if the file was saved successfully; otherwise false
virtual ILayerManager* GetLayerManager ( ) [pure virtual]

Gets a pointer to the ILayerManager.

virtual int GetMtlDlgMode ( ) [pure virtual]

Returns the Material Editor Dialog Mode, either Basic or Advanced.

Opening the editor using Interface7::OpenMtlDlg() opens the corresponding dialog; both cannot be open simultaneously.

Returns:
A mtlDlgMode value
See also:
Material Editor Dialog Mode values
virtual void SetMtlDlgMode ( int  mode ) [pure virtual]

Sets the Material Editor Dialog Mode, either Basic or Advanced.

Opening the editor using Interface7::OpenMtlDlg() opens the corresponding dialog; both cannot be open simultaneously.

Parameters:
[in] mode A mtlDlgMode value
See also:
Material Editor Dialog Mode values
virtual BOOL IsMtlDlgShowing ( int  mode ) [pure virtual]

Returns whether the given Material Editor is open, either Basic or Advanced.

Parameters:
[in] mode A mtlDlgMode value
See also:
Material Editor Dialog Mode values
virtual void OpenMtlDlg ( int  mode ) [pure virtual]

Opens the given Material Editor, either Basic or Advanced. No effect if already open.

Opening multiple different editors simultaneously is not supported, and may lead to instability.

Parameters:
[in] mode A mtlDlgMode value
See also:
Material Editor Dialog Mode values
virtual void CloseMtlDlg ( int  mode ) [pure virtual]

Closes the given Material Editor, either Basic or Advanced. No effect if already closed.

Parameters:
[in] mode A mtlDlgMode value
See also:
Material Editor Dialog Mode values
virtual void SetNameSuffixLength ( unsigned short  suffixLength ) [pure virtual]

Sets the minimum length of the numeric suffix used in scene element names.

The name suffix length set with this method is used when creating unique node names via Interface::MakeNameUnique, and when creating unique names using NameMaker::MakeUniqueName(). The setting remains in effect until it's changed. It's value is also written to 3dsmax.ini, thus making it "stick" between 3ds Max sessions.

For example, using root name "MyObject" with a a suffix length of three, the following names are generated "MyObject001", "MyObject002", etc. More digits are added as necessary if the suffix is of insufficient length. For example, the name following "MyObject999" would be "MyObject1000".

Parameters:
suffixLength The length in digits of the name suffix
virtual unsigned short GetNameSuffixLength ( ) const [pure virtual]

Returns the length of the numeric prefix used in names.

The default suffix length is 3 digits.


Member Data Documentation

CoreExport const Interface_ID kInterface13InterfaceID [static]

The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface12 pointer.


Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13
Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13 Interface13