3ds Max C++ API Reference
Loading...
Searching...
No Matches
Interface14 Class Referenceabstract

Extends Interface13 Client code should retrieve this interface using GetCOREInterface14. More...

#include <maxapi.h>

+ Inheritance diagram for Interface14:

Public Member Functions

virtual ViewExpGetViewExpByID (int viewID)=0
 This method gets a ViewExp interface given a view ID.
 
virtual int GetRendViewID ()=0
 Get the viewport ID used, when the rendering is locked on a viewport, for the current renderer.
 
virtual void SetRendViewID (int id)=0
 Sets the viewport ID used, when the rendering is locked on a viewport, for the current renderer.
 
virtual PreviewParams GetPreviewParams () const =0
 This method is used to access the data used when creating a preview image from the currently active viewport using the real-time (viewport) renderer.
 
virtual void SetPlayPreviewWhenDone (BOOL play)=0
 Set the Play Preview When Done option accessible in the Preferences dialog and the Make Preview dialog.
 
virtual BOOL GetPlayPreviewWhenDone ()=0
 Retrieve Play Preview When Done option accessible in the Preferences dialog and the Make Preview dialog.
 
virtual bool OverrideLanguageSpecifiedInSceneFile () const =0
 if true, don't use language specified in scene file when doing string conversions during scene file load, instead use value from LanguageToUseForFileIO() In scene files created by 3ds Max 2012, the 3ds Max language ID and active code page are stored in the file.
 
virtual void SetOverrideLanguageSpecifiedInSceneFile (bool overrideFileLangID)=0
 sets return value from OverrideLanguageSpecifiedInSceneFile()
 
virtual bool UseCodePageSpecifiedInSceneFile () const =0
 if true, use the CodePage specified in scene file when doing string conversions during scene file load instead of using the LANGID in the file or specified by LanguageToUseForFileIO() In scene files created by 3ds Max 2012, the 3ds Max language ID and active code page are stored in the file.
 
virtual void SetUseCodePageSpecifiedInSceneFile (bool useFileCodePage)=0
 sets return value from UseCodePageSpecifiedInSceneFile()
 
virtual LANGID LanguageToUseForFileIO () const =0
 The LANGID to use for scene, text, and other binary file io when doing string conversions.
 
virtual bool SetLanguageToUseForFileIO (LANGID id)=0
 sets return value from LanguageToUseForFileIO().
 
virtual UINT CodePageForLanguage (LANGID id) const =0
 returns the code page corresponding to the specified LANGID.
 
virtual bool LegacyFilesCanBeStoredUsingUTF8 () const =0
 if true, when saving non-scene legacy files that are readable by 3ds Max, allow use of UTF8 encoding of strings when it is necessary to convert from wide (Unicode) strings to narrow (ascii/mbcs) strings.
 
virtual void SetLegacyFilesCanBeStoredUsingUTF8 (bool allowUTF8)=0
 sets return value from LegacyFilesCanBeStoredUsingUTF8()
 
virtual void ConvertAppDataChunksContainingStringToUTF8 (Animatable *anim, const Class_ID &classID, SClass_ID superClassID, Tab< DWORD > &subIDs, UINT codePage)=0
 Helper method for converting AppDataChunks containing mbcs string data to utf8 encoded string data This method is used primarily in AppDataLoadCallbacks registered using Animatable::RegisterAppDataLoadCallback to convert AppDataChunks containing mbcs string data to utf8 encoded string data.
 
virtual UINT DefaultTextLoadCodePage ()=0
 returns the default code page for Loading aux file This method would be used outside of scene file io, primarily when doing aux file io.
 
virtual UINT DefaultTextSaveCodePage (bool allow_utf8=false)=0
 returns the default code page for Saving aux file This method would be used outside of scene file io, primarily when doing aux file io.
 
virtual void RenderTexmapRange (Texmap *tex, Bitmap *bm, FBox2 *range, TimeValue t, float scale3d=1.0f, BOOL filter=FALSE, BOOL display=FALSE, bool bake=false, const MCHAR *name=NULL, float z=0.0f, BOOL mono=false, bool disableBitmapProxies=false)=0
 
