3ds Max C++ API Reference
Interface8 Class Referenceabstract

The interface class for max version 8. More...

#include <maxapi.h>

+ Inheritance diagram for Interface8:

Public Types

enum  LoadFromFileFlags { kRefreshViewports = 0x01 , kSuppressPrompts = 0x02 , kUseFileUnits = 0x04 , kSetCurrentFilePath = 0x08 }
 Flags for LoadFromFile method. More...
 
- Public Types inherited from Interface7
enum  PivotMode { kPIV_NONE = PIV_NONE , kPIV_PIVOT_ONLY = PIV_PIVOT_ONLY , kPIV_OBJECT_ONLY = PIV_OBJECT_ONLY , kPIV_HIERARCHY_ONLY = PIV_HIERARCHY_ONLY }
 Pivot modes the system can be in. More...
 
enum  ResCode { kRES_INTERNAL_ERROR = -3 , kRES_MOD_NOT_FOUND = -2 , kRES_MOD_NOT_APPLICABLE = -1 , kRES_SUCCESS = 0 }
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

virtual void ColorById (DWORD id, Color &c)=0
 This method returns the color corresponding to the id in input. More...
 
virtual void RegisterExitMAXCallback (ExitMAXCallback2 *cb)=0
 Register a callback object to be called during max shutdown. More...
 
virtual void UnRegisterExitMAXCallback (ExitMAXCallback2 *cb)=0
 Unregister a callback object to be called during max shutdown. More...
 
virtual bool DoMaxSaveAsDialog (HWND parentWnd, const MSTR &title, MSTR &filename, MSTR &initialDir, FilterList &extensionList)=0
 Opens a max-style File Save As dialog for generic file types. More...
 
virtual bool DoMaxOpenDialog (HWND parentWnd, const MSTR &title, MSTR &filename, MSTR &initialDir, FilterList &extensionList)=0
 Opens a max-style Open dialog for generic file types. More...
 
virtual void RegisterModelessRenderWindow (HWND hWnd)=0
 Makes a window modeless during a render. More...
 
virtual void UnRegisterModelessRenderWindow (HWND hWnd)=0
 Un-registers a window registered with RegisterModelessRenderWindow(). More...
 
virtual bool IsRegisteredModelessRenderWindow (HWND hWnd)=0
 Returns true if a window is currently registered with RegisterModelessRenderWindow(). More...
 
virtual bool IsSavingToFile ()=0
 Returns whether a file save operation is currently in progress. More...
 
virtual bool LoadFromFile (const MCHAR *szFilename, unsigned long lFlags)=0
 Loads the specified scene file. More...
 
virtual bool RevealInExplorer (const MSTR &path)=0
 Opens a Windows Explorer window pointing to the passed in path. More...
 
Rendering
virtual int QuickRender (TimeValue t=TIME_PosInfinity, Bitmap *rendbm=NULL, RendProgressCallback *prog=NULL)=0
 Launches a Quick Render, as though pressing the Quick Render button. More...
 
virtual void GetRendFrameList (IntTab &frameNums)=0
 Enumerates the frames for rendering, as specified in the Render Dialog. More...
 
virtual RendProgressCallbackGetRendProgressCallback ()=0
 Returns the custom progress callback, if any, used for rendering through the UI. More...
 
virtual void SetRendProgressCallback (RendProgressCallback *prog)=0
 Sets a custom progress callback, used for rendering through the UI. More...
 
virtual INodeGetRendCamNode ()=0
 Returns the custom camera node, if any, used for rendering through the UI. More...
 
virtual void SetRendCamNode (INode *camNode)=0
 Sets a custom camera node, used for rendering through the UI. More...
 
virtual BOOL GetRendUseImgSeq ()=0
 Returns the "Put Image File List(s) in Output Path(s)" setting in the render dialog. More...
 
virtual void SetRendUseImgSeq (BOOL onOff)=0
 Sets the "Put Image File List(s) in Output Path(s)" setting in the render dialog. More...
 
virtual int GetRendImgSeqType ()=0
 Returns the file format used when the renderer creates image sequence files. More...
 
virtual void SetRendImgSeqType (int type)=0
 Sets the file format used when the renderer creates image sequence files. More...
 
virtual void CreateRendImgSeq (CreateRendImgSeqCallback *cb=NULL)=0
 Saves image sequence files (in .imsq or .ifl format) based on the current output settings. More...
 
virtual const MaxSDK::AssetManagement::AssetUserGetPreRendScriptAsset ()=0
 Returns the AssetUser of the Pre-Render Script as indicated in the render dialog. More...
 
virtual void SetPreRendScriptAsset (const MaxSDK::AssetManagement::AssetUser &script)=0
 Sets the AssetUser of the Pre-Render Script as shown in the render dialog. More...
 
virtual BOOL GetUsePreRendScript ()=0
 Returns the Enable setting for the Pre-Render Script in the render dialog. More...
 
virtual void SetUsePreRendScript (BOOL onOff)=0
 Sets the Enable setting for the Pre-Render Script in the render dialog. More...
 
virtual BOOL GetLocalPreRendScript ()=0
 Returns the Execute Locally setting for the Pre-Render Script in the render dialog. More...
 
virtual void SetLocalPreRendScript (BOOL onOff)=0
 Sets the Execute Locally setting for the Pre-Render Script in the render dialog. More...
 
virtual const MaxSDK::AssetManagement::AssetUserGetPostRendScriptAsset ()=0
 Returns the AssetUser of the Post-Render Script as indicated in the render dialog. More...
 
virtual void SetPostRendScriptAsset (const MaxSDK::AssetManagement::AssetUser &script)=0
 Sets the filename of the Post-Render Script as shown in the render dialog. More...
 
virtual BOOL GetUsePostRendScript ()=0
 Returns the Enable setting for the Post-Render Script in the render dialog. More...
 
virtual void SetUsePostRendScript (BOOL onOff)=0
 Sets the Enable setting for the Post-Render Script in the render dialog. More...
 
Animation

Retrieves whether or not newly created controllers will respect animation range

virtual BOOL GetControllerOverrideRangeDefault ()=0
 Retrieves the default value of the animation preference which determines whether the active range of parametric controllers will be respected or not. More...
 
virtual void SetControllerOverrideRangeDefault (BOOL override)=0
 Sets whether or not newly created controllers will respect animation range. More...
 
virtual void GetDefaultTangentType (int &dfltInTangentType, int &dfltOutTangentType)=0
 Get the default tangent type for both the "In" and the "Out" tangent. More...
 
virtual void SetDefaultTangentType (int dfltInTangentType, int dfltOutTangentType, BOOL writeInCfgFile=TRUE)=0
 Set the default tangent type for both the "In" and the "Out" tangent. More...
 
virtual BOOL GetSpringQuickEditMode () const =0
 Returns whether quick manipulation mode for spring controllers is on. More...
 
virtual void SetSpringQuickEditMode (BOOL in_quickEdit)=0
 Sets quick manipulation mode for spring controllers. More...
 
virtual void SetSpringRollingStart (int in_start)=0
 Sets the rolling start value of the quick manipulation mode for spring controllers. More...
 
virtual int GetSpringRollingStart () const =0
 Returns the rolling start value of the quick manipulation mode for spring controllers. More...
 
- Public Member Functions inherited from Interface7
virtual void GetSelNodeTab (INodeTab &selectedNodes) const =0
 Retrieves the currently selected nodes into the supplied parameter. More...
 
virtual PivotMode GetPivotMode () const =0
 Returns the current pivot mode the system is in. More...
 
virtual void SetPivotMode (PivotMode pivMode)=0
 Set the pivot mode of the system. More...
 
virtual bool GetAffectChildren () const =0
 Returns true if the transforms applied to a node will affect its children, otherwise returns false. More...
 
virtual void SetAffectChildren (bool bAffectChildren)=0
 Sets whether the transforms applied to a node will affect its children. More...
 
virtual void GetCurRefCoordSysName (MSTR &name) const =0
 Given a reference coordinate system id, returns the name of it. More...
 
virtual void AddRefCoordNode (INode *node)=0
 Allows for setting the specified node's axis, as the current reference coordinate system. More...
 
virtual INodeGetRefCoordNode ()=0
 
virtual bool ShouldContinueRenderOnError () const =0
 Only relevant for network rendering. More...
 
virtual void SetupFrameRendParams (FrameRendParams &frp, RendParams &rp, ViewExp *vx, RECT *r)=0
 
virtual void SetupFrameRendParams_MXS (FrameRendParams &frp, RendParams &rp, ViewExp *vx, RECT *r, bool useSelBox)=0
 
virtual int InitDefaultLights (DefaultLight *dl, int maxn, BOOL applyGlobalLevel=FALSE, ViewExp *vx=NULL, BOOL forRenderer=FALSE)=0
 
virtual void IncrRenderActive ()=0
 Methods used to sync use with Material Editor sample rendering. More...
 
virtual void DecrRenderActive ()=0
 
virtual BOOL IsRenderActive ()=0
 
virtual BOOL XRefRenderBegin ()=0
 
virtual void XRefRenderEnd ()=0
 
virtual void OpenRenderDialog ()=0
 
virtual void CancelRenderDialog ()=0
 
virtual void CloseRenderDialog ()=0
 
virtual void CommitRenderDialogParameters ()=0
 
virtual void UpdateRenderDialogParameters ()=0
 
virtual BOOL RenderDialogOpen ()=0
 
virtual BitmapGetLastRenderedImage ()=0
 
virtual HWND GetStatusPanelHWnd ()=0
 Returns the window handle of the status panel window (this holds the MAXScript mini-listener) More...
 
virtual void SetListenerMiniHWnd (HWND wnd)=0
 
virtual HWND GetListenerMiniHWnd ()=0
 
virtual int MAXScriptHelp (const MCHAR *keyword=NULL)=0
 Starts the MAXScript help. More...
 
virtual MAXScriptPrefsGetMAXScriptPrefs ()=0
 Retrieves maxscript preferences. More...
 
virtual BOOL OpenTrackViewWindow (const MCHAR *tv_name, const MCHAR *layoutName=NULL, Point2 pos=Point2(-1.0f,-1.0f), int width=-1, int height=-1, int dock=TV_FLOAT)=0
 
virtual BOOL BringTrackViewWindowToTop (const MCHAR *tv_name)=0
 Sets the focus to the specified track view window. More...
 
virtual BOOL TrackViewZoomSelected (const MCHAR *tv_name)=0
 
virtual BOOL TrackViewZoomOn (const MCHAR *tv_name, Animatable *parent, int subNum)=0
 
virtual BOOL CloseTrackView (const MCHAR *tv_name)=0
 
virtual int NumTrackViews ()=0
 
virtual const MCHARGetTrackViewName (int i)=0
 
virtual BOOL SetTrackViewFilter (const MCHAR *tv_name, DWORD mask, int which, BOOL redraw=TRUE)=0
 The mask bits are defined in MAXSDK/INCLUDE/ITREEVW.H. More...
 
virtual BOOL ClearTrackViewFilter (const MCHAR *tv_name, DWORD mask, int which, BOOL redraw=TRUE)=0
 