- Public Member Functions inherited from Interface13
virtual ClassDescDoPickClassDlg (HWND hParent, const 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, const 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 bool ArchiveSceneFile (const MCHAR *archiveFileName, unsigned long saveAsVersion=MAX_RELEASE)=0
 Archives the current scene into a format compatible with the specified 3ds Max version.
 
virtual bool GetSceneFileCompressOnSave ()=0
 Gets whether the scene file is written compressed.
 
virtual void SetSceneFileCompressOnSave (bool compress, bool persist)=0
 Sets whether the scene file is written compressed.
 
virtual ILayerManagerGetLayerManager ()=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.
 
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.
 
- Public Member Functions inherited from Interface12
virtual RECT GetMainWindowClientRect () const =0
 Get the coordinates for the area within the main window available for client UI components.
 
- Public Member Functions inherited from Interface11
virtual HRESULT OpenMAXStorageFile (const WCHAR *filename, IStorage **pIStorage)=0
 Attempt to open an existing max file as a structured storage file.
 
virtual BOOL GetRendUseActiveView ()=0
 Returns TRUE if the rendering uses the active viewport, FALSE if locked on a viewport.
 
virtual void SetRendUseActiveView (BOOL useActiveView)=0
 Sets whether the rendering uses the active viewport, or is locked on a viewport.
 
virtual int GetRenderPresetMRUListCount ()=0
 Returns the number of render presets in the render dialog's most-recently-used render preset list.
 
virtual const MCHARGetRenderPresetMRUListDisplayName (int i)=0
 Returns the display name of an entry in the render dialog's mostly-recently-used render preset list.
 
virtual const MCHARGetRenderPresetMRUListFileName (int i)=0
 Returns the filename associated with an entry in the render dialog's mostly-recently-used render preset list.
 
virtual Matrix3 GetTransformGizmoTM () const =0
 Returns the world transform location of the current transform gizmo.
 
virtual void DisplayViewportConfigDialogPage (int i)=0
 Popup the viewport configuration dialog with specified tab page.
 
- Public Member Functions inherited from Interface10
virtual void FindNodes (const Tab< INode * > &templateNodes, Tab< INode * > &foundNodes, const unsigned int nodePropsToMatch=kNodeProp_All)=0
 Finds nodes in the current scene that are similar to a set of "template" nodes.
 
virtual MSTR GetPrompt ()=0
 Returns the string on the top of the prompt stack.
 
virtual void FormatRenderTime (DWORD msec, MSTR &str, BOOL hundredths=FALSE)=0
 Formats a time value into a string, as shown in the render progress dialog.
 
virtual bool GetTrajectoryMode () const =0
 Get whether or not if we are in the trajectory mode in the motion panel.
 
virtual void SetTrajectoryMode (bool flag)=0
 Set whether or not we are in the trajectory mode in the motion panel.
 
virtual bool GetTrajectoryKeySubMode () const =0
 Get whether or not the trajectory is in the key subobject mode so that keys may be edited.
 
virtual void SetTrajectoryKeySubMode (bool flag)=0
 Set whether or not the trajectory is in the key subobject mode or not.
 
virtual bool GetTrajectoryAddKeyMode () const =0
 Get whether or not the trajectory is in the add mode of the key subobject mode so that keys may be added by interactively pressing left-click on the trajectory.
 
virtual void SetTrajectoryAddKeyMode (bool flag)=0
 Set whether or not the trajectory is in the add mode of the key subobject mode or not so that keys may be added by interactively pressing left-click on the trajectory.
 
virtual void DeleteSelectedTrajectoryKey ()=0
 Delete the selected trajectory keys.

 
virtual BOOL GetAutoKeyDefaultKeyOn () const =0
 Retrieves the animation preference controlling whether or not a default key is set when animating with Auto Key enabled on a controller with no keys.
 
virtual void SetAutoKeyDefaultKeyOn (BOOL setKey)=0
 Sets the animation preference controlling whether or not a default key is set when animating with Auto Key enabled on a controller with no keys.
 
virtual TimeValue GetAutoKeyDefaultKeyTime () const =0
 Returns the animation preference controlling at what time a default key will get set when auto key is on.
 
virtual void SetAutoKeyDefaultKeyTime (TimeValue t)=0
 Sets the animation preference controlling at which time a default key will get set when auto key is on.
 
- Public Member Functions inherited from Interface9
virtual bool DoMaxBrowseForFolder (HWND aOwner, const MSTR &aInstructions, MSTR &aDir)=0
 Opens a application-style Open dialog for generic file types.
 
virtual unsigned int DeleteNodes (INodeTab &aNodes, bool aKeepChildTM=true, bool aRedraw=true, bool overrideDrivenTM=false)=0
 Deletes the specified nodes from the scene.
 
- Public Member Functions inherited from Interface8
virtual void ColorById (DWORD id, Color &c)=0
 This method returns the color corresponding to the id in input.
 
virtual void RegisterExitMAXCallback (ExitMAXCallback2 *cb)=0
 Register a callback object to be called during max shutdown.
 
virtual void UnRegisterExitMAXCallback (ExitMAXCallback2 *cb)=0
 Unregister a callback object to be called during max shutdown.
 
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.
 
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.
 
virtual void RegisterModelessRenderWindow (HWND hWnd)=0
 Makes a window modeless during a render.
 
virtual void UnRegisterModelessRenderWindow (HWND hWnd)=0
 Un-registers a window registered with RegisterModelessRenderWindow().
 
virtual bool IsRegisteredModelessRenderWindow (HWND hWnd)=0
 Returns true if a window is currently registered with RegisterModelessRenderWindow().
 
virtual bool IsSavingToFile ()=0
 Returns whether a file save operation is currently in progress.
 
virtual bool LoadFromFile (const MCHAR *szFilename, unsigned long lFlags)=0
 Loads the specified scene file.
 
virtual bool RevealInExplorer (const MSTR &path)=0
 Opens a Windows Explorer window pointing to the passed in path.
 
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.
 
virtual void GetRendFrameList (IntTab &frameNums)=0
 Enumerates the frames for rendering, as specified in the Render Dialog.
 
virtual RendProgressCallbackGetRendProgressCallback ()=0
 Returns the custom progress callback, if any, used for rendering through the UI.
 
virtual void SetRendProgressCallback (RendProgressCallback *prog)=0
 Sets a custom progress callback, used for rendering through the UI.
 
virtual INodeGetRendCamNode ()=0
 Returns the custom camera node, if any, used for rendering through the UI.
 
virtual void SetRendCamNode (INode *camNode)=0
 Sets a custom camera node, used for rendering through the UI.
 
virtual BOOL GetRendUseImgSeq ()=0
 Returns the "Put Image File List(s) in Output Path(s)" setting in the render dialog.
 
virtual void SetRendUseImgSeq (BOOL onOff)=0
 Sets the "Put Image File List(s) in Output Path(s)" setting in the render dialog.
 
virtual int GetRendImgSeqType ()=0
 Returns the file format used when the renderer creates image sequence files.
 
virtual void SetRendImgSeqType (int type)=0
 Sets the file format used when the renderer creates image sequence files.
 
virtual void CreateRendImgSeq (CreateRendImgSeqCallback *cb=NULL)=0
 Saves image sequence files (in .imsq or .ifl format) based on the current output settings.
 
virtual const MaxSDK::AssetManagement::AssetUserGetPreRendScriptAsset ()=0
 Returns the AssetUser of the Pre-Render Script as indicated in the render dialog.
 
virtual void SetPreRendScriptAsset (const MaxSDK::AssetManagement::AssetUser &script)=0
 Sets the AssetUser of the Pre-Render Script as shown in the render dialog.
 
virtual BOOL GetUsePreRendScript ()=0
 Returns the Enable setting for the Pre-Render Script in the render dialog.
 
virtual void SetUsePreRendScript (BOOL onOff)=0
 Sets the Enable setting for the Pre-Render Script in the render dialog.
 
virtual BOOL GetLocalPreRendScript ()=0
 Returns the Execute Locally setting for the Pre-Render Script in the render dialog.
 
virtual void SetLocalPreRendScript (BOOL onOff)=0
 Sets the Execute Locally setting for the Pre-Render Script in the render dialog.
 
virtual const MaxSDK::AssetManagement::AssetUserGetPostRendScriptAsset ()=0
 Returns the AssetUser of the Post-Render Script as indicated in the render dialog.
 
virtual void SetPostRendScriptAsset (const MaxSDK::AssetManagement::AssetUser &script)=0
 Sets the filename of the Post-Render Script as shown in the render dialog.
 
virtual BOOL GetUsePostRendScript ()=0
 Returns the Enable setting for the Post-Render Script in the render dialog.
 
virtual void SetUsePostRendScript (BOOL onOff)=0
 Sets the Enable setting for the Post-Render Script in the render dialog.
 
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.
 
virtual void SetControllerOverrideRangeDefault (BOOL override)=0
 Sets whether or not newly created controllers will respect animation range.
 
virtual void GetDefaultTangentType (int &dfltInTangentType, int &dfltOutTangentType)=0
 Get the default tangent type for both the "In" and the "Out" tangent.
 
virtual void SetDefaultTangentType (int dfltInTangentType, int dfltOutTangentType, BOOL writeInCfgFile=TRUE)=0
 Set the default tangent type for both the "In" and the "Out" tangent.
 
virtual BOOL GetSpringQuickEditMode () const =0
 Returns whether quick manipulation mode for spring controllers is on.
 
virtual void SetSpringQuickEditMode (BOOL in_quickEdit)=0
 Sets quick manipulation mode for spring controllers.
 
virtual void SetSpringRollingStart (int in_start)=0
 Sets the rolling start value of the quick manipulation mode for spring controllers.
 
virtual int GetSpringRollingStart () const =0
 Returns the rolling start value of the quick manipulation mode for spring controllers.
 
- Public Member Functions inherited from Interface7
virtual void GetSelNodeTab (INodeTab &selectedNodes) const =0
 Retrieves the currently selected nodes into the supplied parameter.
 
virtual PivotMode GetPivotMode () const =0
 Returns the current pivot mode the system is in.
 
virtual void SetPivotMode (PivotMode pivMode)=0
 Set the pivot mode of the system.
 
virtual bool GetAffectChildren () const =0
 Returns true if the transforms applied to a node will affect its children, otherwise returns false.
 
virtual void SetAffectChildren (bool bAffectChildren)=0
 Sets whether the transforms applied to a node will affect its children.
 
virtual void GetCurRefCoordSysName (MSTR &name) const =0
 Given a reference coordinate system id, returns the name of it.
 
virtual void AddRefCoordNode (INode *node)=0
 Allows for setting the specified node's axis, as the current reference coordinate system.
 
virtual INodeGetRefCoordNode ()=0
 
virtual bool ShouldContinueRenderOnError () const =0
 Only relevant for network rendering.
 
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)=0
 
virtual void IncrRenderActive ()=0
 Methods used to sync use with Material Editor sample rendering.
 
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)
 
virtual void SetListenerMiniHWnd (HWND wnd)=0
 
virtual HWND GetListenerMiniHWnd ()=0
 
virtual int MAXScriptHelp (const MCHAR *keyword=NULL)=0
 Starts the MAXScript help.
 
virtual MAXScriptPrefsGetMAXScriptPrefs ()=0
 Retrieves maxscript preferences.
 
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.
 
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.
 
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.
 
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.
 
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.
 
virtual void ReBuildSuperList ()=0
 Rebuilds the list of groups and categories of the Create Panel.
 
virtual BOOL IsEditing ()=0
 Returns FALSE if the editing is stopped. While stopped, it shouldn't be resumed.
 
virtual void ChangeHistory (int upDown)=0
 Allows for changing the modifier panel's.
 
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.
 
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.
 
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.
 
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.
 
virtual BOOL AppendToCurFilePath (const MCHAR *toAppend)=0
 Appends a string to the current file name and file path.
 
virtual MSTR GetMAXIniFile ()=0
 Returns empty MSTR if locType == LOC_REGISTRY.
 
virtual BOOL OpenSchematicViewWindow (const MCHAR *sv_name)=0
 — Schematic View -----------------------------------------------— ///
 
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'.
 