virtual DWORD TestTrackViewFilter (const MCHAR *tv_name, DWORD mask, int which)=0
 
virtual void FlushAllTrackViewWindows ()=0
 
virtual void UnFlushAllTrackViewWindows ()=0
 
virtual void CloseAllTrackViewWindows ()=0
 
virtual void SetCurEditObject (BaseObject *obj, INode *hintNode=NULL)=0
 
virtual BaseObjectGetCurEditObject ()=0
 Get the object or modifier that is currently being edited in the modifier panel. More...
 
virtual void AddModToSelection (Modifier *mod)=0
 
virtual void InvalidateObCache (INode *node)=0
 
virtual INodeFindNodeFromBaseObject (ReferenceTarget *obj)=0
 
virtual void SelectedHistoryChanged ()=0
 
virtual BOOL CmdPanelOpen ()=0
 
virtual void CmdPanelOpen (BOOL openClose)=0
 
virtual void SuspendEditing (DWORD whichPanels=(1<< TASK_MODE_MODIFY), BOOL alwaysSuspend=FALSE)=0
 Suspends / Resumes command panels specified via bits set in whichPanels param. More...
 
virtual void ResumeEditing (DWORD whichPanels=(1<< TASK_MODE_MODIFY), BOOL alwaysSuspend=FALSE)=0
 
virtual void SuspendMotionEditing ()=0
 
virtual void ResumeMotionEditing ()=0
 
virtual int AddClass (ClassDesc *cdesc, int dllNum=-1, int index=-1, bool load=true)=0
 This method expands Interface::AddClass. More...
 
virtual void ReBuildSuperList ()=0
 Rebuilds the list of groups and categories of the Create Panel. More...
 
virtual BOOL IsEditing ()=0
 Returns FALSE if the editing is stopped. While stopped, it shouldn't be resumed. More...
 
virtual void ChangeHistory (int upDown)=0
 Allows for changing the modifier panel's. More...
 
virtual void StartCreatingObject (ClassDesc *pCD)=0
 
virtual BOOL IsCreatingObject (const Class_ID &id)=0
 
virtual BOOL IsCreatingObject ()=0
 
virtual void UpdateLockCheckObjectCounts ()=0
 Fast node creation for FileLink. More...
 
virtual INodeCreateObjectNode (Object *obj, const MCHAR *name)=0
 
virtual BOOL SetDir (int which, const MCHAR *dir)=0
 
virtual BOOL AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update=TRUE)=0
 Adds a permanent user path associated to a particular asset type. More...
 
virtual BOOL DeleteAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update=TRUE)=0
 Deletes the "ith" permanent user path associated with a particular asset type. More...
 
virtual void UpdateAssetSection (MaxSDK::AssetManagement::AssetType assetType)=0
 Updates system configuration files' asset directory section of a particular asset type, with changes made to the session and/or permanent asset directories of that particular asset type. More...
 
virtual BOOL AppendToCurFilePath (const MCHAR *toAppend)=0
 Appends a string to the current file name and file path. More...
 
virtual MSTR GetMAXIniFile ()=0
 Returns empty MSTR if locType == LOC_REGISTRY. More...
 
virtual BOOL OpenSchematicViewWindow (const MCHAR *sv_name)=0
 — Schematic View -----------------------------------------------— /// More...
 
virtual BOOL SchematicViewZoomSelected (const MCHAR *sv_name)=0
 
virtual BOOL CloseSchematicView (const MCHAR *sv_name)=0
 
virtual int NumSchematicViews ()=0
 
virtual const MCHARGetSchematicViewName (int i)=0
 
virtual void CloseAllSchematicViewWindows ()=0
 
virtual void FlushAllSchematicViewWindows ()=0
 
virtual void UnFlushAllSchematicViewWindows ()=0
 
virtual BOOL DrawingEnabled ()=0
 
virtual void EnableDrawing (BOOL onOff)=0
 
virtual BOOL SceneResetting ()=0
 
virtual BOOL QuitingApp ()=0
 
virtual BOOL GetHideFrozen ()=0
 
virtual void SetSceneDisplayFlag (DWORD flag, BOOL onOff, BOOL updateUI=TRUE)=0
 See 'Scene Display Flags' in maxapi.h for the possible values of 'flag'. More...
 
virtual BOOL GetSceneDisplayFlag (DWORD flag)=0
 
virtual ISceneGetScene ()=0
 Access to the scene interface. More...
 
virtual void SetMtlSlot (int i, MtlBase *m)=0
 
virtual int GetActiveMtlSlot ()=0
 
virtual void SetActiveMtlSlot (int i)=0
 
virtual int NumMtlSlots ()=0
 
virtual void FlushMtlDlg ()=0
 
virtual void UnFlushMtlDlg ()=0
 
virtual BOOL IsMtlInstanced (MtlBase *m)=0
 
virtual MtlFindMtlNameInScene (MSTR &name)=0
 
virtual void PutMaterial (MtlBase *mtl, MtlBase *oldMtl, BOOL delOld=1, RefMakerHandle skipThis=0)=0
 
virtual BOOL IsMtlDlgShowing ()=0
 Returns whether any Material Editor is open. More...
 
virtual void OpenMtlDlg ()=0
 Opens the Material Editor. No effect if already open. More...
 
virtual void CloseMtlDlg ()=0
 Closes the Material Editor. No effect is already closed. More...
 
virtual HWND GetViewPanelHWnd ()=0
 Returns the window handle for the viewport frame. More...
 
virtual int getActiveViewportIndex ()=0
 Viewport access by index. More...
 
virtual BOOL setActiveViewport (int index)=0
 
virtual int getNumViewports ()=0
 
virtual ViewExpgetViewExp (int i)=0
 
virtual void resetAllViews ()=0
 
virtual const MCHARgetActiveViewportLabel ()=0
 Viewport name access. More...
 
virtual const MCHARgetViewportLabel (int index)=0
 
virtual void SetRegionRect (int index, Rect r)=0
 Viewport blow-up and sub-region access. More...
 
virtual Rect GetRegionRect (int index)=0
 
virtual void SetBlowupRect (int index, Rect r)=0
 
virtual Rect GetBlowupRect (int index)=0
 
virtual void SetRegionRect2 (int index, Rect r)=0
 
virtual Rect GetRegionRect2 (int index)=0
 
virtual void SetBlowupRect2 (int index, Rect r)=0
 
virtual Rect GetBlowupRect2 (int index)=0
 
virtual int GetRenderType ()=0
 
virtual void SetRenderType (int rtype)=0
 
virtual BOOL GetLockImageAspRatio ()=0
 
virtual void SetLockImageAspRatio (BOOL on)=0
 
virtual float GetImageAspRatio ()=0
 
virtual void SetImageAspRatio (float on)=0
 
virtual BOOL GetLockPixelAspRatio ()=0
 
virtual void SetLockPixelAspRatio (BOOL on)=0
 
virtual float GetPixelAspRatio ()=0
 
virtual void SetPixelAspRatio (float on)=0
 
virtual void SetViewportGridVisible (int index, BOOL state)=0
 
virtual BOOL GetViewportGridVisible (int index)=0
 
virtual void ViewportInvalidate (int index)=0
 
virtual void ViewportInvalidateBkgImage (int index)=0
 
virtual void InvalidateAllViewportRects ()=0
 
virtual void RedrawViewportsNow (TimeValue t, DWORD vpFlags=VP_DONT_SIMPLIFY)=0
 
virtual void RedrawViewportsLater (TimeValue t, DWORD vpFlags=VP_DONT_SIMPLIFY)=0
 
virtual void SetActiveViewportRenderLevel (int level)=0
 Sets the current viewport rendering level. More...
 
virtual int GetActiveViewportRenderLevel ()=0
 Returns the current viewport rendering level. More...
 
virtual void SetActiveViewportShowEdgeFaces (BOOL show)=0
 Access to viewport show edge faces states. More...
 
virtual BOOL GetActiveViewportShowEdgeFaces ()=0
 
virtual void SetActiveViewportTransparencyLevel (int level)=0
 There are 3 levels of transparency: 0, 1 and 2. More...
 
virtual int GetActiveViewportTransparencyLevel ()=0
 
virtual BOOL GetDualPlanes ()=0
 Access dual plane settings. More...
 
virtual void SetDualPlanes (BOOL b)=0
 
virtual void SetTestOnlyFrozen (int onOff)=0
 When the flag is On, only frozen objects are hit tested during a pick. More...
 
virtual void SetScaleMode (int mode)=0
 Scale modes: CID_OBJSCALE, CID_OBJUSCALE, CID_OBJSQUASH (see cmdmode.h) More...
 
virtual void SetCenterMode (int mode)=0
 Center modes - see 'Origin modes' in maxapi.h. More...
 
virtual BOOL InManipMode ()=0
 Manipulator related. More...
 
virtual void StartManipulateMode ()=0
 
virtual void EndManipulateMode ()=0
 
virtual BOOL IsViewportCommandMode (CommandMode *m)=0
 
virtual void ConvertFlagedNodesToXRefs (const MaxSDK::AssetManagement::AssetUser &fname, INode *rootNode, Tab< INode * > &nodes, int xFlags)=0
 — XRefs --------------------------------------------------------— /// More...
 
virtual void XRefSceneSetIgnoreFlag (int index, DWORD f, BOOL onOff)=0
 'f' parameter can take values defined as 'Xref flag bits' in inode.h More...
 
virtual void UpdateSceneXRefState ()=0
 
virtual BOOL GetSnapActive ()=0
 
virtual void SetSnapActive (BOOL onOff)=0
 
virtual int GetSnapType ()=0
 
virtual void SetSnapType (int type)=0
 See 'Snap types' in snap.h for possible values of 'type'. More...
 
virtual void ToggleASnap ()=0
 
virtual int ASnapStatus ()=0
 
virtual void TogglePSnap ()=0
 
virtual int PSnapStatus ()=0
 
virtual float GetGridSpacing ()=0
 
virtual void SetGridSpacing (float newVal)=0
 
virtual int GetGridMajorLines ()=0
 
virtual void SetGridMajorLines (float newVal)=0
 
virtual float GetSnapAngle ()=0
 
virtual void SetSnapAngle (float newVal)=0
 
virtual float GetSnapPercent ()=0
 
virtual void SetSnapPercent (float newVal)=0
 
virtual void SetNodeAttribute (INodeTab &nodes, int whatAttrib, int onOff)=0
 Set the given attribute on the passed nodes. More...
 
virtual void SetNodeAttribute (INode *node, int whatAttrib, int onOff)=0
 Set the given attribute on the passed node. More...
 
virtual void SetExpertMode (int onOff)=0
 
virtual int GetExpertMode ()=0
 
virtual void LoadCUIConfig (const MCHAR *fileName)=0
 
virtual void WriteCUIConfig ()=0
 
virtual void SaveCUIAs ()=0
 
virtual void LoadCUI ()=0
 
virtual void RevertToBackupCUI ()=0
 
virtual void ResetToFactoryDefaultCUI ()=0
 