virtual BOOL GetSceneDisplayFlag (DWORD flag)=0
 
virtual ISceneGetScene ()=0
 Access to the scene interface.
 
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.
 
virtual void OpenMtlDlg ()=0
 Opens the Material Editor. No effect if already open.
 
virtual void CloseMtlDlg ()=0
 Closes the Material Editor. No effect is already closed.
 
virtual HWND GetViewPanelHWnd ()=0
 Returns the window handle for the viewport frame.
 
virtual int getActiveViewportIndex ()=0
 Viewport access by index.
 
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.
 
virtual const MCHARgetViewportLabel (int index)=0
 
virtual void SetRegionRect (int index, Rect r)=0
 Viewport blow-up and sub-region access.
 
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.
 
virtual int GetActiveViewportRenderLevel ()=0
 Returns the current viewport rendering level.
 
virtual void SetActiveViewportShowEdgeFaces (BOOL show)=0
 Access to viewport show edge faces states.
 
virtual BOOL GetActiveViewportShowEdgeFaces ()=0
 
virtual void SetActiveViewportTransparencyLevel (int level)=0
 There are 3 levels of transparency: 0, 1 and 2.
 
virtual int GetActiveViewportTransparencyLevel ()=0
 
virtual BOOL GetDualPlanes ()=0
 Access dual plane settings.
 
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.
 
virtual void SetScaleMode (int mode)=0
 Scale modes: CID_OBJSCALE, CID_OBJUSCALE, CID_OBJSQUASH (see cmdmode.h)
 
virtual void SetCenterMode (int mode)=0
 Center modes - see 'Origin modes' in maxapi.h.
 
virtual BOOL InManipMode ()=0
 Manipulator related.
 
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 --------------------------------------------------------— ///
 
virtual void XRefSceneSetIgnoreFlag (int index, DWORD f, BOOL onOff)=0
 'f' parameter can take values defined as 'Xref flag bits' in inode.h
 
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'.
 
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.
 
virtual void SetNodeAttribute (INode *node, int whatAttrib, int onOff)=0
 Set the given attribute on the passed node.
 
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.
 
virtual BOOL IsValidModForSelection (ClassEntry *ce)=0
 Tests of modifier applicability.
 
virtual BOOL IsValidModifier (INode &node, Modifier &mod)=0
 Returns FALSE if the specified modifier cannot be applied to the object.
 
virtual ResCode AddModifier (INode &node, Modifier &mod, int beforeIdx=0)=0
 Adds the specified modifier to a node.
 
virtual ResCode DeleteModifier (INode &node, Modifier &mod)=0
 Deletes the first occurrence of the specified modifier from the node's modifier stack.
 
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.
 
virtual IDerivedObjectFindModifier (INode &node, Modifier &mod, int &modStackIdx, int &derivedObjIdx)=0
 Finds the first occurrence of the specified modifier on a node.
 
virtual IDerivedObjectFindModifier (INode &node, int modIdx, int &idx, Modifier *&mod)=0
 Finds the modifier at the specified modstack index on a node.
 
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.
 
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.
 
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.
 
virtual const MCHARGetAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" permanent user path associated with a particular asset type.
 
virtual BOOL AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType)=0
 Adds a permanent user path associated to a particular asset type.
 
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.
 
virtual int GetSessionAssetDirCount (MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the number of session user paths associated with a particular type of asset.
 
virtual const MCHARGetSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" session user path associated with a particular asset type.
 
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.
 
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.
 
virtual const MCHARGetCurAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType)=0
 Returns the "ith" session\permanent user path associated with a particular asset type.
 
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.
 
virtual Class_ID GetDefaultRendererClassID (RenderSettingID renderSettingID)=0
 Gets the class ID of the default renderer for the given render setting.
 
virtual void SetDefaultRendererClassID (RenderSettingID renderSettingID, Class_ID classID)=0
 Gets the class ID of the default renderer for the given render setting.
 
virtual RendererGetMEditRenderer (bool createRendererIfItDoesntExist=true)=0
 Gets the renderer assigned to the MEdit slot.

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

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

.
 
virtual bool GetMEditRendererLocked ()=0
 Gets the status of the MEdit renderer lock.
 
virtual void SetMEditRendererLocked (bool locked)=0
 Sets the status of the MEdit renderer lock.
 
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".
 
virtual void SetRendSimplifyAreaLights (BOOL onOff)=0
 Sets the toggle in the render dialog, "Area Lights/Shadows as Points".
 
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.
 
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.
 
virtual void EnableSceneRedraw ()=0
 Turns on scene redraws.
 
virtual int IsSceneRedrawDisabled ()=0
 Tells whether the scene redraw is disabled.
 
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.
 
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
 
 __declspec (deprecated) virtual float GetAutoBackupTime() final
 
 __declspec (deprecated) virtual void SetAutoBackupTime(float minutes) final
 
 __declspec (deprecated) virtual BOOL AutoBackupEnabled() final
 
 __declspec (deprecated) virtual void EnableAutoBackup(BOOL onOff) final
 
virtual bool ProgressStart (const MCHAR *taskName, bool dispBar, LPTHREAD_START_ROUTINE fn, LPVOID arg)=0
 Displays a progress bar in the status panel with a cancel button next to the progress bar.
 
virtual bool ProgressStart (const MCHAR *taskName, bool allowCancel=true)=0
 Similar to other ProgressStart() API.
 
virtual void ProgressUpdate (int pct, bool showPct=true, const MCHAR *stepName=nullptr)=0
 This method updates the progress bar.
 
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
 @
 
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.
 
virtual BOOL GetQuietMode (BOOL checkServerMode=TRUE)=0
 The return value from this method should be called before displaying any dialogs.
 
virtual void SetAutoGridEnable (bool sw=true)=0
 Enables/disables system AutoGrid feature.
 
virtual bool GetAutoGridEnable ()=0
 Query system AutoGrid feature enable state.
 
virtual bool GetAutoGridState ()=0
 Query system AutoGrid feature state.
 
virtual void SetAutoGridState (bool sw=true)=0
 Sets system AutoGrid state.
 
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.
 
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.
 
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 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.
 
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.
 
virtual INodeGetRootNode ()=0
 
virtual void SetNodeTMRelConstPlane (INode *node, const 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, MaxSDK::Array< MaxRefEntryData > *dataList=nullptr)=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.
 
virtual void AbortRender ()=0
 Calling this method during a render will set the flag that indicates that the render is to be aborted.
 
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 GetRendPixelAspect ()=0
 
 __declspec (deprecated) virtual float GetRendApect() MAX_SEALED
 
virtual void SetRendPixelAspect (float a)=0
 
 __declspec (deprecated) virtual void SetRendAspect(float a) MAX_SEALED
 
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, Interval &&valid=FOREVER)
 
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, Interval &&valid=FOREVER)
 
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, Interval &&valid=FOREVER)
 
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, Interval &&valid=FOREVER)
 
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
 Used to deactivate the Transform Gizmo when it is released.
 
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.
 
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
 
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 DisplayFilterIsNodeHidden (int index, int sid, Class_ID cid, INode *node)=0
 
virtual const MCHARGetDisplayFilterName (int index)=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 ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
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.
 
CoreExport void AppendProperty (int id,...)
 Add a new property to this interface descriptor.
 
CoreExport void AppendEnum (int id,...)
 Add a new enum to this interface descriptor.
 
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 BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDesc ()=0
 
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)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor.
 
UtilExport BaseInterfaceGetInterface (Interface_ID id) override
 
virtual UtilExport Interface_ID GetID ()
 
virtual LifetimeType LifetimeControl ()
 
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.
 
virtual UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Static Public Attributes

static CoreExport const Interface_ID kInterface14InterfaceID
 The ID for this interface.
 
- Static Public Attributes inherited from Interface13
static CoreExport const Interface_ID kInterface13InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface12 pointer.
 
- Static Public Attributes inherited from Interface12
static CoreExport const Interface_ID kInterface12InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface12 pointer.
 
- Static Public Attributes inherited from Interface11
static CoreExport const Interface_ID kInterface11InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface11 pointer.
 
- Static Public Attributes inherited from Interface10
static CoreExport const Interface_ID kInterface10InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface10 pointer.
 
- Static Public Attributes inherited from Interface9
static CoreExport const Interface_ID kInterface9InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface9 pointer.
 
- Static Public Attributes inherited from Interface8
static CoreExport const Interface_ID kInterface8InterfaceID
 The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface8 pointer.
 
- 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.
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 

Additional Inherited Members