virtual void DoUICustomization (int startPage)=0
 
virtual int GetDefaultImageListBaseIndex (SClass_ID sid, Class_ID cid)=0
 
virtual MSTRGetDefaultImageListFilePrefix (SClass_ID sid, Class_ID cid)=0
 
virtual float GetGridIntens ()=0
 
virtual void SetGridIntens (float f)=0
 
virtual BOOL GetWhiteOrigin ()=0
 
virtual void SetWhiteOrigin (BOOL b)=0
 
virtual BOOL GetUseGridColor ()=0
 
virtual void SetUseGridColor (BOOL b)=0
 
virtual void UpdateColors (BOOL useGridColor, int gridIntensity, BOOL whiteOrigin)=0
 
virtual IMenuGetIMenu ()=0
 
virtual IMenuItemGetIMenuItem ()=0
 
virtual void RepaintTimeSlider ()=0
 
virtual MSTR GetTabPageTitle (ITabPage *page)=0
 
virtual BOOL DoMaxFileSaveAsDlg (MSTR &fileName, BOOL setAsCurrent=TRUE)=0
 
virtual BOOL DoMaxFileOpenDlg (MSTR &fileName, MSTR *defDir, MSTR *defFile)=0
 
virtual BOOL DoMaxFileMergeDlg (MSTR &fileName, MSTR *defDir, MSTR *defFile)=0
 
virtual BOOL DoMaxFileXRefDlg (MSTR &fileName, MSTR *defDir, MSTR *defFile)=0
 
virtual void StartAnimPlayback2 (int selOnly)=0
 Old style playback with no immediate return. More...
 
virtual BOOL IsValidModForSelection (ClassEntry *ce)=0
 Tests of modifier applicability. More...
 
virtual BOOL IsValidModifier (INode &node, Modifier &mod)=0
 Returns FALSE if the specified modifier cannot be applied to the object. More...
 
virtual ResCode AddModifier (INode &node, Modifier &mod, int beforeIdx=0)=0
 Adds the specified modifier to a node. More...
 
virtual ResCode DeleteModifier (INode &node, Modifier &mod)=0
 Deletes the first occurrence of the specified modifier from the node's modifier stack. More...
 
virtual ResCode DeleteModifier (INode &node, int modIdx)=0
 Deletes the modifier at the specified index from the node's modifier stack Returns one of the following values: kRES_INTERNAL_ERROR, kRES_MOD_NOT_FOUND or kRES_SUCCESS. More...
 
virtual IDerivedObjectFindModifier (INode &node, Modifier &mod, int &modStackIdx, int &derivedObjIdx)=0
 Finds the first occurrence of the specified modifier on a node. More...
 
virtual IDerivedObjectFindModifier (INode &node, int modIdx, int &idx, Modifier *&mod)=0
 Finds the modifier at the specified modstack index on a node. More...
 
virtual IDerivedObjectFindModifier (INode &node, Modifier &mod, ModContext &mc, int &modStackIdx, int &dobjidx)=0
 Finds the index of a modifier instance in a modstack of a node, when the node, the modifier it's corresponding cod context are given. More...
 
virtual ResCode DoDeleteModifier (INode &node, IDerivedObject &dobj, int idx)=0
 
virtual ObjectGetReplaceableObjRef (INode &node)=0
 A node's reference to its object should be replaced using this method. More...
 
virtual void OpenEnvEffectsDialog ()=0
 
virtual void CloseEnvEffectsDialog ()=0
 
virtual BOOL EnvEffectsDialogOpen ()=0
 
- Public Member Functions inherited from Interface
virtual BOOL SetActiveViewportTransparencyDisplay (int transType)=0
 
virtual BOOL SetSelectionType (BOOL autoWinCross, int winCrossOrAutoDir)=0
 
virtual PickModeCallbackGetCurPickMode ()=0
 
virtual void RealizeParamPanel ()=0
 
virtual BOOL GetToolButtonState (int button)=0
 
virtual void EnableToolButton (int button, BOOL enable=TRUE)=0
 
virtual void EnableUndo (BOOL enable)=0
 
virtual ViewExpGetViewExp (HWND hwnd)=0
 
virtual int GetAssetDirCount (MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the number of permanent user paths associated with a particular type of asset. More...
 
virtual const MCHARGetAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" permanent user path associated with a particular asset type. More...
 
virtual BOOL AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType)=0
 Adds a permanent user path associated to a particular asset type. More...
 
virtual BOOL AddSessionAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update=TRUE)=0
 Adds a session user path associated to a particular asset type. More...
 
virtual int GetSessionAssetDirCount (MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the number of session user paths associated with a particular type of asset. More...
 
virtual const MCHARGetSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" session user path associated with a particular asset type. More...
 
virtual BOOL DeleteSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update=TRUE)=0
 Deletes the "ith" session user path associated with a particular asset type. More...
 