- Public Types inherited from Interface13
enum  MtlDlgMode { mtlDlgMode_Basic = 0 , mtlDlgMode_Advanced = 1 }
 
- Public Types inherited from Interface10
enum  ENodeProperties { kNodeProp_Material = 1<<0 , kNodeProp_Layer = 1<<1 , kNodeProp_All = (kNodeProp_Material | kNodeProp_Layer) }
 List of node properties. More...
 
- Public Types inherited from Interface8
enum  LoadFromFileFlags {
  kRefreshViewports = 0x01 , kSuppressPrompts = 0x02 , kUseFileUnits = 0x04 , kSetCurrentFilePath = 0x08 ,
  kSkipXRefs = 0x10
}
 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 }
 
- 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 
- 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

Extends Interface13 Client code should retrieve this interface using GetCOREInterface14.

Member Function Documentation

◆ GetViewExpByID()

virtual ViewExp & GetViewExpByID ( int  viewID)
pure virtual

This method gets a ViewExp interface given a view ID.

If the given view ID doesn't match any of the viewport, the ViewExp interface of the current active viewport will be returned.

Parameters
[in]viewIDthe unique ID of a viewport. The view ID can be retrieved by calling ViewExp::GetViewID(). Each view is uniquely identified by an ID which is persisted with the 3ds Max file. Client code that previously (3ds Max 2012 and earlier) stored a ViewExp*, can now store the view ID. Note that since views (viewports) can be destroyed as of 3ds Max 2013, plug-ins should not store ViewExp pointers, as they will become invalid when the underlying view (viewport) is destroyed. Instead, plug-ins should store the view's unique ID.
ViewExp* pViewExp = GetCOREInterface14()->GetViewExpByID(mStoredViewID);
// Check the ID against your stored ID to make sure you get the correct ViewExp interface
// since you may get the ViewExp interface of current active viewport if the corresponding
// viewport got deleted.
if (pViewExp && pViewExp->GetID() == mStoredViewID)
{
// your codes below
}
virtual ViewExp & GetViewExpByID(int viewID)=0
This method gets a ViewExp interface given a view ID.
Definition: maxapi.h:795
CoreExport Interface14 * GetCOREInterface14()

◆ GetRendViewID()

virtual int GetRendViewID ( )
pure virtual

Get the viewport ID used, when the rendering is locked on a viewport, for the current renderer.

Returns
the ID of the viewport to be rendered when the rendering is locked on a viewport.
See also
Interface14::GetViewExpByID

◆ SetRendViewID()

virtual void SetRendViewID ( int  id)
pure virtual

Sets the viewport ID used, when the rendering is locked on a viewport, for the current renderer.

If an invalid ID is set, attempts to launch a render will fail and an error dialog will be displayed.

Parameters
[in]idID of the viewport to be rendered when the rendering is locked on a viewport.
See also
Interface14::GetViewExpByID

◆ GetPreviewParams()

virtual PreviewParams GetPreviewParams ( ) const
pure virtual

This method is used to access the data used when creating a preview image from the currently active viewport using the real-time (viewport) renderer.

Returns
A copy of the preview parameters

◆ SetPlayPreviewWhenDone()

virtual void SetPlayPreviewWhenDone ( BOOL  play)
pure virtual

Set the Play Preview When Done option accessible in the Preferences dialog and the Make Preview dialog.

Parameters
[in]playTRUE to enable the play when done option, FALSE to disable

◆ GetPlayPreviewWhenDone()

virtual BOOL GetPlayPreviewWhenDone ( )
pure virtual

Retrieve Play Preview When Done option accessible in the Preferences dialog and the Make Preview dialog.

◆ OverrideLanguageSpecifiedInSceneFile()

virtual bool OverrideLanguageSpecifiedInSceneFile ( ) const
pure virtual

if true, don't use language specified in scene file when doing string conversions during scene file load, instead use value from LanguageToUseForFileIO() In scene files created by 3ds Max 2012, the 3ds Max language ID and active code page are stored in the file.

Normally, string conversions during scene file load would be based on the saved language ID. If this method returns true, the user has specified to do string conversions based on the return value of LanguageToUseForFileIO() instead.

Returns
If true, use the language id from LanguageToUseForFileIO()for string conversions while reading scene files

◆ SetOverrideLanguageSpecifiedInSceneFile()

virtual void SetOverrideLanguageSpecifiedInSceneFile ( bool  overrideFileLangID)
pure virtual

sets return value from OverrideLanguageSpecifiedInSceneFile()

Parameters
[in]overrideFileLangIDThe value to return from OverrideLanguageSpecifiedInSceneFile()

◆ UseCodePageSpecifiedInSceneFile()

virtual bool UseCodePageSpecifiedInSceneFile ( ) const
pure virtual

if true, use the CodePage specified in scene file when doing string conversions during scene file load instead of using the LANGID in the file or specified by LanguageToUseForFileIO() In scene files created by 3ds Max 2012, the 3ds Max language ID and active code page are stored in the file.

Normally, string conversions during scene file load would be based on the saved language ID. If this method returns true, the user has specified to do string conversions based on the saved active code page instead.

Returns
If true, use the code page specified in the scene file for string conversions while reading

◆ SetUseCodePageSpecifiedInSceneFile()

virtual void SetUseCodePageSpecifiedInSceneFile ( bool  useFileCodePage)
pure virtual

sets return value from UseCodePageSpecifiedInSceneFile()

Parameters
[in]useFileCodePageThe value to return from UseCodePageSpecifiedInSceneFile()

◆ LanguageToUseForFileIO()

virtual LANGID LanguageToUseForFileIO ( ) const
pure virtual

The LANGID to use for scene, text, and other binary file io when doing string conversions.

This method primarily intended to support loading legacy files from mbcs builds of max (pre-3ds Max 2013) and for writing non-scene text or binary files where conversion from wide characters to mbcs characters is required. The LANGID is typically passed to CodePageForLanguage() to get the code page to use for string conversions.

Returns
The LANGID to use for string conversions when doing file io

◆ SetLanguageToUseForFileIO()

virtual bool SetLanguageToUseForFileIO ( LANGID  id)
pure virtual

sets return value from LanguageToUseForFileIO().

Returns false if LANGID is not valid. This method primarily intended to support loading legacy files from mbcs builds of max (pre-3ds Max 2013) and for writing non-scene text or binary files where conversion from wide characters to mbcs characters is required. The valid LANGID values are: 0 (current) 1033 (English) 1031 (German) 1036 (French) 1041 (Japanese) 1042 (Korean) 2052 (Chinese)

Parameters
[in]idThe language id to return from LanguageToUseForFileIO()
Returns
True if the LANGID was valid

◆ CodePageForLanguage()

virtual UINT CodePageForLanguage ( LANGID  id) const
pure virtual

returns the code page corresponding to the specified LANGID.

If the LANGID is 0, the LANGID returned from MaxSDK::Util::GetLanguageID() is used. Returns the English code page if LANGID is not valid. This method primarily intended to support loading legacy files from mbcs builds of max (pre-3ds Max 2013), Save to Previous to those versions of max, and for writing non-scene text or binary files where conversion from wide characters to mbcs characters is required. The valid LANGID values are: 0 (current) 1033 (English) 1031 (German) 1036 (French) 1041 (Japanese) 1042 (Korean) 2052 (Chinese)

Parameters
[in]idThe language id to get the code page for.
Returns
The code page

◆ LegacyFilesCanBeStoredUsingUTF8()

virtual bool LegacyFilesCanBeStoredUsingUTF8 ( ) const
pure virtual

if true, when saving non-scene legacy files that are readable by 3ds Max, allow use of UTF8 encoding of strings when it is necessary to convert from wide (Unicode) strings to narrow (ascii/mbcs) strings.

If this method returns false, do string conversions based on the return value of LanguageToUseForFileIO() and CodePageForLanguage() instead.

UINT codePage;
{
codePage = CP_UTF8;
}
else
{
LANGID langID = iface->LanguageToUseForFileIO();
codePage = iface->CodePageForLanguage(langID);
}
Extends Interface13 Client code should retrieve this interface using GetCOREInterface14.
Definition: maxapi.h:9880
virtual LANGID LanguageToUseForFileIO() const =0
The LANGID to use for scene, text, and other binary file io when doing string conversions.
virtual bool LegacyFilesCanBeStoredUsingUTF8() const =0
if true, when saving non-scene legacy files that are readable by 3ds Max, allow use of UTF8 encoding ...
virtual UINT CodePageForLanguage(LANGID id) const =0
returns the code page corresponding to the specified LANGID.
Returns
If true, use the UTF8 codepage when writing non-scene legacy files

◆ SetLegacyFilesCanBeStoredUsingUTF8()

virtual void SetLegacyFilesCanBeStoredUsingUTF8 ( bool  allowUTF8)
pure virtual

sets return value from LegacyFilesCanBeStoredUsingUTF8()

Parameters
[in]allowUTF8The value to return from LegacyFilesCanBeStoredUsingUTF8()

◆ ConvertAppDataChunksContainingStringToUTF8()

virtual void ConvertAppDataChunksContainingStringToUTF8 ( Animatable anim,
const Class_ID classID,
SClass_ID  superClassID,
Tab< DWORD > &  subIDs,
UINT  codePage 
)
pure virtual

Helper method for converting AppDataChunks containing mbcs string data to utf8 encoded string data This method is used primarily in AppDataLoadCallbacks registered using Animatable::RegisterAppDataLoadCallback to convert AppDataChunks containing mbcs string data to utf8 encoded string data.

The utf8 encoded string data is prepended with the utf8 BOM ("\xef\xbb\xbf") to signify that it is utf8 encoded.