virtual int GetCurAssetDirCount (MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the number of session (temporary) and permanent user paths associated with a particular type of asset. More...
 
virtual const MCHARGetCurAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" session\permanent user path associated with a particular asset type. More...
 
virtual bool AttachNodesToGroup (INodeTab &nodes, INode &pTargetNode)=0
 
virtual bool DetachNodesFromGroup (INodeTab &nodes)=0
 
virtual void IncrementValidityToken ()=0
 
virtual unsigned int CurrentValidityToken ()=0
 
virtual RendererCreateDefaultRenderer (RenderSettingID renderSettingID)=0
 Creates an instance of the default renderer for the given render setting. More...
 
virtual Class_ID GetDefaultRendererClassID (RenderSettingID renderSettingID)=0
 Gets the class ID of the default renderer for the given render setting. More...
 
virtual void SetDefaultRendererClassID (RenderSettingID renderSettingID, Class_ID classID)=0
 Gets the class ID of the default renderer for the given render setting. More...
 
virtual RendererGetMEditRenderer (bool createRendererIfItDoesntExist=true)=0
 Gets the renderer assigned to the MEdit slot.

. More...
 
virtual void AssignMEditRenderer (Renderer *renderer)=0
 Sets the renderer assigned to the MEdit slot.

. More...
 
virtual RendererGetActualMEditRenderer (bool createRendererIfItDoesntExist=true)=0
 Returns the renderer to be used for MEdit.

. More...
 
virtual bool GetMEditRendererLocked ()=0
 Gets the status of the MEdit renderer lock. More...
 
virtual void SetMEditRendererLocked (bool locked)=0
 Sets the status of the MEdit renderer lock. More...
 
virtual bool GetMEditRendererLocked_DefaultValue ()=0
 
virtual void SetMEditRendererLocked_DefaultValue (bool locked)=0
 
virtual BOOL GetRendSimplifyAreaLights ()=0
 returns the state of the toggle in the render dialog, "Area Lights/Shadows as Points". More...
 
virtual void SetRendSimplifyAreaLights (BOOL onOff)=0
 Sets the toggle in the render dialog, "Area Lights/Shadows as Points". More...
 
virtual IOsnapManagerGetOsnapManager ()=0
 
virtual MouseManagerGetMouseManager ()=0
 
virtual void InvalidateOsnapdraw ()=0
 
virtual bool IsNetworkRenderServer () const =0
 Returns true if the application operates in network render server mode. More...
 
virtual voidGetInterface (DWORD id)=0
 
virtual BaseInterfaceGetInterface (Interface_ID id)=0
 
virtual ShadowTypeGetGlobalShadowGenerator ()=0
 
virtual void SetGlobalShadowGenerator (ShadowType *st)=0
 
virtual MacroRecorderGetMacroRecorder ()=0
 
virtual HFONT GetAppHFont ()=0
 
virtual HCURSOR GetSysCursor (int id)=0
 
virtual void SetCrossHairCur (BOOL onOff)=0
 
virtual BOOL GetCrossHairCur ()=0
 
virtual void RedrawViews (TimeValue t, DWORD vpFlags=REDRAW_NORMAL, ReferenceTarget *change=NULL)=0
 
virtual BOOL SetActiveViewport (HWND hwnd)=0
 
virtual ViewExpGetActiveViewExp ()=0
 
virtual void ForceCompleteRedraw (BOOL doDisabled=TRUE)=0
 
virtual void DisableSceneRedraw ()=0
 Turns off scene redraws. More...
 
virtual void EnableSceneRedraw ()=0
 Turns on scene redraws. More...
 
virtual int IsSceneRedrawDisabled ()=0
 Tells whether the scene redraw is disabled. More...
 
virtual void MakeExtendedViewportActive (HWND hWnd)=0
 
virtual void PutUpViewMenu (HWND hWnd, POINT pt)=0
 
virtual int IsCPEdgeOnInView ()=0
 
virtual int GetViewportLayout ()=0
 
virtual void SetViewportLayout (int layout)=0
 
virtual BOOL IsViewportMaxed ()=0
 
virtual void SetViewportMax (BOOL max)=0
 
virtual void ViewportZoomExtents (BOOL doAll, BOOL skipPersp=FALSE)=0
 
virtual void ZoomToBounds (BOOL doAll, Box3 box)=0
 
virtual BOOL RegisterViewWindow (ViewWindow *vw)=0
 
virtual BOOL UnRegisterViewWindow (ViewWindow *vw)=0
 
virtual IObjCreateGetIObjCreate ()=0
 
virtual IObjParamGetIObjParam ()=0
 
virtual HWND GetMAXHWnd () const =0
 
virtual MaxSDK::QmaxMainWindowGetQmaxMainWindow () const =0
 Returns the Qt docking main window of 3ds Max. More...
 
virtual BOOL DisplayActiveCameraViewWithMultiPassEffect ()=0
 
virtual int OpenCurRenderer (INode *camNode, ViewExp *view, RendType t=RENDTYPE_NORMAL, int w=0, int h=0)=0
 
virtual int OpenCurRenderer (ViewParams *vpar, RendType t=RENDTYPE_NORMAL, int w=0, int h=0)=0
 
virtual void CloseCurRenderer ()=0
 
virtual int CurRendererRenderFrame (TimeValue t, Bitmap *bm, RendProgressCallback *prog=NULL, float frameDur=1.0f, ViewParams *vp=NULL, RECT *regionRect=NULL)=0
 
virtual IScanRendererCreateDefaultScanlineRenderer ()=0
 
virtual void RegisterRedrawViewsCallback (RedrawViewsCallback *cb)=0
 
virtual void UnRegisterRedrawViewsCallback (RedrawViewsCallback *cb)=0
 
virtual void RegisterSelectFilterCallback (SelectFilterCallback *cb)=0
 
virtual void UnRegisterSelectFilterCallback (SelectFilterCallback *cb)=0
 
virtual void RegisterDisplayFilterCallback (DisplayFilterCallback *cb)=0
 
virtual void UnRegisterDisplayFilterCallback (DisplayFilterCallback *cb)=0
 
virtual void RegisterAxisChangeCallback (AxisChangeCallback *cb)=0
 
virtual void UnRegisterAxisChangeCallback (AxisChangeCallback *cb)=0
 
virtual void RegisterTimeChangeCallback (TimeChangeCallback *tc)=0
 
virtual void UnRegisterTimeChangeCallback (TimeChangeCallback *tc)=0
 
virtual void RegisterCommandModeChangedCallback (CommandModeChangedCallback *cb)=0
 
virtual void UnRegisterCommandModeChangedCallback (CommandModeChangedCallback *cb)=0
 
virtual void RegisterViewportDisplayCallback (BOOL preScene, ViewportDisplayCallback *cb)=0
 
virtual void UnRegisterViewportDisplayCallback (BOOL preScene, ViewportDisplayCallback *cb)=0
 
virtual void NotifyViewportDisplayCallbackChanged (BOOL preScene, ViewportDisplayCallback *cb)=0
 
virtual void RegisterExitMAXCallback (ExitMAXCallback *cb)=0
 
virtual void UnRegisterExitMAXCallback (ExitMAXCallback *cb)=0
 
virtual BOOL TrackViewPickDlg (HWND hParent, TrackViewPick *res, TrackViewFilter *filter=NULL, DWORD pickTrackFlags=0)=0
 
virtual BOOL TrackViewPickMultiDlg (HWND hParent, MaxSDK::Array< TrackViewPick > *res, TrackViewFilter *filter=NULL, DWORD pickTrackFlags=0)=0
 
virtual BOOL DoHitByNameDialog (HitByNameDlgCallback *hbncb=NULL)=0
 
virtual void ChooseDirectory (HWND hWnd, const MCHAR *title, MCHAR *dir, MCHAR *desc=NULL)=0
 
virtual int DoExclusionListDialog (ExclList *nl, BOOL doShadows=TRUE)=0
 
virtual void ConvertNameTabToExclList (const NameTab *nt, ExclList *excList)=0
 
virtual MtlBaseDoMaterialBrowseDlg (HWND hParent, DWORD vflags, BOOL &newMat, BOOL &cancel)=0
 
virtual void PutMtlToMtlEditor (MtlBase *mb, int slot=-1)=0
 
virtual BOOL NodeColorPicker (HWND hWnd, DWORD &col)=0
 
virtual int ConfigureBitmapPaths ()=0
 
virtual BOOL DoSpaceArrayDialog (SpaceArrayCallback *sacb=NULL)=0
 
virtual void PushCommandMode (CommandMode *m)=0
 
virtual void SetCommandMode (CommandMode *m)=0
 
virtual void PopCommandMode ()=0
 
virtual CommandModeGetCommandMode ()=0
 
virtual void SetStdCommandMode (int cid)=0
 
virtual void PushStdCommandMode (int cid)=0
 
virtual void RemoveMode (CommandMode *m)=0
 
virtual void DeleteMode (CommandMode *m)=0
 
virtual int GetCommandStackSize ()=0
 
virtual CommandModeGetCommandStackEntry (int entry)=0
 
virtual void PushPrompt (const MCHAR *s)=0
 
virtual void PopPrompt ()=0
 
virtual void ReplacePrompt (const MCHAR *s)=0
 
virtual void DisplayTempPrompt (const MCHAR *s, int msec=1000)=0
 
virtual void RemoveTempPrompt ()=0
 
virtual void DisableStatusXYZ ()=0
 
virtual void EnableStatusXYZ ()=0
 
virtual void SetStatusXYZ (Point3 xyz, int type)=0
 
virtual void SetStatusXYZ (AngAxis aa)=0
 
virtual MAX_DEPRECATED float GetAutoBackupTime () final
 
virtual MAX_DEPRECATED void SetAutoBackupTime (float minutes) final
 
virtual MAX_DEPRECATED BOOL AutoBackupEnabled () final
 
virtual MAX_DEPRECATED void EnableAutoBackup (BOOL onOff) final
 
virtual bool ProgressStart (const MCHAR *title, bool dispBar, LPTHREAD_START_ROUTINE fn, LPVOID arg)=0
 Displays a progress bar in the status panel with a cancel button to the right of the progress bar. More...
 
virtual bool ProgressStart (const MCHAR *title, bool allowCancel=true)=0
 Similar to other ProgressStart() API. More...
 
virtual void ProgressUpdate (int pct, bool showPct=true, const MCHAR *stepName=nullptr)=0
 This method updates the progress bar. More...
 
virtual void ProgressEnd ()=0
 
virtual BOOL GetCancel ()=0
 
virtual void SetCancel (BOOL sw)=0
 
virtual void CreatePreview (PreviewParams *pvp=nullptr, MSTR *filename=nullptr, MSTR *snippet=nullptr, MAXScript::ScriptSource scriptSource=MAXScript::ScriptSource::NotSpecified)=0
 
virtual void AddGridToScene (INode *node)=0
 
virtual void SetActiveGrid (INode *node)=0
 
virtual INodeGetActiveGrid ()=0
 
virtual void SetExtendedDisplayMode (int vflags)=0
 
virtual int GetExtendedDisplayMode ()=0
 
virtual void SetFlyOffTime (int msecs)=0
 
virtual int GetFlyOffTime ()=0
 
virtual BOOL GetCrossing ()=0
 
virtual void SetToolButtonState (int button, BOOL state)=0
 
virtual int GetAxisConstraints ()=0
 
virtual void SetAxisConstraints (int c)=0
 
virtual void EnableAxisConstraints (int c, BOOL enabled)=0
 
virtual void PushAxisConstraints (int c)=0
 
virtual void PopAxisConstraints ()=0
 
virtual int GetCoordCenter ()=0
 
virtual void SetCoordCenter (int c)=0
 
virtual void EnableCoordCenter (BOOL enabled)=0
 
virtual int GetRefCoordSys ()=0
 
virtual void SetRefCoordSys (int c)=0
 
virtual void EnableRefCoordSys (BOOL enabled)=0
 
virtual float SnapAngle (float angleIn, BOOL fastSnap=TRUE, BOOL forceSnap=FALSE)=0
 
virtual float SnapPercent (float percentIn)=0
 
virtual BOOL GetSnapState ()=0
 
virtual int GetSnapMode ()=0
 
virtual BOOL SetSnapMode (int mode)=0
 
virtual int InitSnapInfo (SnapInfo *info)=0
 
virtual void SetPickMode (PickModeCallback *pCB)=0
 
virtual void ClearPickMode ()=0
 
virtual INodePickNode (HWND hWnd, IPoint2 pt, PickNodeCallback *filt=NULL)=0
 
virtual void BoxPickNode (ViewExp *vpt, IPoint2 *pt, BOOL crossing, PickNodeCallback *filt=NULL)=0
 
virtual void CirclePickNode (ViewExp *vpt, IPoint2 *pt, BOOL crossing, PickNodeCallback *filt=NULL)=0
 
virtual void FencePickNode (ViewExp *vpt, IPoint2 *pt, BOOL crossing, PickNodeCallback *filt=NULL)=0
 
virtual void FlashNodes (INodeTab *nodes)=0
 
virtual void RegisterSubObjectTypes (const MCHAR **types, int count, int startIndex=0)=0
 
virtual int GetSubObjectLevel ()=0
 
virtual void SetSubObjectLevel (int level, BOOL force=FALSE)=0
 
virtual int GetNumSubObjectLevels ()=0
 
virtual void PipeSelLevelChanged ()=0
 
virtual void GetPipelineSubObjLevel (DWORDTab &levels)=0
 
virtual int SubObHitTest (TimeValue t, int type, int crossing, int vflags, IPoint2 *p, ViewExp *vpt)=0
 
virtual void AppendSubObjectNamedSelSet (const MCHAR *set)=0
 
virtual void ClearSubObjectNamedSelSets ()=0
 
virtual void ClearCurNamedSelSet ()=0
 
virtual void SetCurNamedSelSet (const MCHAR *setName)=0
 
virtual void NamedSelSetListChanged ()=0
 
virtual void GetModContexts (ModContextList &list, INodeTab &nodes)=0
 
virtual BOOL SelectionFrozen ()=0
 
virtual void FreezeSelection ()=0
 
virtual void ThawSelection ()=0
 
virtual INodeGetSelNode (int i)=0
 
virtual int GetSelNodeCount ()=0
 
virtual void SelectNode (INode *node, int clearSel=1)=0
 
virtual void DeSelectNode (INode *node)=0
 
virtual void SelectNodeTab (INodeTab &nodes, BOOL sel, BOOL redraw=TRUE)=0
 
virtual void ClearNodeSelection (BOOL redraw=TRUE)=0
 
virtual void GetSelectionWorldBox (TimeValue t, Box3 &box)=0
 
virtual bool CloneNodes (INodeTab &nodes, Point3 &offset, bool expandHierarchies=true, CloneType cloneType=NODE_COPY, INodeTab *resultSource=NULL, INodeTab *resultTarget=NULL)=0
 
virtual void CollapseNode (INode *node, BOOL noWarning=FALSE)=0
 @ More...
 
virtual BOOL CollapseNodeTo (INode *node, int modIndex, BOOL noWarning=FALSE)=0
 
virtual BOOL ConvertNode (INode *node, Class_ID &cid)=0
 
virtual IRenderPresetsManagerGetRenderPresetsManager ()=0
 
virtual DefaultActionSysDefaultActions ()=0
 
virtual BOOL SetQuietMode (BOOL onOff)=0
 Sets internal flag, returns old value. More...
 
virtual BOOL GetQuietMode (BOOL checkServerMode=TRUE)=0
 The return value from this method should be called before displaying any dialogs. More...
 
virtual void SetAutoGridEnable (bool sw=true)=0
 Enables/disables system AutoGrid feature. More...
 
virtual bool GetAutoGridEnable ()=0
 Query system AutoGrid feature enable state. More...
 
virtual bool GetAutoGridState ()=0
 Query system AutoGrid feature state. More...
 
virtual void SetAutoGridState (bool sw=true)=0
 Sets system AutoGrid state. More...
 
virtual void EnableShowEndResult (BOOL enabled)=0
 
virtual BOOL GetShowEndResult ()=0
 
virtual void SetShowEndResult (BOOL show)=0
 
virtual int GetCommandPanelTaskMode ()=0
 
virtual void SetCommandPanelTaskMode (int mode)=0
 
virtual HWND AddRollupPage (HINSTANCE hInst, const MCHAR *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD rollUpFlags=0, int category=ROLLUP_CAT_STANDARD)=0
 
virtual void AddRollupPage (QWidget &qtWidget, const MCHAR *title, DWORD rollupFlags=0, int category=ROLLUP_CAT_STANDARD)=0
 Adds a rollup page that hosts a Qt dialog. More...
 
virtual HWND AddRollupPage (HINSTANCE hInst, DLGTEMPLATE *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD rollUpFlags=0, int category=ROLLUP_CAT_STANDARD)=0
 
virtual void DeleteRollupPage (HWND hRollup)=0
 
virtual void DeleteRollupPage (QWidget &qtWidget)=0
 Removes a rollup page that hosts a Qt dialog. More...
 
virtual HWND ReplaceRollupPage (HWND hOldRollup, HINSTANCE hInst, const MCHAR *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD rollUpFlags=0, int category=ROLLUP_CAT_STANDARD)=0
 
virtual HWND ReplaceRollupPage (HWND hOldRollup, HINSTANCE hInst, DLGTEMPLATE *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD rollUpFlags=0, int category=ROLLUP_CAT_STANDARD)=0
 
virtual IRollupWindowGetCommandPanelRollup ()=0
 
virtual void RollupMouseMessage (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)=0
 
virtual void EnableAnimateButton (BOOL enable)=0
 
virtual BOOL IsAnimateEnabled ()=0
 
virtual void SetAnimateButtonState (BOOL onOff)=0
 
virtual bool InProgressiveMode ()=0
 
virtual void BeginProgressiveMode ()=0
 
virtual void EndProgressiveMode ()=0
 
virtual TimeValue GetTime ()=0
 
virtual void SetTime (TimeValue t, BOOL redraw=TRUE)=0
 
virtual Interval GetAnimRange ()=0
 
virtual void SetAnimRange (Interval range)=0
 
virtual BOOL GetRealTimePlayback ()=0
 
virtual void SetRealTimePlayback (BOOL realTime)=0
 
virtual BOOL GetPlayActiveOnly ()=0
 
virtual void SetPlayActiveOnly (BOOL playActive)=0
 
virtual void StartAnimPlayback (int selOnly=FALSE)=0
 
virtual void EndAnimPlayback ()=0
 
virtual BOOL IsAnimPlaying ()=0
 
virtual int GetPlaybackSpeed ()=0
 
virtual void SetPlaybackSpeed (int s)=0
 
virtual BOOL GetPlaybackLoop ()=0
 
virtual void SetPlaybackLoop (BOOL loop)=0
 
virtual int GetSelectFilter ()=0
 
virtual void SetSelectFilter (int c)=0
 
virtual int GetNumberSelectFilters ()=0
 
virtual const MCHARGetSelectFilterName (int index)=0
 
virtual BOOL GetDisplayFilter (int index)=0
 
virtual void SetDisplayFilter (int index, BOOL on)=0
 
virtual int GetNumberDisplayFilters ()=0
 
virtual BOOL DisplayFilterIsNodeVisible (int index, int sid, Class_ID cid, INode *node)=0
 
virtual const MCHARGetDisplayFilterName (int index)=0
 
virtual Matrix3 GetTransformAxis (INode *node, int subIndex, BOOL *local=NULL)=0
 
virtual int GetNumAxis ()=0
 
virtual void LockAxisTripods (BOOL onOff)=0
 
virtual BOOL AxisTripodLocked ()=0
 
virtual void RegisterDlgWnd (HWND hDlg)=0
 
virtual int UnRegisterDlgWnd (HWND hDlg)=0
 
virtual void RegisterAccelTable (HWND hWnd, HACCEL hAccel)=0
 
virtual int UnRegisterAccelTable (HWND hWnd, HACCEL hAccel)=0
 
virtual IActionManagerGetActionManager ()=0
 
virtual IMenuManagerGetMenuManager ()=0
 
virtual RightClickMenuManagerGetRightClickMenuManager ()=0
 
virtual void RegisterDeleteUser (EventUser *user)=0
 
virtual void UnRegisterDeleteUser (EventUser *user)=0
 
virtual void MakeNameUnique (MSTR &name)=0
 
virtual NameMakerNewNameMaker (BOOL initFromScene=TRUE)=0
 
virtual INodeCreateObjectNode (Object *obj)=0
 
virtual GenCameraCreateCameraObject (int type)=0
 Creates a new camera object of the given type. More...
 
virtual ObjectCreateTargetObject ()=0
 
virtual GenLightCreateLightObject (int type)=0
 
virtual voidCreateInstance (SClass_ID superID, Class_ID classID)=0
 
virtual int BindToTarget (INode *laNode, INode *targNode)=0
 
virtual void StopCreating ()=0
 
virtual ObjectNonMouseCreate (Matrix3 tm)=0
 
virtual void NonMouseCreateFinish (Matrix3 tm)=0
 
virtual unsigned int DeleteNode (INode *node, BOOL redraw=TRUE, BOOL overrideDriven=FALSE)=0
 Deletes the specified node from the scene. More...
 
virtual INodeGetRootNode ()=0
 
virtual void SetNodeTMRelConstPlane (INode *node, Matrix3 &mat)=0
 
virtual INodeGetINodeByName (const MCHAR *name)=0
 
virtual INodeGetINodeByHandle (ULONG handle)=0
 
virtual void AddLightToScene (INode *node)=0
 
virtual float GetLightConeConstraint ()=0
 
virtual void AddSFXRollupPage (ULONG vflags=0)=0
 
virtual void DeleteSFXRollupPage ()=0
 
virtual void RefreshSFXRollupPage ()=0
 
virtual const MCHARGetDir (int which)=0
 
virtual int GetPlugInEntryCount ()=0
 
virtual const MCHARGetPlugInDesc (int i)=0
 
virtual const MCHARGetPlugInDir (int i)=0
 
virtual MtlBaseGetMtlSlot (int slot)=0
 
virtual MtlBaseLibGetSceneMtls ()=0
 
virtual BOOL OkMtlForScene (MtlBase *m)=0
 
virtual MtlBaseLibGetMaterialLibrary ()=0
 
CoreExport void DeActivateTexture (MtlBase *tx, Mtl *mtl, int subNum=-1)
 
CoreExport void ActivateTexture (MtlBase *tx, Mtl *mtl, int subNum=-1)
 
virtual void AssignNewName (Mtl *m)=0
 
virtual void AssignNewName (Texmap *m)=0
 
virtual void UpdateMtlEditorBrackets ()=0
 
virtual void ConvertMtl (TimeValue t, Material &gm, Mtl *mtl, BOOL doTex, int subNum, float vis, BOOL &needDecal, INode *node, BitArray *needTex, GraphicsWindow *gw)=0
 
virtual MSTRGetCurFileName ()=0
 
virtual MSTRGetCurFilePath ()=0
 
virtual const MCHARGetMatLibFileName ()=0
 
virtual void FileOpen ()=0
 
virtual BOOL FileSave ()=0
 
virtual BOOL FileSaveAs ()=0
 
virtual void FileSaveSelected ()=0
 
virtual void FileReset (BOOL noPrompt=FALSE)=0
 
virtual void FileMerge ()=0
 
virtual void FileHold ()=0
 
virtual void FileFetch ()=0
 
virtual void FileOpenMatLib (HWND hWnd)=0
 
virtual void FileSaveMatLib (HWND hWnd)=0
 
virtual void FileSaveAsMatLib (HWND hWnd)=0
 
virtual void LoadDefaultMatLib ()=0
 
virtual int LoadFromFile (const MCHAR *name, BOOL refresh=TRUE)=0
 
virtual int SaveToFile (const MCHAR *fname, BOOL clearNeedSaveFlag=TRUE, BOOL useNewFile=TRUE)=0
 
virtual void FileSaveSelected (const MCHAR *fname)=0
 
virtual void FileSaveNodes (INodeTab *nodes, const MCHAR *fname)=0
 
virtual int LoadMaterialLib (const MCHAR *name, MtlBaseLib *lib=NULL)=0
 
virtual int SaveMaterialLib (const MCHAR *name, MtlBaseLib *lib=NULL)=0
 
virtual int MergeFromFile (const MCHAR *name, BOOL mergeAll=FALSE, BOOL selMerged=FALSE, BOOL refresh=TRUE, int dupAction=MERGE_DUPS_PROMPT, NameTab *mrgList=NULL, int dupMtlAction=MERGE_DUP_MTL_PROMPT, int reparentAction=MERGE_REPARENT_PROMPT, BOOL includeFullGroup=FALSE)=0
 
virtual BOOL CheckForSave ()=0
 
virtual void SetMAXFileOpenDlg (MAXFileOpenDialog *dlg)=0
 
virtual void SetMAXFileSaveDlg (MAXFileSaveDialog *dlg)=0
 
virtual bool IsMaxFile (const MCHAR *filename)=0
 
virtual bool IsInternetCachedFile (const MCHAR *filename)=0
 
virtual BOOL FileImport ()=0
 
virtual BOOL FileExport ()=0
 
virtual BOOL ImportFromFile (const MCHAR *name, BOOL suppressPrompts=FALSE, Class_ID *importerID=NULL)=0
 
virtual BOOL ExportToFile (const MCHAR *name, BOOL suppressPrompts=FALSE, DWORD options=0, Class_ID *exporterID=NULL)=0
 
virtual BOOL GetImportZoomExtents ()=0
 
virtual void SetImportZoomExtents (BOOL onOff)=0
 
virtual bool CanImportFile (const MCHAR *filename)=0
 
virtual INodeGroupNodes (INodeTab *nodes=NULL, MSTR *name=NULL, BOOL selGroup=TRUE)=0
 
virtual void UngroupNodes (INodeTab *nodes=NULL)=0
 
virtual void ExplodeNodes (INodeTab *nodes=NULL)=0
 
virtual void OpenGroup (INodeTab *nodes=NULL, BOOL clearSel=TRUE)=0
 
virtual void CloseGroup (INodeTab *nodes=NULL, BOOL selGroup=TRUE)=0
 
virtual void TranslateAndDispatchMAXMessage (MSG &msg)=0
 
virtual BOOL CheckMAXMessages ()=0
 
virtual BOOL setBkgImageAsset (const MaxSDK::AssetManagement::AssetUser &asset)=0
 
virtual const MaxSDK::AssetManagement::AssetUsergetBkgImageAsset (void)=0
 
virtual void setBkgImageAspect (int t)=0
 
virtual int getBkgImageAspect ()=0
 
virtual void setBkgImageAnimate (BOOL onOff)=0
 
virtual int getBkgImageAnimate (void)=0
 
virtual void setBkgFrameRange (int start, int end, int step=1)=0
 
virtual int getBkgFrameRangeVal (int which)=0
 
virtual void setBkgORType (int which, int type)=0
 
virtual int getBkgORType (int which)=0
 
virtual void setBkgStartTime (TimeValue t)=0
 
virtual TimeValue getBkgStartTime ()=0
 
virtual void setBkgSyncFrame (int f)=0
 
virtual int getBkgSyncFrame ()=0
 
virtual int getBkgFrameNum (TimeValue t)=0
 
virtual void SetViewportBGColor (const Point3 &color)=0
 
virtual Point3 GetViewportBGColor ()=0
 
virtual int OpenRenderer (Renderer *pRenderer, INode *camNode, ViewExp *view, RendType type=RENDTYPE_NORMAL, int w=0, int h=0)=0
 
virtual int OpenRenderer (Renderer *pRenderer, ViewParams *vpar, RendType type=RENDTYPE_NORMAL, int w=0, int h=0)=0
 
virtual int RendererRenderFrame (Renderer *pRenderer, TimeValue t, Bitmap *bm, RendProgressCallback *prog=NULL, float frameDur=1.0f, ViewParams *vp=NULL, RECT *regionRect=NULL)=0
 
virtual void CloseRenderer (Renderer *pRenderer)=0
 
virtual RendererGetCurrentRenderer (bool createRendererIfItDoesntExist=true)=0
 
virtual RendererGetProductionRenderer (bool createRendererIfItDoesntExist=true)=0
 
virtual RendererGetDraftRenderer (bool createRendererIfItDoesntExist=true)=0
 
virtual RendererGetRenderer (RenderSettingID renderSettingID, bool createRendererIfItDoesntExist=true)=0
 
virtual void AssignCurRenderer (Renderer *rend)=0
 
virtual void AssignProductionRenderer (Renderer *rend)=0
 
virtual void AssignDraftRenderer (Renderer *rend)=0
 
virtual void AssignRenderer (RenderSettingID renderSettingID, Renderer *rend)=0
 
virtual void SetUseDraftRenderer (BOOL b)=0
 
virtual BOOL GetUseDraftRenderer ()=0
 
virtual void ChangeRenderSetting (RenderSettingID renderSettingID)=0
 
virtual RenderSettingID GetCurrentRenderSetting ()=0
 
virtual IRenderElementMgrGetCurRenderElementMgr ()=0
 
virtual IRenderElementMgrGetRenderElementMgr (RenderSettingID renderSettingID)=0
 
virtual void SetupRendParams (RendParams &rp, ViewExp *vpt, RendType t=RENDTYPE_NORMAL)=0
 
virtual void GetViewParamsFromNode (INode *vnode, ViewParams &vp, TimeValue t)=0
 
virtual BOOL CheckForRenderAbort ()=0
 This method may be called during a rendering to check if user has cancelled the render. More...
 
virtual void AbortRender ()=0
 Calling this method during a render will set the flag that indicates that the render is to be aborted. More...
 
virtual int GetRendTimeType ()=0
 
virtual void SetRendTimeType (int type)=0
 
virtual TimeValue GetRendStart ()=0
 
virtual void SetRendStart (TimeValue start)=0
 
virtual TimeValue GetRendEnd ()=0
 
virtual void SetRendEnd (TimeValue end)=0
 
virtual int GetRendNThFrame ()=0
 
virtual void SetRendNThFrame (int n)=0
 
virtual BOOL GetRendShowVFB ()=0
 
virtual void SetRendShowVFB (BOOL onOff)=0
 
virtual BOOL GetRendSaveFile ()=0
 
virtual void SetRendSaveFile (BOOL onOff)=0
 
virtual BOOL GetRendUseDevice ()=0
 
virtual void SetRendUseDevice (BOOL onOff)=0
 
virtual BOOL GetRendUseNet ()=0
 
virtual void SetRendUseNet (BOOL onOff)=0
 
virtual BitmapInfoGetRendFileBI ()=0
 
virtual BitmapInfoGetRendDeviceBI ()=0
 
virtual int GetRendWidth ()=0
 
virtual void SetRendWidth (int w)=0
 
virtual int GetRendHeight ()=0
 
virtual void SetRendHeight (int h)=0
 
virtual float GetRendApect ()=0
 
virtual void SetRendAspect (float a)=0
 
virtual float GetRendImageAspect ()=0
 
virtual float GetRendApertureWidth ()=0
 
virtual void SetRendApertureWidth (float aw)=0
 
virtual BOOL GetRendFieldRender ()=0
 
virtual void SetRendFieldRender (BOOL onOff)=0
 
virtual BOOL GetRendColorCheck ()=0
 
virtual void SetRendColorCheck (BOOL onOff)=0
 
virtual BOOL GetRendSuperBlack ()=0
 
virtual void SetRendSuperBlack (BOOL onOff)=0
 
virtual BOOL GetRendHidden ()=0
 
virtual void SetRendHidden (BOOL onOff)=0
 
virtual BOOL GetRendForce2Side ()=0
 
virtual void SetRendForce2Side (BOOL onOff)=0
 
virtual BOOL GetRendAtmosphere ()=0
 
virtual void SetRendAtmosphere (BOOL onOff)=0
 
virtual BOOL GetRendEffects ()=0
 
virtual void SetRendEffects (BOOL onOff)=0
 
virtual BOOL GetRendDisplacement ()=0
 
virtual void SetRendDisplacement (BOOL onOff)=0
 
virtual MSTRGetRendPickFramesString ()=0
 
virtual BOOL GetRendDitherTrue ()=0
 
virtual void SetRendDitherTrue (BOOL onOff)=0
 
virtual BOOL GetRendDither256 ()=0
 
virtual void SetRendDither256 (BOOL onOff)=0
 
virtual BOOL GetRendMultiThread ()=0
 
virtual void SetRendMultiThread (BOOL onOff)=0
 
virtual BOOL GetRendNThSerial ()=0
 
virtual void SetRendNThSerial (BOOL onOff)=0
 
virtual int GetRendVidCorrectMethod ()=0
 
virtual void SetRendVidCorrectMethod (int m)=0
 
virtual int GetRendFieldOrder ()=0
 
virtual void SetRendFieldOrder (int fo)=0
 
virtual int GetRendNTSC_PAL ()=0
 
virtual void SetRendNTSC_PAL (int np)=0
 
virtual int GetRendSuperBlackThresh ()=0
 
virtual void SetRendSuperBlackThresh (int sb)=0
 
virtual int GetRendFileNumberBase ()=0
 
virtual void SetRendFileNumberBase (int n)=0
 
virtual BOOL GetSkipRenderedFrames ()=0
 
virtual void SetSkipRenderedFrames (BOOL onOff)=0
 
virtual DWORD GetHideByCategoryFlags ()=0
 
virtual void SetHideByCategoryFlags (DWORD f)=0
 
virtual INodeGetINodeFromRenderID (UWORD id)=0
 
virtual void ExecuteMAXCommand (int id)=0
 
virtual TexmapGetEnvironmentMap ()=0
 
virtual void SetEnvironmentMap (Texmap *map)=0
 
virtual BOOL GetUseEnvironmentMap ()=0
 
virtual void SetUseEnvironmentMap (BOOL onOff)=0
 
virtual Point3 GetAmbient (TimeValue t, Interval &valid)=0
 
Point3 GetAmbient (TimeValue t)
 
virtual void SetAmbient (TimeValue t, Point3 col)=0
 
virtual ControlGetAmbientController ()=0
 
virtual void SetAmbientController (Control *c)=0
 
virtual Point3 GetLightTint (TimeValue t, Interval &valid)=0
 
Point3 GetLightTint (TimeValue t)
 
virtual void SetLightTint (TimeValue t, Point3 col)=0
 
virtual ControlGetLightTintController ()=0
 
virtual void SetLightTintController (Control *c)=0
 
virtual float GetLightLevel (TimeValue t, Interval &valid)=0
 
float GetLightLevel (TimeValue t)
 
virtual void SetLightLevel (TimeValue t, float lev)=0
 
virtual ControlGetLightLevelController ()=0
 
virtual void SetLightLevelController (Control *c)=0
 
virtual int NumAtmospheric ()=0
 
virtual AtmosphericGetAtmospheric (int i)=0
 
virtual void SetAtmospheric (int i, Atmospheric *a)=0
 
virtual void AddAtmosphere (Atmospheric *atmos)=0
 
virtual void DeleteAtmosphere (int i)=0
 
virtual void EditAtmosphere (Atmospheric *a, INode *gizmo=NULL)=0
 
virtual Point3 GetBackGround (TimeValue t, Interval &valid)=0
 
Point3 GetBackGround (TimeValue t)
 
virtual void SetBackGround (TimeValue t, Point3 col)=0
 
virtual ControlGetBackGroundController ()=0
 
virtual void SetBackGroundController (Control *c)=0
 
virtual int NumEffects ()=0
 
virtual EffectGetEffect (int i)=0
 
virtual void SetEffect (int i, Effect *e)=0
 
virtual void AddEffect (Effect *eff)=0
 
virtual void DeleteEffect (int i)=0
 
virtual void EditEffect (Effect *e, INode *gizmo=NULL)=0
 
virtual SoundObjGetSoundObject ()=0
 
virtual void SetSoundObject (SoundObj *snd)=0
 
virtual LogSysLog ()=0
 
virtual DllDirGetDllDir ()=0
 
virtual DllDirGetDllDirectory ()=0
 
virtual INT_PTR Execute (int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0, ULONG_PTR arg4=0, ULONG_PTR arg5=0, ULONG_PTR arg6=0)=0
 
virtual ReferenceTargetGetScenePointer ()=0
 
virtual ITrackViewNodeGetTrackViewRootNode ()=0
 
virtual ITrackBarGetTrackBar ()=0
 
virtual ITreeViewCreateTreeViewChild (ReferenceTarget *root, HWND hParent, DWORD style=0, ULONG id=0, int open=OPENTV_SPECIAL)=0
 
virtual void FreeSceneBitmaps ()=0
 
virtual void EnumAuxFiles (AssetEnumCallback &assetEnum, DWORD vflags)=0
 
virtual void RenderTexmap (Texmap *tex, Bitmap *bm, float scale3d=1.0f, BOOL filter=FALSE, BOOL display=FALSE, float z=0.0f, TimeValue t=GetCOREInterface() ->GetTime(), bool bake=false)=0
 
virtual bool CanImportBitmap (const MCHAR *filename)=0
 
virtual bool CaptureSubObjectRegistration (bool OnOff, Class_ID cid)=0
 
virtual bool DownloadUrl (HWND hwnd, const MCHAR *url, const MCHAR *filename, DWORD downloadFlags=0)=0
 
virtual INodeGetImportCtxNode (void)=0
 
virtual void RescaleWorldUnits (float f, BOOL selected)=0
 
virtual BOOL GetKeyStepsSelOnly ()=0
 
virtual void SetKeyStepsSelOnly (BOOL onOff)=0
 
virtual BOOL GetKeyStepsUseTrans ()=0
 
virtual void SetKeyStepsUseTrans (BOOL onOff)=0
 
virtual BOOL GetKeyStepsPos ()=0
 
virtual void SetKeyStepsPos (BOOL onOff)=0
 
virtual BOOL GetKeyStepsRot ()=0
 
virtual void SetKeyStepsRot (BOOL onOff)=0
 
virtual BOOL GetKeyStepsScale ()=0
 
virtual void SetKeyStepsScale (BOOL onOff)=0
 
virtual BOOL GetKeyStepsUseTrackBar ()=0
 
virtual void SetKeyStepsUseTrackBar (BOOL onOff)=0
 
virtual BOOL GetUseTransformGizmo ()=0
 
virtual void SetUseTransformGizmo (BOOL onOff)=0
 
virtual void SetTransformGizmoRestoreAxis (BOOL bOnOff)=0
 
virtual BOOL GetTransformGizmoRestoreAxis ()=0
 
virtual BOOL GetConstantAxisRestriction ()=0
 
virtual void SetConstantAxisRestriction (BOOL onOff)=0
 
virtual int HitTestTransformGizmo (IPoint2 *p, ViewExp *vpt, int axisFlags)=0
 
virtual void DeactivateTransformGizmo ()=0
 
virtual int AddClass (ClassDesc *pCD)=0
 
virtual int DeleteClass (ClassDesc *pCD)=0
 
virtual int GetNumProperties (int PropertySet)=0
 
virtual int FindProperty (int PropertySet, const PROPSPEC *propspec)=0
 
virtual const PROPVARIANT * GetPropertyVariant (int PropertySet, int idx)=0
 
virtual const PROPSPEC * GetPropertySpec (int PropertySet, int idx)=0
 
virtual void AddProperty (int PropertySet, const PROPSPEC *propspec, const PROPVARIANT *propvar)=0
 
virtual void DeleteProperty (int PropertySet, const PROPSPEC *propspec)=0
 
virtual void SetIncludeXRefsInHierarchy (BOOL onOff)=0
 
virtual BOOL GetIncludeXRefsInHierarchy ()=0
 
virtual BOOL IsXRefAutoUpdateSuspended ()=0
 
virtual void SetXRefAutoUpdateSuspended (BOOL onOff)=0
 
virtual BOOL IsSceneXRefNode (INode *node)=0
 
virtual bool IsTrialLicense ()=0
 
virtual bool IsNetworkLicense ()=0
 Returns true if the application is running under a network license. More...
 
virtual void RAMPlayer (HWND hWndParent, const MCHAR *szChanA=NULL, const MCHAR *szChanB=NULL)=0
 
virtual void FlushUndoBuffer ()=0
 
virtual bool DeferredPluginLoadingEnabled ()=0
 
virtual void EnableDeferredPluginLoading (bool onOff)=0
 
- Public Member Functions inherited from FPInterfaceDesc
CoreExport FPInterfaceDesc ()
 
CoreExport FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...)
 