void PolygonCounter::UpdateAppDataLoadProc(Animatable *anim, const Class_ID& cid, SClass_ID sid, ILoad* iload, Tab<DWORD> &subIDs)
{
DbgAssert( anim && iload );
if ( anim == NULL || iload == NULL )
return;
DbgAssert (cid == POLYGON_COUNTER_CLASS_ID);
iface->ConvertAppDataChunksContainingStringToUTF8(anim, cid, sid, subIDs, iload->CodePage());
}
#define NULL
Definition: autoptr.h:18
Definition: Animatable.h:118
Definition: maxtypes.h:67
Definition: ioapi.h:650
virtual UINT CodePage() const
Definition: ioapi.h:1185
virtual void ConvertAppDataChunksContainingStringToUTF8(Animatable *anim, const Class_ID &classID, SClass_ID superClassID, Tab< DWORD > &subIDs, UINT codePage)=0
Helper method for converting AppDataChunks containing mbcs string data to utf8 encoded string data Th...
Generic container class.
Definition: tab.h:180
#define DbgAssert(expr)
Definition: assert1.h:83
#define UTILITY_CLASS_ID
Utility object super-class ID.
Definition: plugapi.h:473
ulong SClass_ID
Definition: maxtypes.h:116

When retrieving the string from the AppDataChunk, check to see if the first 3 chars are the utf8 BOM and convert accordingly.

MSTR data;
const char* raw_string = (const char*)ad->data;
if (strncmp(raw_string, "\xef\xbb\xbf", 3) == 0)
data = MSTR::FromUTF8(raw_string+3);
else
{
DbgAssert(!_T("Should always convert appdata in UpdateAppDataLoadProc"));
LANGID langID = iface->LanguageToUseForFileIO();
UINT codePage = iface->CodePageForLanguage(langID);
data = MSTR::FromCP(codePage, raw_string);
}
Definition: strclass.h:744
static WStr FromUTF8(const char *string, size_t length=(size_t) -1)
static WStr FromCP(UINT cp, const char *string, size_t length=(size_t) -1)
Parameters
[in]animThe Animatable to acquire the AppDataChunk from.
[in]classIDThe Class_ID of the owner of the chunk.
[in]superClassIDThe SuperClassID of the owner of the chunk.
[in]subIDsThe list of sub-chunk ids
[in]codePageThe code page of the mbcs string data

◆ DefaultTextLoadCodePage()

virtual UINT DefaultTextLoadCodePage ( )
pure virtual

returns the default code page for Loading aux file This method would be used outside of scene file io, primarily when doing aux file io.

If doing scene file load, should be using the result from ILoad::CodePage().

◆ DefaultTextSaveCodePage()

virtual UINT DefaultTextSaveCodePage ( bool  allow_utf8 = false)
pure virtual

returns the default code page for Saving aux file This method would be used outside of scene file io, primarily when doing aux file io.

If doing scene file save, should be using the result from ISave::CodePage().

Parameters
[in]allow_utf8option to save the file in UTF8 encoding

◆ RenderTexmapRange()

virtual void RenderTexmapRange ( Texmap tex,
Bitmap bm,
FBox2 range,
TimeValue  t,
float  scale3d = 1.0f,
BOOL  filter = FALSE,
BOOL  display = FALSE,
bool  bake = false,
const MCHAR name = NULL,
float  z = 0.0f,
BOOL  mono = false,
bool  disableBitmapProxies = false 
)
pure virtual
Remarks
This method renders a texmap (or an entire texmap tree) to the specified bitmap.
Parameters:
Texmap *tex

The Texmap to render to a bitmap.

Bitmap *bm

A pointer to a bitmap to render to. This bitmap must be created at the resolution you wish to render to.

FBox2* range

A pointer to UV range to crop the texmap. When specified, the scale3d parameter won't have any effect. If NULL, will retain the UV parameters as specified in the scene at time t.

TimeValue t

The time at which to render the texmap to the bitmap, defaults to the current frame. float scale3d=1.0f

This is a scale factor applied to 3D Texmaps. This is the scale of the surface in 3d space that is mapped to UV. This controls how much of the texture appears in the bitmap representation.

BOOL filter=FALSE

If TRUE the bitmap is filtered. It is quite a bit slower to rescale bitmaps with filtering on.

BOOL display=FALSE

If TRUE the resulting bitmap is displayed using the virtual frame buffer; otherwise it is not. bool bake

Used to bake the texture to bitmap without including the effects of scale/rotation etc. If true, the function will render the unit square of 2D texture maps, by effectively disabling the UV Generator during texture rendering, so no settings like scale, rotation, tiling etc. have any effect on the result. This baked 2D representation can then later be scaled, rotated and tiled, for use in a renderer that may not support the particular texture, sent to a game engine, or similar.

const MCHAR *name=NULL

Display Name.

float z=0.0f

The w component of UVW.

BOOL mono=false

Use mono channel. Mono channels are those that don't have a color, but rather a single value.

disableBitmapProxies=false

Used to disable bitmap proxies. bitmap proxies are used to reduce the amount of memory required by the bitmapped textures.

Member Data Documentation

◆ kInterface14InterfaceID

CoreExport const Interface_ID kInterface14InterfaceID
static

The ID for this interface.

Pass this ID to Interface::GetInterface to get an Interface14 pointer.