CoreExport ~FPInterfaceDesc ()
 
virtual void Init ()
 
LifetimeType LifetimeControl ()
 
CoreExport void LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...)
 
CoreExport void AppendFunction (int id,...)
 Add a new function to this interface descriptor. More...
 
CoreExport void AppendProperty (int id,...)
 Add a new property to this interface descriptor. More...
 
CoreExport void AppendEnum (int id,...)
 Add a new enum to this interface descriptor. More...
 
CoreExport void SetClassDesc (ClassDesc *i_cd)
 
CoreExport va_list check_fn (va_list ap, int id)
 
CoreExport va_list scan_fn (va_list ap, int id, int index)
 
CoreExport va_list check_prop (va_list ap, int id)
 
CoreExport va_list scan_prop (va_list ap, int id, int index)
 
CoreExport va_list check_enum (va_list ap, EnumID id)
 
CoreExport va_list scan_enum (va_list ap, EnumID id, int index)
 
FPInterfaceDescGetDesc ()
 
Interface_ID GetID ()
 
CoreExport FPFunctionDefGetFnDef (FunctionID fid)
 
ActionTableGetActionTable ()
 
CoreExport void EnableActions (BOOL onOff)
 
virtual CoreExport HINSTANCE HInstance ()
 
virtual CoreExport const MCHARGetRsrcString (StringResID id)
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Static Public Attributes

static CoreExport const Interface_ID kInterface8InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface8 pointer. More...
 
- Static Public Attributes inherited from Interface7
static CoreExport const Interface_ID kInterface7InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface7 pointer. More...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Public Attributes inherited from FPInterfaceDesc
Interface_ID ID
 
MSTR internal_name
 
StringResID description
 
ClassDesccd
 
USHORT flags
 
Tab< FPFunctionDef * > functions
 
Tab< FPPropDef * > props
 
Tab< FPEnum * > enumerations
 
MSPluginClasspc
 
Rolloutrollout
 
ActionTableaction_table
 
- Protected Member Functions inherited from FPInterfaceDesc
CoreExport void load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 

Detailed Description

The interface class for max version 8.

This interface should always be retrieved over Interface or Interface7 when programming against version 8 of the application. It features new functionality and deprecates obsolete functions.

Member Enumeration Documentation

◆ LoadFromFileFlags

Flags for LoadFromFile method.

See also
Interface8::LoadFromFile
Enumerator
kRefreshViewports 

When this flag is set, the viewports are redrawn once the file is loaded.

kSuppressPrompts 

When this flag is set, messages about file unit mismatch and obsolete file versions will be suppressed.

kUseFileUnits 

This flag is only valid in conjunction with kSuppressPrompts.

If the current scene's system units differ from those of the scene's being loaded, turning on this flag will cause the system unit scale of the incoming scene to be used (objects that are loaded are not scaled). Otherwise, the incoming scene's objects will be rescaled to the current scene's system unit.

kSetCurrentFilePath 

When this flag is set, the current file path is set to the one of the file that was loaded and the name of the file is displayed in the 3ds Max's title bar.

Otherwise, the current file path and the title bar are not modified. If the file is not loaded successfully, or 3ds Max is working in network rendering mode, the current path and title bar are not modified.

Note
Turning this flag off (not specifying it) has no effect in 3ds Max 2008.
9228  {
9232  kRefreshViewports = 0x01,
9237  kSuppressPrompts = 0x02,
9244  kUseFileUnits = 0x04,
9245 
9253  kSetCurrentFilePath = 0x08
9254  };
@ kRefreshViewports
When this flag is set, the viewports are redrawn once the file is loaded.
Definition: maxapi.h:9232
@ kSetCurrentFilePath
When this flag is set, the current file path is set to the one of the file that was loaded and the na...
Definition: maxapi.h:9253
@ kSuppressPrompts
When this flag is set, messages about file unit mismatch and obsolete file versions will be suppresse...
Definition: maxapi.h:9237
@ kUseFileUnits
This flag is only valid in conjunction with kSuppressPrompts.
Definition: maxapi.h:9244

Member Function Documentation

◆ QuickRender()

virtual int QuickRender ( TimeValue  t = TIME_PosInfinity,
Bitmap rendbm = NULL,
RendProgressCallback prog = NULL 
)
pure virtual

Launches a Quick Render, as though pressing the Quick Render button.

Parameters
[in]tThe time to render the image. Pass TIME_PosInfinity or TIME_NegInfinity to use the current slider time
[in]rendbmThe bitmap to render to, or NULL for default handling. If a bitmap is provided, the caller is responsible for displaying the VFB and saving the file.
[in]progThe RendProgressCallback is an optional callback. Pass NULL for the default render progress dialog
Returns
The result of the render - Nonzero if success; otherwise 0.

◆ GetRendFrameList()

virtual void GetRendFrameList ( IntTab frameNums)
pure virtual

Enumerates the frames for rendering, as specified in the Render Dialog.

Parameters
[out]frameNumsThe frame number list; this is resized and set by the callee

◆ GetRendProgressCallback()

virtual RendProgressCallback* GetRendProgressCallback ( )
pure virtual

Returns the custom progress callback, if any, used for rendering through the UI.

If NULL, the renderer will use its default progress dialog

◆ SetRendProgressCallback()

virtual void SetRendProgressCallback ( RendProgressCallback prog)
pure virtual

Sets a custom progress callback, used for rendering through the UI.

This will be used when performing a render through the UI. If set to NULL, the renderer will use its default progress dialog

Parameters
[in]progThe custom progress callback

◆ GetRendCamNode()

virtual INode* GetRendCamNode ( )
pure virtual

Returns the custom camera node, if any, used for rendering through the UI.

If NULL, the renderer will render from a viewport by default

◆ SetRendCamNode()

virtual void SetRendCamNode ( INode camNode)
pure virtual

Sets a custom camera node, used for rendering through the UI.

If NULL, the renderer will render from a viewport by default, but this allows for specifying a perspective other than one of the viewports.

Parameters
[in]camNodeThe custom camera node

◆ GetRendUseImgSeq()

virtual BOOL GetRendUseImgSeq ( )
pure virtual

Returns the "Put Image File List(s) in Output Path(s)" setting in the render dialog.

◆ SetRendUseImgSeq()

virtual void SetRendUseImgSeq ( BOOL  onOff)
pure virtual

Sets the "Put Image File List(s) in Output Path(s)" setting in the render dialog.

When enabled, a sequence file (in .imsq or .ifl format) will be saved for frames stored during the render, including separate sequence files for the frames of each render element

Parameters
[in]onOffTRUE to enable writing of sequence files, FALSE to disable

◆ GetRendImgSeqType()

virtual int GetRendImgSeqType ( )
pure virtual

Returns the file format used when the renderer creates image sequence files.

For .imsq files this is 0, otherwise for .ifl files this is 1

◆ SetRendImgSeqType()

virtual void SetRendImgSeqType ( int  type)
pure virtual

Sets the file format used when the renderer creates image sequence files.

Parameters
[in]typeThe format type. For .imsq files pass 0, otherwise for .ifl files pass 1

◆ CreateRendImgSeq()

virtual void CreateRendImgSeq ( CreateRendImgSeqCallback cb = NULL)
pure virtual

Saves image sequence files (in .imsq or .ifl format) based on the current output settings.

Equivalent to pressing the "Create Now" button for image sequence files in the render dialog

Parameters
[in]cbAn optional callback object to be called for each sequence file created

◆ GetPreRendScriptAsset()

virtual const MaxSDK::AssetManagement::AssetUser& GetPreRendScriptAsset ( )
pure virtual

Returns the AssetUser of the Pre-Render Script as indicated in the render dialog.

◆ SetPreRendScriptAsset()

virtual void SetPreRendScriptAsset ( const MaxSDK::AssetManagement::AssetUser script)
pure virtual

Sets the AssetUser of the Pre-Render Script as shown in the render dialog.

For non-network rendering, the script is executed once before rendering begins. For network rendering, if the Execute Locally is enabled, the script is executed once, before submission; otherwise the script is executed once on each remote machine the job is assigned to. The script is executed before any pre-render notifications, but after sequence files (.imsq or .ifl) are written

Parameters
[in]scriptThe filename to set for the the pre-render script

◆ GetUsePreRendScript()

virtual BOOL GetUsePreRendScript ( )
pure virtual

Returns the Enable setting for the Pre-Render Script in the render dialog.

◆ SetUsePreRendScript()

virtual void SetUsePreRendScript ( BOOL  onOff)
pure virtual

Sets the Enable setting for the Pre-Render Script in the render dialog.

Parameters
[in]onOffTRUE to enable the pre-render script, FALSE to disable

◆ GetLocalPreRendScript()

virtual BOOL GetLocalPreRendScript ( )
pure virtual

Returns the Execute Locally setting for the Pre-Render Script in the render dialog.

◆ SetLocalPreRendScript()

virtual void SetLocalPreRendScript ( BOOL  onOff)
pure virtual

Sets the Execute Locally setting for the Pre-Render Script in the render dialog.

This setting affects network rendering, causing the script to be executed once before submission, instead of once per machine the job is assigned to.

Parameters
[in]onOffTRUE to enable local execution of the pre-render script, FALSE to disable

◆ GetPostRendScriptAsset()

virtual const MaxSDK::AssetManagement::AssetUser& GetPostRendScriptAsset ( )
pure virtual

Returns the AssetUser of the Post-Render Script as indicated in the render dialog.

◆ SetPostRendScriptAsset()

virtual void SetPostRendScriptAsset ( const MaxSDK::AssetManagement::AssetUser script)
pure virtual

Sets the filename of the Post-Render Script as shown in the render dialog.

The script is executed after any post-render notifications.

Parameters
[in]scriptThe filename to set for the the post-render script

◆ GetUsePostRendScript()

virtual BOOL GetUsePostRendScript ( )
pure virtual

Returns the Enable setting for the Post-Render Script in the render dialog.

◆ SetUsePostRendScript()

virtual void SetUsePostRendScript ( BOOL  onOff)
pure virtual

Sets the Enable setting for the Post-Render Script in the render dialog.

Parameters
[in]onOffTRUE to enable the post-render script, FALSE to disable

◆ GetControllerOverrideRangeDefault()

virtual BOOL GetControllerOverrideRangeDefault ( )
pure virtual

Retrieves the default value of the animation preference which determines whether the active range of parametric controllers will be respected or not.

This preference does not affect keyable controllers. When range is respected, the controller evaluation at a time before the activation range start time will return the value at start time and evaluation after activation range end time, the value at end time. Users can see the activation range of controllers as a black line in the Track View, in Dope Sheet mode, when Edit Ranges is on.

Returns
- TRUE if by default, the animation range of controllers is not respected, FALSE otherwise

◆ SetControllerOverrideRangeDefault()

virtual void SetControllerOverrideRangeDefault ( BOOL  override)
pure virtual

Sets whether or not newly created controllers will respect animation range.

Sets the default value of the animation preference which determines whether the active range of parametric controllers will be respected or not

See also
GetControllerOverrideRangeDefault()
Parameters
override- If FALSE, the active range of parametric controllers will be respected by default, otherwise it won't

◆ GetDefaultTangentType()

virtual void GetDefaultTangentType ( int dfltInTangentType,
int dfltOutTangentType 
)
pure virtual

Get the default tangent type for both the "In" and the "Out" tangent.

This tangent type is the one that gets applied to any new animation key created in Max.

Parameters
[out]dfltInTangentType- default type for the "In" tangent.
[out]dfltOutTangentType- default type for the "Out" tangent.

◆ SetDefaultTangentType()

virtual void SetDefaultTangentType ( int  dfltInTangentType,
int  dfltOutTangentType,
BOOL  writeInCfgFile = TRUE 
)
pure virtual

Set the default tangent type for both the "In" and the "Out" tangent.

This tangent type will get set on any animation key created in Max.

Parameters
[in]dfltInTangentType- default type for the "In" tangent.
[in]dfltOutTangentType- default type for the "Out" tangent.
[in]writeInCfgFile- TRUE if tangent type values have to be written in the config file, FALSE otherwise.

◆ GetSpringQuickEditMode()

virtual BOOL GetSpringQuickEditMode ( ) const
pure virtual

Returns whether quick manipulation mode for spring controllers is on.

Retrieves the animation preference controlling whether spring systems used in spring controllers are in quick edit mode. The default is to be OFF. If turned on, then when something invalidates a spring controller, instead of recomputing the results from start as would be required to get the correct results, it resets the system a certain number of frames back (see GetSpringRollingStart() below). This can make a big difference in interactivity.

Returns
- TRUE if the spring controllers are in quick edit mode

◆ SetSpringQuickEditMode()

virtual void SetSpringQuickEditMode ( BOOL  in_quickEdit)
pure virtual

Sets quick manipulation mode for spring controllers.

Sets the animation preference controlling whether spring systems used in spring controllers will be accurate at all times.

Parameters
[in]in_quickEdit- turn on spring quick edit mode.

◆ SetSpringRollingStart()

virtual void SetSpringRollingStart ( int  in_start)
pure virtual

Sets the rolling start value of the quick manipulation mode for spring controllers.

Sets the animation preference controlling how many frames back the spring controllers will use as a rolling starting point for simulation if invalidated, if the Quick Edit option is on (see SetSpringQuickEditMode above).

Parameters
[in]in_start- the number of frames back when restarting.
See also
SetSpringQuickEditMode

◆ GetSpringRollingStart()

virtual int GetSpringRollingStart ( ) const
pure virtual

Returns the rolling start value of the quick manipulation mode for spring controllers.

Returns the animation preference controlling how many frames back the spring controllers will use as a rolling starting point for simulation

See also
GetSpringQuickEditMode

◆ ColorById()

virtual void ColorById ( DWORD  id,
Color c 
)
pure virtual

This method returns the color corresponding to the id in input.

This function represents the color-id mapping that is done for :

  • The Material Id render element
  • The Object Id render element
  • The Material Effects and Object channels of the rpf format
    Parameters
    [in]id- the id for which we want the color
    [out]c- the color corresponding to the id

◆ RegisterExitMAXCallback()

virtual void RegisterExitMAXCallback ( ExitMAXCallback2 cb)
pure virtual

Register a callback object to be called during max shutdown.

See also
ExitMAXCallback2, ExitMAXCallback
Parameters
[in]cb- the ExitMAXCallback2 object

◆ UnRegisterExitMAXCallback()

virtual void UnRegisterExitMAXCallback ( ExitMAXCallback2 cb)
pure virtual

Unregister a callback object to be called during max shutdown.

Parameters
[in]cb- the ExitMAXCallback2 object

◆ DoMaxSaveAsDialog()

virtual bool DoMaxSaveAsDialog ( HWND  parentWnd,
const MSTR title,
MSTR filename,
MSTR initialDir,
FilterList extensionList 
)
pure virtual

Opens a max-style File Save As dialog for generic file types.

Launches a generic File Save As dialog which supports arbitrary file types. The dialog includes 3ds Max specific browsing features such as browse history. When this function returns it will save the new filter index in FilterList's data member m_newFilterIndex. This will allow developers to save the new index by calling FilterList::GetNewFilterIndex() and thus setting the correct filter index (calling FilterList::SetFilterIndex()) when this function is called again. This makes sure the dialog is showing the correct file extension to be used.

Postcondition
filename contains the long filename user selection if this function returns "true"; initialDir contains the path of the file selected, if this function returns true, otherwise it contains the original contents passed-in
Parameters
[in]parentWndThe window handle which should be this dialog's parent window.
[in]titleThe string to be set as the title of this dialog.
[in,out]filenameAs an in parameter, can contain the long or short name of the file that should be default selection of the dialog. As an out parameter, filename contains the long name of the file selected by the user, if this function returns true
[in,out]initialDirAs an in parameter, contains the initial dialog directory. If the user clicks OK, then this parameter contains the user selected directory path.
[in]extensionListA list of extensions supported by this dialog. See FilterList documentation for details.
Returns
true if the user makes an acceptable choice, false if canceled

◆ DoMaxOpenDialog()

virtual bool DoMaxOpenDialog ( HWND  parentWnd,
const MSTR title,
MSTR filename,
MSTR initialDir,
FilterList extensionList 
)
pure virtual

Opens a max-style Open dialog for generic file types.

Launches a generic Open dialog which supports arbitrary file types. The dialog includes 3ds Max specific browsing features such as browse history. When this function returns it will save the new filter index in FilterList's data member m_newFilterIndex. This will allow developers to save the new index by calling FilterList::GetNewFilterIndex() and thus setting the correct filter index (calling FilterList::SetFilterIndex()) when this function is called again. This makes sure the dialog is showing the correct file extension to be used.

Postcondition
filename contains the long filename user selection if this function returns true; initialDir contains the path of the file selected, if this function returns "true", otherwise it contains the original contents passed-in
Parameters
[in]parentWndThe window handle which should be this dialog's parent window.
[in]titleThe string to be set as the title of this dialog.
[in,out]filenameAs an in parameter, can contain the long or short name of the file that should be default selection of the dialog. As an out parameter, filename contains the long name of the file selected by the user, if this function returns true
[in,out]initialDirAs an in parameter, contains the initial dialog directory. If the user clicks OK, then this parameter contains the user selected directory path.
[in]extensionListA list of extensions supported by this dialog. See FilterList documentation for details.
Returns
true if the user makes an acceptable choice, false if canceled

◆ RegisterModelessRenderWindow()

virtual void RegisterModelessRenderWindow ( HWND  hWnd)
pure virtual

Makes a window modeless during a render.

When a render is in progress, window messages to all windows but the virtual frame buffer and the progress window are suppressed in order to make the render operation modal. This method may be used to make a window modeless during the render operation. All messages sent to the given window handle will no longer be suppressed by the render executer.

Note: A modeless render dialog should, ideally, only display certain statistics or messages. It is unsafe to do any complex operation or user interaction from a modeless dialog while rendering. That is why 3ds max blocks most window messages while rendering by default.

PS: Be sure to un-register your window with UnRegisterModelessRenderWindow() when it is destroyed.

Parameters
[in]hWndHandle to the window to be registered.

◆ UnRegisterModelessRenderWindow()

virtual void UnRegisterModelessRenderWindow ( HWND  hWnd)
pure virtual

Un-registers a window registered with RegisterModelessRenderWindow().

See the documentation of RegisterModelessRenderWindow() for more details.

Parameters
[in]hWndHandle to the window to be un-registered.

◆ IsRegisteredModelessRenderWindow()

virtual bool IsRegisteredModelessRenderWindow ( HWND  hWnd)
pure virtual

Returns true if a window is currently registered with RegisterModelessRenderWindow().

See the documentation of RegisterModelessRenderWindow() or UnRegisterModelessRenderWindow() for more details.

Parameters
[in]hWndHandle to the window for which the information is desired.

◆ IsSavingToFile()

virtual bool IsSavingToFile ( )
pure virtual

Returns whether a file save operation is currently in progress.

Returns
true if a file save operation is in progress.

◆ LoadFromFile()

virtual bool LoadFromFile ( const MCHAR szFilename,
unsigned long  lFlags 
)
pure virtual

Loads the specified scene file.

See also
Interface8::LoadFromFileFlags
Parameters
[in]szFilenamethe file to load
[in]lFlagscombination of Interface8::LoadFromFileFlags flags.
Returns
true if success, false if there was an error

◆ RevealInExplorer()

virtual bool RevealInExplorer ( const MSTR path)
pure virtual

Opens a Windows Explorer window pointing to the passed in path.

This is a utility function for opening a Windows Explorer window with a given path. The path can point to a folder, or it can be a full path to a file. If the file path doesn't exist, a warning dialog will open indicating that the path does not exist and the explorer will not open. The explorer is executed using a ShellExecute command, and is independent of the calling application. In other words, shutting down max will not result in the explorer app being shut down.

Precondition
An absolute path value <= 256 characters. A zero length path will result in the explorer opening to the system-default drive (most likely C:). An invalid path will result in a warning dialog, as described above.
Postcondition
An explorer window opens to the location specified by the path.
Parameters
[in]pathAn absolute path for the location used as the default browse location of the explorer.
Returns
true if shell function returns a success code

Member Data Documentation

◆ kInterface8InterfaceID

CoreExport const Interface_ID kInterface8InterfaceID
static

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