3ds Max C++ API Reference
Loading...
Searching...
No Matches
System Notification Codes

The following pre-defined system notification codes may be passed to the global functions RegisterNotification(), UnRegisterNotification(), BroadcastNotification(). More...

Topics

 The name change notifications.

Classes

struct  notify_param_helper< code >
 Helper class to assign a param type to a notification code. See GetNotifyParam. More...
struct  notify_param_helper< NOTIFY_SYSTEM_PRE_NEW >
struct  notify_param_helper< NOTIFY_SYSTEM_POST_NEW >
struct  notify_param_helper< NOTIFY_FILE_PRE_OPEN >
struct  notify_param_helper< NOTIFY_FILE_POST_OPEN >
struct  notify_param_helper< NOTIFY_FILE_PRE_MERGE >
struct  notify_param_helper< NOTIFY_FILE_PRE_SAVE >
struct  notify_param_helper< NOTIFY_FILE_POST_SAVE >
struct  notify_param_helper< NOTIFY_FILE_OPEN_FAILED >
struct  notify_param_helper< NOTIFY_FILE_PRE_SAVE_OLD >
struct  notify_param_helper< NOTIFY_BITMAP_CHANGED >
struct  notify_param_helper< NOTIFY_PRE_RENDER >
struct  notify_param_helper< NOTIFY_PRE_RENDERFRAME >
struct  notify_param_helper< NOTIFY_POST_RENDERFRAME >
struct  notify_param_helper< NOTIFY_POST_IMPORT >
struct  notify_param_helper< NOTIFY_IMPORT_FAILED >
struct  notify_param_helper< NOTIFY_POST_EXPORT >
struct  notify_param_helper< NOTIFY_EXPORT_FAILED >
struct  notify_param_helper< NOTIFY_NODE_RENAMED >
struct  notify_param_helper< NOTIFY_MATLIB_POST_OPEN >
struct  notify_param_helper< NOTIFY_RENDER_PREEVAL >
struct  notify_param_helper< NOTIFY_NODE_CREATED >
struct  notify_param_helper< NOTIFY_NODE_LINKED >
struct  notify_param_helper< NOTIFY_NODE_UNLINKED >
struct  notify_param_helper< NOTIFY_NODE_HIDE >
struct  notify_param_helper< NOTIFY_NODE_UNHIDE >
struct  notify_param_helper< NOTIFY_NODE_FREEZE >
struct  notify_param_helper< NOTIFY_NODE_UNFREEZE >
struct  notify_param_helper< NOTIFY_NODE_PRE_MTL >
struct  notify_param_helper< NOTIFY_NODE_POST_MTL >
struct  notify_param_helper< NOTIFY_SCENE_ADDED_NODE >
struct  notify_param_helper< NOTIFY_SCENE_PRE_DELETED_NODE >
struct  notify_param_helper< NOTIFY_SEL_NODES_PRE_DELETE >
struct  notify_param_helper< NOTIFY_NODES_PRE_DELETE >
struct  notify_param_helper< NOTIFY_WM_ENABLE >
struct  notify_param_helper< NOTIFY_PLUGIN_LOADED >
struct  notify_param_helper< NOTIFY_RADIOSITYPROCESS_STARTED >
struct  notify_param_helper< NOTIFY_RADIOSITYPROCESS_STOPPED >
struct  notify_param_helper< NOTIFY_RADIOSITYPROCESS_RESET >
struct  notify_param_helper< NOTIFY_RADIOSITYPROCESS_DONE >
struct  notify_param_helper< NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP >
struct  notify_param_helper< NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME >
struct  notify_param_helper< NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE >
struct  notify_param_helper< NOTIFY_SCENE_UNDO >
struct  notify_param_helper< NOTIFY_SCENE_REDO >
struct  notify_param_helper< NOTIFY_SCENE_XREF_POST_MERGE >
struct  notify_param_helper< NOTIFY_PRE_MIRROR_NODES >
struct  notify_param_helper< NOTIFY_POST_MIRROR_NODES >
struct  notify_param_helper< NOTIFY_NODE_CLONED >
struct  notify_param_helper< NOTIFY_MTL_REFADDED >
struct  notify_param_helper< NOTIFY_MTL_REFDELETED >
struct  notify_param_helper< NOTIFY_PRE_MODIFIER_ADDED >
struct  notify_param_helper< NOTIFY_POST_MODIFIER_ADDED >
struct  notify_param_helper< NOTIFY_PRE_MODIFIER_DELETED >
struct  notify_param_helper< NOTIFY_POST_MODIFIER_DELETED >
struct  notify_param_helper< NOTIFY_PRE_NODES_CLONED >
struct  notify_param_helper< NOTIFY_POST_NODES_CLONED >
struct  notify_param_helper< NOTIFY_SYSTEM_PRE_DIR_CHANGE >
struct  notify_param_helper< NOTIFY_SYSTEM_POST_DIR_CHANGE >
struct  notify_param_helper< NOTIFY_SV_SELECTIONSET_CHANGED >
struct  notify_param_helper< NOTIFY_SV_DOUBLECLICK_GRAPHNODE >
struct  notify_param_helper< NOTIFY_PRE_RENDERER_CHANGE >
struct  notify_param_helper< NOTIFY_POST_RENDERER_CHANGE >
struct  notify_param_helper< NOTIFY_SV_PRE_LAYOUT_CHANGE >
struct  notify_param_helper< NOTIFY_SV_POST_LAYOUT_CHANGE >
struct  notify_param_helper< NOTIFY_LAYER_CREATED >
struct  notify_param_helper< NOTIFY_LAYER_DELETED >
struct  notify_param_helper< NOTIFY_NODE_LAYER_CHANGED >
struct  notify_param_helper< NOTIFY_TABBED_DIALOG_CREATED >
struct  notify_param_helper< NOTIFY_TABBED_DIALOG_DELETED >
struct  notify_param_helper< NOTIFY_NODE_NAME_SET >
struct  notify_param_helper< NOTIFY_HW_TEXTURE_CHANGED >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC >
struct  notify_param_helper< NOTIFY_SCENESTATE_PRE_SAVE >
struct  notify_param_helper< NOTIFY_SCENESTATE_POST_SAVE >
struct  notify_param_helper< NOTIFY_SCENESTATE_PRE_RESTORE >
struct  notify_param_helper< NOTIFY_SCENESTATE_POST_RESTORE >
struct  notify_param_helper< NOTIFY_SCENESTATE_DELETE >
struct  notify_param_helper< NOTIFY_SCENESTATE_RENAME >
struct  notify_param_helper< NOTIFY_SCENE_PRE_UNDO >
struct  notify_param_helper< NOTIFY_SCENE_PRE_REDO >
struct  notify_param_helper< NOTIFY_CLASSDESC_REPLACED >
struct  notify_param_helper< NOTIFY_FILE_PRE_OPEN_PROCESS >
struct  notify_param_helper< NOTIFY_FILE_POST_OPEN_PROCESS >
struct  notify_param_helper< NOTIFY_FILE_PRE_SAVE_PROCESS >
struct  notify_param_helper< NOTIFY_FILE_POST_SAVE_PROCESS >
struct  notify_param_helper< NOTIFY_CLASSDESC_LOADED >
struct  notify_param_helper< NOTIFY_TOOLBARS_PRE_LOAD >
struct  notify_param_helper< NOTIFY_TOOLBARS_POST_LOAD >
struct  notify_param_helper< NOTIFY_FILE_CHECK_STATUS >
struct  notify_param_helper< NOTIFY_NAMED_SEL_SET_CREATED >
struct  notify_param_helper< NOTIFY_NAMED_SEL_SET_DELETED >
struct  notify_param_helper< NOTIFY_NAMED_SEL_SET_RENAMED >
struct  notify_param_helper< NOTIFY_NAMED_SEL_SET_PRE_MODIFY >
struct  notify_param_helper< NOTIFY_NAMED_SEL_SET_POST_MODIFY >
struct  notify_param_helper< NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED >
struct  notify_param_helper< NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD >
struct  notify_param_helper< NOTIFY_ANIM_LAYERS_ENABLED >
struct  notify_param_helper< NOTIFY_ANIM_LAYERS_DISABLED >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_POST_START_OVERRIDE >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_POST_END_OVERRIDE >
struct  notify_param_helper< NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED >
 Sent before an INode's general property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_GENERAL_PROP_CHANGED >
 Sent After an INode's general property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_GI_PROP_CHANGED >
 Sent before an INode's global illumination property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_GI_PROP_CHANGED >
 Sent after an INode's global illumination property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED >
 Sent before an INode's mental ray property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED >
 Sent after an INode's mental ray illumination property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_BONE_PROP_CHANGED >
struct  notify_param_helper< NOTIFY_POST_NODE_BONE_PROP_CHANGED >
struct  notify_param_helper< NOTIFY_PRE_NODE_USER_PROP_CHANGED >
 Sent before an INode's user property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_USER_PROP_CHANGED >
 Sent after an INode's user property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_RENDER_PROP_CHANGED >
 Sent before an INode's render property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_RENDER_PROP_CHANGED >
 Sent after an INode's render property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED >
 Sent before an INode's display property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED >
 Sent after an INode's display property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_NODE_BASIC_PROP_CHANGED >
 Sent before an INode's basic property is changed. More...
struct  notify_param_helper< NOTIFY_POST_NODE_BASIC_PROP_CHANGED >
 Sent after an INode's basic property is changed. More...
struct  notify_param_helper< NOTIFY_PRE_IMAGE_VIEWER_DISPLAY >
struct  notify_param_helper< NOTIFY_POST_IMAGE_VIEWER_DISPLAY >
struct  notify_param_helper< NOTIFY_IMAGE_VIEWER_UPDATE >
struct  notify_param_helper< NOTIFY_CUSTOM_ATTRIBUTES_ADDED >
struct  notify_param_helper< NOTIFY_CUSTOM_ATTRIBUTES_REMOVED >
struct  notify_param_helper< NOTIFY_CLASSDESC_ADDED >
struct  notify_param_helper< NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN >
struct  notify_param_helper< NOTIFY_OBJECT_DEFINITION_CHANGE_END >
struct  notify_param_helper< NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN >
struct  notify_param_helper< NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE >
struct  notify_param_helper< NOTIFY_PRE_VIEWPORT_DELETE >
struct  notify_param_helper< NOTIFY_PRE_WORKSPACE_CHANGE >
struct  notify_param_helper< NOTIFY_POST_WORKSPACE_CHANGE >
struct  notify_param_helper< NOTIFY_TOOLBARS_PRE_SAVE >
struct  notify_param_helper< NOTIFY_TOOLBARS_POST_SAVE >
struct  notify_param_helper< NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE >
struct  notify_param_helper< NOTIFY_CUI_MENUS_POST_LOAD >
struct  notify_param_helper< NOTIFY_LAYER_PARENT_CHANGED >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_EXECUTION_STARTED >
struct  notify_param_helper< NOTIFY_ACTION_ITEM_EXECUTION_ENDED >
struct  notify_param_helper< NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED >
struct  notify_param_helper< NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED >
struct  notify_param_helper< NOTIFY_PRE_VIEWPORT_TOOLTIP >
struct  notify_param_helper< NOTIFY_FILE_POST_MERGE3 >
struct  notify_param_helper< NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED >
struct  notify_param_helper< NOTIFY_PRE_ACTIVESHADE_IN_VIEWPORT_TOGGLED >
struct  notify_param_helper< NOTIFY_POST_ACTIVESHADE_IN_VIEWPORT_TOGGLED >
struct  notify_param_helper< NOTIFY_COLOR_MANAGEMENT_POST_CHANGE >
struct  notify_param_helper< NOTIFY_COLOR_MANAGEMENT_POST_CHANGE2 >
struct  notify_param_helper< NOTIFY_CUI_REGISTER_QUAD_MENUS >
struct  notify_param_helper< NOTIFY_CUI_MENUS_PRE_LOAD >
struct  notify_param_helper< NOTIFY_CUI_QUAD_MENUS_PRE_LOAD >
struct  notify_param_helper< NOTIFY_CUI_QUAD_MENUS_POST_LOAD >
struct  notify_param_helper< NOTIFY_CUI_REGISTER_MENUS >

Macros

#define DEFINE_NOTIFY_CODE(notifyCodeName, codeVal, callParamType)
 Macro to define a notification code and associated type, and register it for GetNotifyParam.
#define NOTIFY_UNITS_CHANGE   0x00000001
 Sent if the user changes the unit setting.
#define NOTIFY_TIMEUNITS_CHANGE   0x00000002
 Sent if the user changes the time format setting.
#define NOTIFY_VIEWPORT_CHANGE   0x00000003
 Sent if the user changes the viewport layout.
#define NOTIFY_SPACEMODE_CHANGE   0x00000004
 Sent if the user changes the reference coordinate system.
#define NOTIFY_SYSTEM_PRE_RESET   0x00000005
 Sent before 3ds Max system is reset.
#define NOTIFY_SYSTEM_POST_RESET   0x00000006
 Sent after 3ds Max system is reset.
#define NOTIFY_FILE_POST_SAVE_OLD   0x00000011
 Sent after an old version file is saved.
#define NOTIFY_SELECTIONSET_CHANGED   0x00000012
 Sent after the selection set has changed.
#define NOTIFY_POST_RENDER   0x00000015
 Sent after rendering has finished.
#define NOTIFY_PRE_IMPORT   0x00000018
 Sent before a file is imported.
#define NOTIFY_PRE_EXPORT   0x0000001B
 Sent before a file is exported.
#define NOTIFY_PRE_PROGRESS   0x0000001F
 Sent before the progress bar is displayed.
#define NOTIFY_POST_PROGRESS   0x00000020
 Sent after the progress bar is finished.
#define NOTIFY_MODPANEL_SEL_CHANGED   0x00000021
 Sent when the modify panel focuses on a new object because of opening the Modify panel or changing selection.
#define NOTIFY_RENDPARAM_CHANGED   0x00000023
 Sent when the common renderer parameters have changed via the render dialog.
#define NOTIFY_FILELINK_BIND_FAILED   0x0000002A
 Sent if a File Link Bind fails.
#define NOTIFY_FILELINK_DETACH_FAILED   0x0000002B
 Sent if a File Link Detach fails.
#define NOTIFY_FILELINK_RELOAD_FAILED   0x0000002C
 Sent if a File Link Reload fails.
#define NOTIFY_FILELINK_ATTACH_FAILED   0x0000002D
 Sent if a File Link Attach fails.
#define NOTIFY_FILELINK_PRE_BIND   0x00000030
 Sent before a File Link Bind.
#define NOTIFY_FILELINK_POST_BIND   0x00000031
 Sent after a successful File Link Bind.
#define NOTIFY_FILELINK_PRE_DETACH   0x00000032
 Sent before a File Link Detach.
#define NOTIFY_FILELINK_POST_DETACH   0x00000033
 Sent after a successful File Link Detach.
#define NOTIFY_FILELINK_PRE_RELOAD   0x00000034
 Sent before a File Link Reload (partial, full, or dynamic)
#define NOTIFY_FILELINK_POST_RELOAD   0x00000035
 Sent after a successful File Link Reload (partial, full, or dynamic)
#define NOTIFY_FILELINK_PRE_ATTACH   0x00000036
 Sent before a File Link Attach.
#define NOTIFY_FILELINK_POST_ATTACH   0x00000037
 Sent after a successful File Link.
#define NOTIFY_SCENE_POST_DELETED_NODE   0x00000045
 Node just removed from scene.
#define NOTIFY_SEL_NODES_POST_DELETE   0x00000047
 Selected nodes just deleted.
#define NOTIFY_NODES_POST_DELETE   0x000000CF
 Nodes just deleted.
#define NOTIFY_SYSTEM_SHUTDOWN   0x00000049
 3ds Max is about to exit, (system shutdown starting)
#define NOTIFY_SYSTEM_STARTUP   0x00000050
 3ds Max just went live
#define NOTIFY_SYSTEM_SHUTDOWN2   0x00000052
 Last broadcast before exit, after the scene is destroyed.
#define NOTIFY_ANIMATE_ON   0x00000053
 Sent when Animate UI mode is activated.
#define NOTIFY_ANIMATE_OFF   0x00000054
 Sent when Animate UI mode is de-activated.
#define NOTIFY_COLOR_CHANGE   0x00000055
 Sent by the system when one or more custom colors have changed.
#define NOTIFY_PRE_EDIT_OBJ_CHANGE   0x00000056
 Sent just before the current edit object is about to change.
#define NOTIFY_POST_EDIT_OBJ_CHANGE   0x00000057
 Sent just after the current edit object changes.
#define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE   0x0000005C
 Sent when lighting unit display system is changed.
#define NOTIFY_RADIOSITY_PLUGIN_CHANGED   0x00000060
 Sent when the radiosity plugin is changed (a new one is assigned)
#define NOTIFY_MANIPULATE_MODE_OFF   0x00000063
 Sent when manipulate mode ends.
#define NOTIFY_MANIPULATE_MODE_ON   0x00000064
 Sent when manipulate mode starts.
#define NOTIFY_PRE_NOTIFYDEPENDENTS   0x0000006C
 Sent before NotifyDependents from outside the recursion.
#define NOTIFY_POST_NOTIFYDEPENDENTS   0x0000006D
 Sent after NotifyDependents from outside the recursion.
#define NOTIFY_TIMERANGE_CHANGE   0x00000070
 Sent after the animate time range has been changed.
#define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085
 Sent after all of the new objects for a reload have been created.
#define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED   0x00000092
 Sent AFTER object categories were marked to be hidden/unhidden.
#define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED   0x00000093
 Sent AFTER custom display filters have been activated/deactivated.
#define NOTIFY_MXS_STARTUP   0x0000009B
 Sent by MAXScript during its initialization.
#define NOTIFY_MXS_POST_STARTUP   0x0000009C
 Sent by MAXScript when it has completed its initialization.
#define NOTIFY_MXS_SHUTDOWN   0x000000A7
 Sent when MAXScript has been shut down.
#define NOTIFY_D3D_PRE_DEVICE_RESET   0x000000A8
 This is sent by the D3D GFX (Dx9) when a device reset is going to happen.
#define NOTIFY_D3D_POST_DEVICE_RESET   0x000000A9
 This is sent by the D3D GFX (Dx9) when a device reset has happened.
#define NOTIFY_TOOLPALETTE_MTL_SUSPEND   0x000000AA
 Used to suspend material change tracking in VIZ.
#define NOTIFY_TOOLPALETTE_MTL_RESUME   0x000000AB
 Used to resume material change tracking in VIZ.
#define NOTIFY_POST_SCENE_RESET   0x000000BD
 Sent just after deleting all refs in existing scene.
#define NOTIFY_SELECTION_LOCK   0x000000D0
 Sent when selection lock is triggered. *‍/.
#define NOTIFY_SELECTION_UNLOCK   0x000000D1
 Sent when selection unlock is triggered. *‍/.
#define NOTIFY_OS_THEME_CHANGED   0x000000D7
 Sent after OS theme has been changed.
#define NOTIFY_ACTIVE_VIEWPORT_CHANGED   0x000000D8
 Sent when the current active viewport is changed.
#define NOTIFY_PRE_MAXMAINWINDOW_SHOW   0x000000DB
 NOTIFY_PRE_MAXMAINWINDOW_SHOW is being sent when main window of 3ds Max is about to show.
#define NOTIFY_POST_MAXMAINWINDOW_SHOW   0x000000DC
 NOTIFY_POST_MAXMAINWINDOW_SHOW is being sent immediately after the main window of 3ds Max is shown.
#define NOTIFY_PRE_APP_FRAME_THEME_CHANGED   0x000000E2
 Sent before the application theme is changed via IColorManager::SetAppFrameColorTheme().
#define NOTIFY_APP_FRAME_THEME_CHANGED   0x000000E3
 Sent when the application theme is changed via IColorManager::SetAppFrameColorTheme().
#define NOTIFY_PRE_WORKSPACE_COLLECTION_CHANGE   0x000000E7
 Sent before the collection of system workspaces is about to change.
#define NOTIFY_POST_WORKSPACE_COLLECTION_CHANGE   0x000000E8
 Sent after the collection of system workspaces has changed.
#define NOTIFY_KEYBOARD_SETTING_CHANGED   0x000000E9
 Sent after keyboard short-cut setting file(*.kbd) has changed.
#define NOTIFY_MOUSE_SETTING_CHANGED   0x000000EA
 Sent after mouse setting file has changed.
#define NOTIFY_APP_ACTIVATED   0x000000ED
 Called when the main application window is activated.
#define NOTIFY_APP_DEACTIVATED   0x000000EE
 Called when the main application window is deactivated.
#define NOTIFY_PLUGINS_PRE_SHUTDOWN   0x000000F3
 Sent during shutdown immediately before DllDesc::CallShutdown is called on all plugin dlls.
#define NOTIFY_PLUGINS_PRE_UNLOAD   0x000000F4
 Sent during shutdown immediately before DllDesc::Unload is called on all plugin dlls.
#define NOTIFY_POST_NODE_SELECT_OPERATION   0x000000FC
 Sent after the system Node Selection Processor has finished selecting nodes.
#define NOTIFY_WELCOMESCREEN_DONE   0x000000FE
 Sent once initial welcome screen is done (either it did not show or it has been closed).
#define NOTIFY_PLAYBACK_START   0x000000FF
#define NOTIFY_PLAYBACK_END   0x00000100
#define NOTIFY_SCENE_EXPLORER_NEEDS_UPDATE   0x00000101
 Sent if the scene explorer needs to refresh its display.
#define NOTIFY_FILE_POST_OPEN_PROCESS_FINALIZED   0x00000102
 Sent at the very end of the load sequence, note that any animatables created by the scene load may have been deleted by this point.
#define NOTIFY_FILE_POST_MERGE_PROCESS_FINALIZED   0x00000103
 Sent at the very end of the merge sequence, note that any animatables created by the scene merge may have been deleted by this point.
#define NOTIFY_PRE_PROJECT_FOLDER_CHANGE   0x00000104
 Sent before project folder is changed.
#define NOTIFY_POST_PROJECT_FOLDER_CHANGE   0x00000105
 Sent after project folder is changed.
#define NOTIFY_PRE_MXS_STARTUP_SCRIPT_LOAD   0x00000106
 Sent immediately before MAXScript loads its startup scripts. stdscripts will have already been read.
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK   0x00000108
 Sent when potentially starting to shut 3ds Max down, before checking for things that can cancel the shutdown, such as scene dirty or ExitMAXCallback callback object returning false.
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_FAILED   0x00000109
 Sent if system shutdown was cancelled.
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_PASSED   0x0000010A
 Sent if system shutdown was not cancelled. and system shutdown is about to start.
#define NOTIFY_COLOR_MANAGEMENT_PRE_CHANGE   0x0000010F
 Sent before the system color management settings changed, this includes mode changes, system-wide gamma setting or changes to color config.
#define NOTIFY_CUI_MENUS_INVALID   0x00000113
 : Sent before menu structure is modified (for example before loading a mnxb file) The intent is to use this notification to clear any storage related to menu structure to avoid keeping dangling pointers NotifyInfo::callParam is nullptr
#define NOTIFY_CUI_MENUS_VALID   0x00000114
 : Sent after menu structure is modified (for example after loading a mnxb file) The intent is to use this notification to perform any additional ui updates after new menus are loaded NotifyInfo::callParam is nullptr
#define NOTIFY_CUI_QUAD_MENUS_INVALID   0x00000115
 : Sent before quad menu structure is modified (for example before loading a qmnxb file) The intent is to use this notification to clear any storage related to menu structure to avoid keeping dangling pointers NotifyInfo::callParam is nullptr
#define NOTIFY_CUI_QUAD_MENUS_VALID   0x00000116
 : Sent after quad menu structure is modified (for example after loading a qmnxb file) The intent is to use this notification to perform any additional ui updates after new menus are loaded NotifyInfo::callParam is nullptr
#define NOTIFY_INTERNAL_USE_START   0x70000000

Typedefs

template<NotifyCode code>
using notify_param_t = typename notify_param_helper<code>::type
 Helper type alias to assign a param type to a notification code.

Functions

template<NotifyCode code, NotifyCode... more_codes>
notify_param_t< code > GetNotifyParam (NotifyInfo *info)
 !

Variables

constexpr NotifyCode NOTIFY_SYSTEM_PRE_NEW = 0x00000007
 Sent before a new scene is requested.
constexpr NotifyCode NOTIFY_SYSTEM_POST_NEW = 0x00000008
 Sent after a new scene requested has been serviced.
constexpr NotifyCode NOTIFY_FILE_PRE_OPEN = 0x00000009
 Sent before a file is opened. NotifyInfo::callParam is a pointer to type FileIOType.
constexpr NotifyCode NOTIFY_FILE_POST_OPEN = 0x0000000A
 Sent after a file is opened successfully.
constexpr NotifyCode NOTIFY_FILE_PRE_MERGE = 0x0000000B
 Sent before a file is merged.
constexpr NotifyCode NOTIFY_FILE_PRE_SAVE = 0x0000000D
 Sent before a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).
constexpr NotifyCode NOTIFY_FILE_POST_SAVE = 0x0000000E
 Sent after a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).
constexpr NotifyCode NOTIFY_FILE_OPEN_FAILED = 0x0000000F
 Sent after a file open fails. NotifyInfo::callParam is a pointer to type FileIOType.
constexpr NotifyCode NOTIFY_FILE_PRE_SAVE_OLD = 0x00000010
 Sent before an old version file is saved.
constexpr NotifyCode NOTIFY_BITMAP_CHANGED = 0x00000013
 Sent after a bitmap is reloaded.
constexpr NotifyCode NOTIFY_PRE_RENDER = 0x00000014
 Sent before rendering starts.
constexpr NotifyCode NOTIFY_PRE_RENDERFRAME = 0x00000016
 Sent before rendering each frame.
constexpr NotifyCode NOTIFY_POST_RENDERFRAME = 0x00000017
 Sent after rendering each.
constexpr NotifyCode NOTIFY_POST_IMPORT = 0x00000019
 Sent after a file is imported successfully.
constexpr NotifyCode NOTIFY_IMPORT_FAILED = 0x0000001A
 Sent if a file import fails or is cancelled.
constexpr NotifyCode NOTIFY_POST_EXPORT = 0x0000001C
 Sent after a file is exported successfully.
constexpr NotifyCode NOTIFY_EXPORT_FAILED = 0x0000001D
 Sent if a export fails or is cancelled.
constexpr NotifyCode NOTIFY_RENDER_PREEVAL = 0x00000039
 Sent before the renderer starts evaluating objects; NotifyInfo::callParam is a pointer to TimeValue.
constexpr NotifyCode NOTIFY_NODE_CREATED = 0x0000003A
 Sent when a node is created (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_LINKED = 0x0000003B
 Sent when a node is linked (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_UNLINKED = 0x0000003C
 Sent when a node is unlinked (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_HIDE = 0x0000003D
 Sent when a node is hidden (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_UNHIDE = 0x0000003E
 Sent when a node is unhidden (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_FREEZE = 0x0000003F
 Sent when a node is frozen (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_UNFREEZE = 0x00000040
 Sent when a node is unfrozen (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_PRE_MTL = 0x00000041
 Node is about to get a new material (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_NODE_POST_MTL = 0x00000042
 Node just got a new material (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_SCENE_ADDED_NODE = 0x00000043
 Node just added to scene (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_SCENE_PRE_DELETED_NODE = 0x00000044
 Node just removed from scene (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_SEL_NODES_PRE_DELETE = 0x00000046
 selected nodes will be deleted. (NotifyInfo::callParam is a pointer to Tab<INode*>)
constexpr NotifyCode NOTIFY_NODES_PRE_DELETE = 0x000000CE
 Nodes will be deleted. (NotifyInfo::callParam is a pointer to const INodeTab)
constexpr NotifyCode NOTIFY_WM_ENABLE = 0x00000048
 Sent when main window gets an WM_ENABLE (BOOL enabled)
constexpr NotifyCode NOTIFY_PLUGIN_LOADED = 0x00000051
 A plug-in was just loaded. (NotifyInfo::callParam is a pointer to DllDesc).
constexpr NotifyCode NOTIFY_RADIOSITYPROCESS_STARTED = 0x00000058
 Sent when radiosity processing is started.
constexpr NotifyCode NOTIFY_RADIOSITYPROCESS_STOPPED = 0x00000059
 Sent when radiosity processing is stopped, but not done.
constexpr NotifyCode NOTIFY_RADIOSITYPROCESS_RESET = 0x0000005A
 Sent when radiosity processing is reset.
constexpr NotifyCode NOTIFY_RADIOSITYPROCESS_DONE = 0x0000005B
 Sent when radiosity processing is complete.
constexpr NotifyCode NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP = 0x0000005D
 Sent when starting to render a reflect/refract map.
constexpr NotifyCode NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME = 0x0000005E
 Sent when starting to render the full frame.
constexpr NotifyCode NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE = 0x0000005F
 Sent when starting to render a tone-mapping image.
constexpr NotifyCode NOTIFY_SCENE_UNDO = 0x00000061
 Sent on scene undo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the undo entry name).
constexpr NotifyCode NOTIFY_SCENE_REDO = 0x00000062
 Sent on scene redo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the redo entry name).
constexpr NotifyCode NOTIFY_PRE_MIRROR_NODES = 0x00000069
 Sent before a mirror operation begins.
constexpr NotifyCode NOTIFY_POST_MIRROR_NODES = 0x0000006A
 Sent after a mirror operation ends.
constexpr NotifyCode NOTIFY_NODE_CLONED = 0x0000006B
 Sent after a node is cloned but before theHold.Accept(..) (NotifyInfo::callParam is a pointer to the node).
constexpr NotifyCode NOTIFY_MTL_REFADDED = 0x0000006E
 Sent by Mtl::RefAdded(). NotifyInfo::callParam is a Mtl pointer.
constexpr NotifyCode NOTIFY_MTL_REFDELETED = 0x0000006F
 Sent by Mtl::FefDeleted(). NotifyInfo::callParam is a Mtl pointer.
constexpr NotifyCode NOTIFY_PRE_MODIFIER_ADDED = 0x00000071
 Sent before a modifier is added to an object.
constexpr NotifyCode NOTIFY_POST_MODIFIER_ADDED = 0x00000072
 Sent after a modifier is added to an object.
constexpr NotifyCode NOTIFY_PRE_MODIFIER_DELETED = 0x00000073
 Sent before a modifier is deleted from an object.
constexpr NotifyCode NOTIFY_POST_MODIFIER_DELETED = 0x00000074
 Sent after a modifier is deleted from an object.
constexpr NotifyCode NOTIFY_PRE_NODES_CLONED = 0x00000086
 Sent before each set of clones is created.
constexpr NotifyCode NOTIFY_POST_NODES_CLONED = 0x00000087
 Sent after each set of clones is created.
constexpr NotifyCode NOTIFY_SYSTEM_PRE_DIR_CHANGE = 0x00000089
 Sent before a system path changes.
constexpr NotifyCode NOTIFY_SYSTEM_POST_DIR_CHANGE = 0x0000008A
 Sent after a system path has changed.
constexpr NotifyCode NOTIFY_SV_SELECTIONSET_CHANGED = 0x0000008C
 Schematic view notification.
constexpr NotifyCode NOTIFY_SV_DOUBLECLICK_GRAPHNODE = 0x0000008D
 Schematic view notification.
constexpr NotifyCode NOTIFY_PRE_RENDERER_CHANGE = 0x0000008E
 Sent before the renderer changes.
constexpr NotifyCode NOTIFY_POST_RENDERER_CHANGE = 0x0000008F
 Sent after the renderer changes.
constexpr NotifyCode NOTIFY_SV_PRE_LAYOUT_CHANGE = 0x00000090
 Sent before a schematic view layout change is made.
constexpr NotifyCode NOTIFY_SV_POST_LAYOUT_CHANGE = 0x00000091
 Sent after a schematic view layout change is made.
constexpr NotifyCode NOTIFY_LAYER_CREATED = 0x00000094
 Sent after a layer is added to layer manager.
constexpr NotifyCode NOTIFY_LAYER_DELETED = 0x00000095
 Sent before layer is removed from layer manager; NotifyInfo::callParam is a pointer to ILayer.
constexpr NotifyCode NOTIFY_NODE_LAYER_CHANGED = 0x00000096
 NotifyInfo::callParam is a pointer to LayerChange.
constexpr NotifyCode NOTIFY_TABBED_DIALOG_CREATED = 0x00000097
 Sent when a tabbed dialog is created.
constexpr NotifyCode NOTIFY_TABBED_DIALOG_DELETED = 0x00000098
 Sent when a tabbed dialog is deleted.
constexpr NotifyCode NOTIFY_NODE_NAME_SET = 0x00000099
 Sent by BaseNode::SetName.
constexpr NotifyCode NOTIFY_HW_TEXTURE_CHANGED = 0x0000009A
 Sent by the Material Editor when the "use texture in hardware shader" button is pressed.
constexpr NotifyCode NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC = 0x0000009D
 Sent before an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.
constexpr NotifyCode NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC = 0x0000009E
 Sent after an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.
constexpr NotifyCode NOTIFY_CLASSDESC_REPLACED = 0x000000AC
 Provides a notification that a ClassDesc is being replaced by another one.
constexpr NotifyCode NOTIFY_CLASSDESC_LOADED = 0x000000B0
 Sent after a ClassDesc was successfully loaded from a plugin dll.
constexpr NotifyCode NOTIFY_TOOLBARS_PRE_LOAD = 0x000000B1
 This provides a notification that a toolbar configuration is being loaded, prior to load.
constexpr NotifyCode NOTIFY_TOOLBARS_POST_LOAD = 0x000000B2
 This provides a notification that a toolbar configuration is being loaded, after the load.
constexpr NotifyCode NOTIFY_FILE_CHECK_STATUS = 0x000000B7
 Allows a plugin to query the system for the status of the file before max saves the max scene file.
constexpr NotifyCode NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED = 0x000000BA
 Sent when the sub-object level changes in the modify panel.
constexpr NotifyCode NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD = 0x000000BB
 Sent when a bitmap fails to load in the DirectX Shader Material.
constexpr NotifyCode NOTIFY_ANIM_LAYERS_ENABLED = 0x000000BE
 Sent just after animation layers are enabled on some nodes in the scene.
constexpr NotifyCode NOTIFY_ANIM_LAYERS_DISABLED = 0x000000BF
 Sent just after animation layers are disabled on some nodes in the scene.
constexpr NotifyCode NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE = 0x000000C0
 Sent just before an action item is overridden and IActionItemOverride::StartOveride is called.
constexpr NotifyCode NOTIFY_ACTION_ITEM_POST_START_OVERRIDE = 0x000000C1
 Sent just after an action item is overridden and after IActionItemOverride::StartOveride is called.
constexpr NotifyCode NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE = 0x000000C2
 Sent just before an action item finishes it's override and IActionItemOverride::EndOverride is called.
constexpr NotifyCode NOTIFY_ACTION_ITEM_POST_END_OVERRIDE = 0x000000C3
 Sent just after an action item finishes it's override and after IActionItemOverride::EndOverride is called. *‍/.
constexpr NotifyCode NOTIFY_PRE_IMAGE_VIEWER_DISPLAY = 0x000000D2
 Sent when an image viewer (including the rendered frame window) is opened, before it becomes visible. *‍/.
constexpr NotifyCode NOTIFY_POST_IMAGE_VIEWER_DISPLAY = 0x000000D3
 Sent when an image viewer (including the rendered frame window) is opened, after it becomes visible. *‍/.
constexpr NotifyCode NOTIFY_IMAGE_VIEWER_UPDATE = 0x000000D4
 Sent by an image viewer (or the rendered frame window) to request that its custom rollouts update their UI. *‍/.
constexpr NotifyCode NOTIFY_CLASSDESC_ADDED = 0x000000DD
 Provides a notification that a new ClassDesc is being registered.
constexpr NotifyCode NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN = 0x000000DE
 NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN is sent immediately before object instances are updated to a new object definition.
constexpr NotifyCode NOTIFY_OBJECT_DEFINITION_CHANGE_END = 0x000000DF
 NOTIFY_OBJECT_DEFINITION_CHANGE_END is sent immediately after object instances are updated to a new object definition.
constexpr NotifyCode NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN = 0x000000E0
 Sent when a MtlBase is about to show its UI with Associated parameter rollouts when being edited in a material editor.
constexpr NotifyCode NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE = 0x000000E1
 Sent when a MtlBase has finished its editing in the material editor and the UI with Associated parameter rollouts have been closed.
constexpr NotifyCode NOTIFY_PRE_VIEWPORT_DELETE = 0x000000E4
 Sent before a viewport is deleted. It usually occurs when removing a view tab.
constexpr NotifyCode NOTIFY_PRE_WORKSPACE_CHANGE = 0x000000E5
 Sent before a CUI workspace is about to change NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI is changing to.
constexpr NotifyCode NOTIFY_POST_WORKSPACE_CHANGE = 0x000000E6
 Sent after a CUI workspace has changed NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI has changed to.
constexpr NotifyCode NOTIFY_TOOLBARS_PRE_SAVE = 0x000000EB
 This provides a notification that a toolbar configuration is being saved, prior to save.
constexpr NotifyCode NOTIFY_TOOLBARS_POST_SAVE = 0x000000EC
 This provides a notification that a toolbar configuration is being saved, after the save.
constexpr NotifyCode NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE = 0x000000F2
 Called after the safe frame has been toggled on/off for the viewport.
constexpr NotifyCode NOTIFY_CUI_MENUS_POST_LOAD = 0x000000F5
 Called after a menu file has been loaded and the menu bar updated.
constexpr NotifyCode NOTIFY_LAYER_PARENT_CHANGED = 0x000000F6
 Sent after the parent of a layer was changed.
constexpr NotifyCode NOTIFY_ACTION_ITEM_EXECUTION_STARTED = 0x000000F7
 Sent when an action item starts executing.
constexpr NotifyCode NOTIFY_ACTION_ITEM_EXECUTION_ENDED = 0x000000F8
 Sent when an action item finished executing.
constexpr NotifyCode NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED = 0x000000F9
 Sent when the user starts creating a plug-in instance.
constexpr NotifyCode NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED = 0x000000FA
 Sent when the user ends creating a plug-in instance.
constexpr NotifyCode NOTIFY_PRE_VIEWPORT_TOOLTIP = 0x000000FD
 Sent before viewport tooltip pops. NotifyInfo::callParam is a INode* to the tip node.
constexpr NotifyCode NOTIFY_FILE_POST_MERGE3 = 0x0000010B
 Sent after a file is merged.
constexpr NotifyCode NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED = 0x0000010C
 Sent when ActiveShade in the frame buffer is toggled on/off.
constexpr NotifyCode NOTIFY_PRE_ACTIVESHADE_IN_VIEWPORT_TOGGLED = 0x0000010D
 Sent before ActiveShade in the viewport is toggled on/off.
constexpr NotifyCode NOTIFY_POST_ACTIVESHADE_IN_VIEWPORT_TOGGLED = 0x0000010E
 Sent after ActiveShade in the viewport is toggled on/off.
constexpr NotifyCode NOTIFY_COLOR_MANAGEMENT_POST_CHANGE = 0x00000110
 Sent after the system color management settings are changed, this includes mode changes, system-wide gamma setting or changes to color config.
constexpr NotifyCode NOTIFY_COLOR_MANAGEMENT_POST_CHANGE2 = 0x00000111
 Sent right after the NOTIFY_COLOR_MANAGEMENT_POST_CHANGE notification, signaling that all entities listening to the NOTIFY_COLOR_MANAGEMENT_POST_CHANGE notification has finished responding to it.
constexpr NotifyCode NOTIFY_CUI_REGISTER_QUAD_MENUS = 0x00000112
 NotifyInfo::callParam is a pointer to the ICuiQuadMenuManager loading the menu structure.
constexpr NotifyCode NOTIFY_CUI_MENUS_PRE_LOAD = 0x00000117
 : Sent before menu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that will be loaded
constexpr NotifyCode NOTIFY_CUI_QUAD_MENUS_PRE_LOAD = 0x00000118
 : Sent befoe quadmenu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that will be loaded
constexpr NotifyCode NOTIFY_CUI_QUAD_MENUS_POST_LOAD = 0x00000119
 : Sent after quadmenu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that has been loaded
constexpr NotifyCode NOTIFY_CUI_REGISTER_MENUS = 0x00000120
 Sent when the standard menu structure is loaded.

Material Library File Notifications

constexpr NotifyCode NOTIFY_MATLIB_POST_OPEN = 0x00000025
 Sent after loading a material library.
#define NOTIFY_MATLIB_PRE_OPEN   0x00000024
 Sent before loading a material library.
#define NOTIFY_MATLIB_PRE_SAVE   0x00000026
 Sent before saving a material library.
#define NOTIFY_MATLIB_POST_SAVE   0x00000027
 Sent after saving a material library.
#define NOTIFY_MATLIB_PRE_MERGE   0x00000028
 Sent before merging a material library.
#define NOTIFY_MATLIB_POST_MERGE   0x00000029
 Sent after merging a material library.

XRef System Notifications

These notices typically surround Merge notices

constexpr NotifyCode NOTIFY_SCENE_XREF_POST_MERGE = 0x00000066
 Sent after an XRef scene is successfully merged (NotifyInfo::callParam is a INode* pointer to the scene XRef tree).
#define NOTIFY_SCENE_XREF_PRE_MERGE   0x00000065
 Sent before an XRef scene is merged.
#define NOTIFY_OBJECT_XREF_PRE_MERGE   0x00000067
 Sent before an XRef object is merged.
#define NOTIFY_OBJECT_XREF_POST_MERGE   0x00000068
 Sent after an XRef object is successfully merged.

Scene State Notifications

All the SceneState notifications have NotifyInfo::callParam as a const MCHAR* with the SceneState name except for NOTIFY_SCENESTATE_RENAME

constexpr NotifyCode NOTIFY_SCENESTATE_PRE_SAVE = 0x0000009F
 Sent before a Scene State is saved.
constexpr NotifyCode NOTIFY_SCENESTATE_POST_SAVE = 0x000000A0
 Sent after a Scene State is saved.
constexpr NotifyCode NOTIFY_SCENESTATE_PRE_RESTORE = 0x000000A1
 Sent before a Scene State is restored.
constexpr NotifyCode NOTIFY_SCENESTATE_POST_RESTORE = 0x000000A2
 Sent after a Scene State is restored.
constexpr NotifyCode NOTIFY_SCENESTATE_DELETE = 0x000000A3
 Sent after a Scene State is deleted.
constexpr NotifyCode NOTIFY_SCENESTATE_RENAME = 0x000000A4
 Sent after a Scene State is renamed.

Undo/Redo Notifications

constexpr NotifyCode NOTIFY_SCENE_PRE_UNDO = 0x000000A5
 Sent before an Undo starts.
constexpr NotifyCode NOTIFY_SCENE_PRE_REDO = 0x000000A6
 Sent before a Redo starts.
#define NOTIFY_SCENE_POST_UNDO   NOTIFY_SCENE_UNDO
 Sent to make the previous undo notification more explicit, and match the PRE_UNDO.
#define NOTIFY_SCENE_POST_REDO   NOTIFY_SCENE_REDO
 Sent to make the previous undo notification more explicit, and match the PRE_UNDO.

File I/O Notifications

All contain NotifyInfo::callParam that points to a NotifyFileProcessParam.

See notify_file_process_type

constexpr NotifyCode NOTIFY_FILE_PRE_OPEN_PROCESS = 0x000000AD
constexpr NotifyCode NOTIFY_FILE_POST_OPEN_PROCESS = 0x0000008B
constexpr NotifyCode NOTIFY_FILE_PRE_SAVE_PROCESS = 0x000000AE
constexpr NotifyCode NOTIFY_FILE_POST_SAVE_PROCESS = 0x000000AF

Named Selection Sets Notifications.

The following notifications will be broadcast whenever any operation has been done to a named selection set.

Note
These notifications only apply to named selection sets of objects but not sub-object ones.

Sent when a Named selection set is created either in the UI, or via maxscript.

constexpr NotifyCode NOTIFY_NAMED_SEL_SET_CREATED = 0x000000B8
 NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the created named set.
constexpr NotifyCode NOTIFY_NAMED_SEL_SET_DELETED = 0x000000B9
 Sent when a Named selection set is deleted either in the UI, or via maxscript.
constexpr NotifyCode NOTIFY_NAMED_SEL_SET_PRE_MODIFY = 0x000000CA
 The following notification will be sent when the node set of a named selection set begins to be changed.
constexpr NotifyCode NOTIFY_NAMED_SEL_SET_POST_MODIFY = 0x000000CB
 The following notification will be sent when the node set of a named selection set has been changed.
constexpr NotifyCode NOTIFY_NAMED_SEL_SET_RENAMED = 0x000000BC
 Sent when a Named selection set name is changed, either in the old UI, or via maxscript.

Node Property Change Notifications

NotifyInfo::callParam is a pointer to the list of nodes (INodeTab*) that is about to change or has changed.

constexpr NotifyCode NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED = 0x00000075
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_GENERAL_PROP_CHANGED = 0x00000076
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_GI_PROP_CHANGED = 0x00000077
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_GI_PROP_CHANGED = 0x00000078
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED = 0x00000079
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED = 0x00000080
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_BONE_PROP_CHANGED = 0x00000081
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_BONE_PROP_CHANGED = 0x00000082
 Sent after an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_USER_PROP_CHANGED = 0x00000083
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_USER_PROP_CHANGED = 0x00000084
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_RENDER_PROP_CHANGED = 0x000000C4
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_RENDER_PROP_CHANGED = 0x000000C5
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED = 0x000000C6
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED = 0x000000C7
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_PRE_NODE_BASIC_PROP_CHANGED = 0x000000C8
 Sent before an INode's bone property is changed.
constexpr NotifyCode NOTIFY_POST_NODE_BASIC_PROP_CHANGED = 0x000000C9
 Sent before an INode's bone property is changed.

Custom Attributes Notifications

These notifications are sent after a custom attribute is added or removed from a custom attribute container.


NotifyInfo::callParam is a pointer to a NotifyCustomAttribute structure

constexpr NotifyCode NOTIFY_CUSTOM_ATTRIBUTES_ADDED = 0x000000D5
 Sent after a custom attribute is added to an Animatable.
constexpr NotifyCode NOTIFY_CUSTOM_ATTRIBUTES_REMOVED = 0x000000D6
 Sent after a custom attribute is removed from an Animatable.

Asset Tracking System Notifications

These notification bracket ATS traversal of the entire scene (or ReferenceTarget hierarchy, in the case of a general retarget action) and repath any assets that should be repathed.


No parameters are sent with these notifications.

#define NOTIFY_ATS_PRE_REPATH_PHASE   0x000000B3
 Sent before the ATS traversal starts.
#define NOTIFY_ATS_POST_REPATH_PHASE   0x000000B4
 Sent after the ATS traversal completes.

Bitmap Proxy System Notifications

Any specific operation during which proxies should be disable can be surrounded by these notifications.

This method of disabling proxies is different from actually disabling the bitmap proxies through the proxy manager; these notifications do not actually result in re-loading of any bitmaps. Rather, the Bitmap Texture will only load the high-res image when it is asked to, which makes the process efficient.

Note
One should ideally NOT broadcast these notifications. Instead, use class BitmapProxyTemporaryDisableGuard; it is safer as it handles multiple nested disables.
#define NOTIFY_PROXY_TEMPORARY_DISABLE_START   0x000000B5
#define NOTIFY_PROXY_TEMPORARY_DISABLE_END   0x000000B6

New Scene Options

Flag values in callParam for NOTIFY_SYSTEM_PRE_NEW and NOTIFY_SYSTEM_POST_NEW indicating the type of new scene operation that was carried out.

#define PRE_NEW_NEW_ALL   0x1
 All objects are deleted, including their animation data.

Detailed Description

The following pre-defined system notification codes may be passed to the global functions RegisterNotification(), UnRegisterNotification(), BroadcastNotification().

See also
Structure NotifyInfo, Class Interface, Class Bitmap, Class RenderGlobalContext.

Macro Definition Documentation

◆ DEFINE_NOTIFY_CODE

#define DEFINE_NOTIFY_CODE ( notifyCodeName,
codeVal,
callParamType )
Value:
inline constexpr NotifyCode notifyCodeName = codeVal;\
template <> struct notify_param_helper<notifyCodeName> { using type = callParamType; };
int NotifyCode
Type of all notification codes.
Definition notifyParams.h:47
Helper class to assign a param type to a notification code. See GetNotifyParam.
Definition notify.h:39

Macro to define a notification code and associated type, and register it for GetNotifyParam.

116#define DEFINE_NOTIFY_CODE(notifyCodeName, codeVal, callParamType)\
117inline constexpr NotifyCode notifyCodeName = codeVal;\
118template <> struct notify_param_helper<notifyCodeName> { using type = callParamType; };

◆ NOTIFY_UNITS_CHANGE

#define NOTIFY_UNITS_CHANGE   0x00000001

Sent if the user changes the unit setting.

◆ NOTIFY_TIMEUNITS_CHANGE

#define NOTIFY_TIMEUNITS_CHANGE   0x00000002

Sent if the user changes the time format setting.

◆ NOTIFY_VIEWPORT_CHANGE

#define NOTIFY_VIEWPORT_CHANGE   0x00000003

Sent if the user changes the viewport layout.

◆ NOTIFY_SPACEMODE_CHANGE

#define NOTIFY_SPACEMODE_CHANGE   0x00000004

Sent if the user changes the reference coordinate system.

◆ NOTIFY_SYSTEM_PRE_RESET

#define NOTIFY_SYSTEM_PRE_RESET   0x00000005

Sent before 3ds Max system is reset.

◆ NOTIFY_SYSTEM_POST_RESET

#define NOTIFY_SYSTEM_POST_RESET   0x00000006

Sent after 3ds Max system is reset.

◆ NOTIFY_FILE_POST_SAVE_OLD

#define NOTIFY_FILE_POST_SAVE_OLD   0x00000011

Sent after an old version file is saved.

◆ NOTIFY_SELECTIONSET_CHANGED

#define NOTIFY_SELECTIONSET_CHANGED   0x00000012

Sent after the selection set has changed.

◆ NOTIFY_POST_RENDER

#define NOTIFY_POST_RENDER   0x00000015

Sent after rendering has finished.

◆ NOTIFY_PRE_IMPORT

#define NOTIFY_PRE_IMPORT   0x00000018

Sent before a file is imported.

◆ NOTIFY_PRE_EXPORT

#define NOTIFY_PRE_EXPORT   0x0000001B

Sent before a file is exported.

◆ NOTIFY_PRE_PROGRESS

#define NOTIFY_PRE_PROGRESS   0x0000001F

Sent before the progress bar is displayed.

The progress bar is displayed, for example, when the Render Preview command is run. If a plug-in uses a modeless window it should hide the window between this event and NOTIFY_POST_PROGRESS.

◆ NOTIFY_POST_PROGRESS

#define NOTIFY_POST_PROGRESS   0x00000020

Sent after the progress bar is finished.

◆ NOTIFY_MODPANEL_SEL_CHANGED

#define NOTIFY_MODPANEL_SEL_CHANGED   0x00000021

Sent when the modify panel focuses on a new object because of opening the Modify panel or changing selection.

◆ NOTIFY_RENDPARAM_CHANGED

#define NOTIFY_RENDPARAM_CHANGED   0x00000023

Sent when the common renderer parameters have changed via the render dialog.

◆ NOTIFY_MATLIB_PRE_OPEN

#define NOTIFY_MATLIB_PRE_OPEN   0x00000024

Sent before loading a material library.

◆ NOTIFY_MATLIB_PRE_SAVE

#define NOTIFY_MATLIB_PRE_SAVE   0x00000026

Sent before saving a material library.

◆ NOTIFY_MATLIB_POST_SAVE

#define NOTIFY_MATLIB_POST_SAVE   0x00000027

Sent after saving a material library.

◆ NOTIFY_MATLIB_PRE_MERGE

#define NOTIFY_MATLIB_PRE_MERGE   0x00000028

Sent before merging a material library.

◆ NOTIFY_MATLIB_POST_MERGE

#define NOTIFY_MATLIB_POST_MERGE   0x00000029

Sent after merging a material library.

◆ NOTIFY_FILELINK_BIND_FAILED

#define NOTIFY_FILELINK_BIND_FAILED   0x0000002A

Sent if a File Link Bind fails.

◆ NOTIFY_FILELINK_DETACH_FAILED

#define NOTIFY_FILELINK_DETACH_FAILED   0x0000002B

Sent if a File Link Detach fails.

◆ NOTIFY_FILELINK_RELOAD_FAILED

#define NOTIFY_FILELINK_RELOAD_FAILED   0x0000002C

Sent if a File Link Reload fails.

◆ NOTIFY_FILELINK_ATTACH_FAILED

#define NOTIFY_FILELINK_ATTACH_FAILED   0x0000002D

Sent if a File Link Attach fails.

◆ NOTIFY_FILELINK_PRE_BIND

#define NOTIFY_FILELINK_PRE_BIND   0x00000030

Sent before a File Link Bind.

◆ NOTIFY_FILELINK_POST_BIND

#define NOTIFY_FILELINK_POST_BIND   0x00000031

Sent after a successful File Link Bind.

◆ NOTIFY_FILELINK_PRE_DETACH

#define NOTIFY_FILELINK_PRE_DETACH   0x00000032

Sent before a File Link Detach.

◆ NOTIFY_FILELINK_POST_DETACH

#define NOTIFY_FILELINK_POST_DETACH   0x00000033

Sent after a successful File Link Detach.

◆ NOTIFY_FILELINK_PRE_RELOAD

#define NOTIFY_FILELINK_PRE_RELOAD   0x00000034

Sent before a File Link Reload (partial, full, or dynamic)

◆ NOTIFY_FILELINK_POST_RELOAD

#define NOTIFY_FILELINK_POST_RELOAD   0x00000035

Sent after a successful File Link Reload (partial, full, or dynamic)

◆ NOTIFY_FILELINK_PRE_ATTACH

#define NOTIFY_FILELINK_PRE_ATTACH   0x00000036

Sent before a File Link Attach.

◆ NOTIFY_FILELINK_POST_ATTACH

#define NOTIFY_FILELINK_POST_ATTACH   0x00000037

Sent after a successful File Link.

See also
NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE

◆ NOTIFY_SCENE_POST_DELETED_NODE

#define NOTIFY_SCENE_POST_DELETED_NODE   0x00000045

Node just removed from scene.

◆ NOTIFY_SEL_NODES_POST_DELETE

#define NOTIFY_SEL_NODES_POST_DELETE   0x00000047

Selected nodes just deleted.

◆ NOTIFY_NODES_POST_DELETE

#define NOTIFY_NODES_POST_DELETE   0x000000CF

Nodes just deleted.

◆ NOTIFY_SYSTEM_SHUTDOWN

#define NOTIFY_SYSTEM_SHUTDOWN   0x00000049

3ds Max is about to exit, (system shutdown starting)

◆ NOTIFY_SYSTEM_STARTUP

#define NOTIFY_SYSTEM_STARTUP   0x00000050

3ds Max just went live

◆ NOTIFY_SYSTEM_SHUTDOWN2

#define NOTIFY_SYSTEM_SHUTDOWN2   0x00000052

Last broadcast before exit, after the scene is destroyed.

Most plugins will not live long enough to receive the notification. It is important to unregister this notification when your plugin dies. If not, 3ds Max will try to notify objects that no longer exist.

◆ NOTIFY_ANIMATE_ON

#define NOTIFY_ANIMATE_ON   0x00000053

Sent when Animate UI mode is activated.

◆ NOTIFY_ANIMATE_OFF

#define NOTIFY_ANIMATE_OFF   0x00000054

Sent when Animate UI mode is de-activated.

◆ NOTIFY_COLOR_CHANGE

#define NOTIFY_COLOR_CHANGE   0x00000055

Sent by the system when one or more custom colors have changed.

Plug-ins should listen to this notification if they use any of the custom colors registered with the system. See ViewportDrawingColors. If a plug-in has created a toolbar with a MaxBmpFileIcons object on it, it should register for this notification, and call ICustToolbar::ResetIconImages() in response to it. See classes ICustToolbar and MAXBmpFileIcon.

◆ NOTIFY_PRE_EDIT_OBJ_CHANGE

#define NOTIFY_PRE_EDIT_OBJ_CHANGE   0x00000056

Sent just before the current edit object is about to change.

This notification is sent whenever the object returned by Interface::GetCurEditObject() changes.

◆ NOTIFY_POST_EDIT_OBJ_CHANGE

#define NOTIFY_POST_EDIT_OBJ_CHANGE   0x00000057

Sent just after the current edit object changes.

This notification is sent whenever the object returned by Interface::GetCurEditObject() changes.

◆ NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE

#define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE   0x0000005C

Sent when lighting unit display system is changed.

◆ NOTIFY_RADIOSITY_PLUGIN_CHANGED

#define NOTIFY_RADIOSITY_PLUGIN_CHANGED   0x00000060

Sent when the radiosity plugin is changed (a new one is assigned)

◆ NOTIFY_MANIPULATE_MODE_OFF

#define NOTIFY_MANIPULATE_MODE_OFF   0x00000063

Sent when manipulate mode ends.

◆ NOTIFY_MANIPULATE_MODE_ON

#define NOTIFY_MANIPULATE_MODE_ON   0x00000064

Sent when manipulate mode starts.

◆ NOTIFY_SCENE_XREF_PRE_MERGE

#define NOTIFY_SCENE_XREF_PRE_MERGE   0x00000065

Sent before an XRef scene is merged.

◆ NOTIFY_OBJECT_XREF_PRE_MERGE

#define NOTIFY_OBJECT_XREF_PRE_MERGE   0x00000067

Sent before an XRef object is merged.

◆ NOTIFY_OBJECT_XREF_POST_MERGE

#define NOTIFY_OBJECT_XREF_POST_MERGE   0x00000068

Sent after an XRef object is successfully merged.

◆ NOTIFY_PRE_NOTIFYDEPENDENTS

#define NOTIFY_PRE_NOTIFYDEPENDENTS   0x0000006C

Sent before NotifyDependents from outside the recursion.

that is, not during the traversal of reference targets

◆ NOTIFY_POST_NOTIFYDEPENDENTS

#define NOTIFY_POST_NOTIFYDEPENDENTS   0x0000006D

Sent after NotifyDependents from outside the recursion.

That is, not during the traversal of reference targets

◆ NOTIFY_TIMERANGE_CHANGE

#define NOTIFY_TIMERANGE_CHANGE   0x00000070

Sent after the animate time range has been changed.

◆ NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE

#define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085

Sent after all of the new objects for a reload have been created.

But, before any objects have been deleted.

◆ NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED

#define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED   0x00000092

Sent AFTER object categories were marked to be hidden/unhidden.

Clients registered for this notification can retrieve the categories whose hidden state have changed by retrieving the category flags by calling DWORD Interface::GetHideByCategoryFlags()

◆ NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED

#define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED   0x00000093

Sent AFTER custom display filters have been activated/deactivated.

Results in changes to some objects hidden state. Clients registered for this notification can retrieve the active custom display filters by checking their On/Off state using BOOL Interface::GetDisplayFilter(int index)

◆ NOTIFY_MXS_STARTUP

#define NOTIFY_MXS_STARTUP   0x0000009B

Sent by MAXScript during its initialization.

Occurs immediately before it scans the registered plugin classes and wraps them in MAXClass values any runtime defined classes created in this callback will be detected by MXS any core interfaces installed in this callback will be detected by MXS

◆ NOTIFY_MXS_POST_STARTUP

#define NOTIFY_MXS_POST_STARTUP   0x0000009C

Sent by MAXScript when it has completed its initialization.

◆ NOTIFY_SCENE_POST_UNDO

#define NOTIFY_SCENE_POST_UNDO   NOTIFY_SCENE_UNDO

Sent to make the previous undo notification more explicit, and match the PRE_UNDO.

◆ NOTIFY_SCENE_POST_REDO

#define NOTIFY_SCENE_POST_REDO   NOTIFY_SCENE_REDO

Sent to make the previous undo notification more explicit, and match the PRE_UNDO.

◆ NOTIFY_MXS_SHUTDOWN

#define NOTIFY_MXS_SHUTDOWN   0x000000A7

Sent when MAXScript has been shut down.

No access to any MXS value should be made after this notification, including calls to event handlers

◆ NOTIFY_D3D_PRE_DEVICE_RESET

#define NOTIFY_D3D_PRE_DEVICE_RESET   0x000000A8

This is sent by the D3D GFX (Dx9) when a device reset is going to happen.

This can allow Hardware shader to release their resources allocated in the DEFAULT_POOL

◆ NOTIFY_D3D_POST_DEVICE_RESET

#define NOTIFY_D3D_POST_DEVICE_RESET   0x000000A9

This is sent by the D3D GFX (Dx9) when a device reset has happened.

This can allow Hardware shader to release their resources allocated in the DEFAULT_POOL

◆ NOTIFY_TOOLPALETTE_MTL_SUSPEND

#define NOTIFY_TOOLPALETTE_MTL_SUSPEND   0x000000AA

Used to suspend material change tracking in VIZ.

In VIZ, the tool palette system listens for additions and removals to the scene material library and tracks reference additions and removals to existing materials. Upon resumption, the scene material lib will be traversed and changes reflected in the palette.

◆ NOTIFY_TOOLPALETTE_MTL_RESUME

#define NOTIFY_TOOLPALETTE_MTL_RESUME   0x000000AB

Used to resume material change tracking in VIZ.

In VIZ, the tool palette system listens for additions and removals to the scene material library and tracks reference additions and removals to existing materials. Upon resumption, the scene material lib will be traversed and changes reflected in the palette.

◆ NOTIFY_ATS_PRE_REPATH_PHASE

#define NOTIFY_ATS_PRE_REPATH_PHASE   0x000000B3

Sent before the ATS traversal starts.

◆ NOTIFY_ATS_POST_REPATH_PHASE

#define NOTIFY_ATS_POST_REPATH_PHASE   0x000000B4

Sent after the ATS traversal completes.

◆ NOTIFY_PROXY_TEMPORARY_DISABLE_START

#define NOTIFY_PROXY_TEMPORARY_DISABLE_START   0x000000B5

◆ NOTIFY_PROXY_TEMPORARY_DISABLE_END

#define NOTIFY_PROXY_TEMPORARY_DISABLE_END   0x000000B6

◆ NOTIFY_POST_SCENE_RESET

#define NOTIFY_POST_SCENE_RESET   0x000000BD

Sent just after deleting all refs in existing scene.

This notification is sent after wiping the existing scene. Examples of when this occurs is immediately before loading in the new scene from a file, and when doing a file new

◆ NOTIFY_SELECTION_LOCK

#define NOTIFY_SELECTION_LOCK   0x000000D0

Sent when selection lock is triggered. *‍/.

NotifyInfo::callParam is NULL.

◆ NOTIFY_SELECTION_UNLOCK

#define NOTIFY_SELECTION_UNLOCK   0x000000D1

Sent when selection unlock is triggered. *‍/.

NotifyInfo::callParam is NULL.

◆ NOTIFY_OS_THEME_CHANGED

#define NOTIFY_OS_THEME_CHANGED   0x000000D7

Sent after OS theme has been changed.

◆ NOTIFY_ACTIVE_VIEWPORT_CHANGED

#define NOTIFY_ACTIVE_VIEWPORT_CHANGED   0x000000D8

Sent when the current active viewport is changed.

Typically this notification is sent when the user has switched viewports. To get notifications of any other type of viewport change, please use NOTIFY_VIEWPORT_CHANGE

◆ NOTIFY_PRE_MAXMAINWINDOW_SHOW

#define NOTIFY_PRE_MAXMAINWINDOW_SHOW   0x000000DB

NOTIFY_PRE_MAXMAINWINDOW_SHOW is being sent when main window of 3ds Max is about to show.

◆ NOTIFY_POST_MAXMAINWINDOW_SHOW

#define NOTIFY_POST_MAXMAINWINDOW_SHOW   0x000000DC

NOTIFY_POST_MAXMAINWINDOW_SHOW is being sent immediately after the main window of 3ds Max is shown.

◆ NOTIFY_PRE_APP_FRAME_THEME_CHANGED

#define NOTIFY_PRE_APP_FRAME_THEME_CHANGED   0x000000E2

Sent before the application theme is changed via IColorManager::SetAppFrameColorTheme().

NotifyInfo::callParam is NULL.

◆ NOTIFY_APP_FRAME_THEME_CHANGED

#define NOTIFY_APP_FRAME_THEME_CHANGED   0x000000E3

Sent when the application theme is changed via IColorManager::SetAppFrameColorTheme().

NotifyInfo::callParam is NULL.

◆ NOTIFY_PRE_WORKSPACE_COLLECTION_CHANGE

#define NOTIFY_PRE_WORKSPACE_COLLECTION_CHANGE   0x000000E7

Sent before the collection of system workspaces is about to change.

◆ NOTIFY_POST_WORKSPACE_COLLECTION_CHANGE

#define NOTIFY_POST_WORKSPACE_COLLECTION_CHANGE   0x000000E8

Sent after the collection of system workspaces has changed.

◆ NOTIFY_KEYBOARD_SETTING_CHANGED

#define NOTIFY_KEYBOARD_SETTING_CHANGED   0x000000E9

Sent after keyboard short-cut setting file(*.kbd) has changed.

For example, loading/saving a new keyboard setting file.

◆ NOTIFY_MOUSE_SETTING_CHANGED

#define NOTIFY_MOUSE_SETTING_CHANGED   0x000000EA

Sent after mouse setting file has changed.

For example, loading/saving a new mouse setting file.

◆ NOTIFY_APP_ACTIVATED

#define NOTIFY_APP_ACTIVATED   0x000000ED

Called when the main application window is activated.

Note this message is called every time the main window is activated. Use with caution. If the intention is to do something on system startup, consider NOTIFY_SYSTEM_STARTUP instead. This message is likely called before NOTIFY_SYSTEM_STARTUP, but it is not guaranteed that the application is in a ready/idle state at that point.

◆ NOTIFY_APP_DEACTIVATED

#define NOTIFY_APP_DEACTIVATED   0x000000EE

Called when the main application window is deactivated.

Note this message is called every time the main window is deactivated. Use with caution. If the intention is to do something on system shutdown, consider NOTIFY_SYSTEM_SHUTDOWN instead.

◆ NOTIFY_PLUGINS_PRE_SHUTDOWN

#define NOTIFY_PLUGINS_PRE_SHUTDOWN   0x000000F3

Sent during shutdown immediately before DllDesc::CallShutdown is called on all plugin dlls.

◆ NOTIFY_PLUGINS_PRE_UNLOAD

#define NOTIFY_PLUGINS_PRE_UNLOAD   0x000000F4

Sent during shutdown immediately before DllDesc::Unload is called on all plugin dlls.

◆ NOTIFY_POST_NODE_SELECT_OPERATION

#define NOTIFY_POST_NODE_SELECT_OPERATION   0x000000FC

Sent after the system Node Selection Processor has finished selecting nodes.

◆ NOTIFY_WELCOMESCREEN_DONE

#define NOTIFY_WELCOMESCREEN_DONE   0x000000FE

Sent once initial welcome screen is done (either it did not show or it has been closed).

◆ NOTIFY_PLAYBACK_START

#define NOTIFY_PLAYBACK_START   0x000000FF

◆ NOTIFY_PLAYBACK_END

#define NOTIFY_PLAYBACK_END   0x00000100

◆ NOTIFY_SCENE_EXPLORER_NEEDS_UPDATE

#define NOTIFY_SCENE_EXPLORER_NEEDS_UPDATE   0x00000101

Sent if the scene explorer needs to refresh its display.

◆ NOTIFY_FILE_POST_OPEN_PROCESS_FINALIZED

#define NOTIFY_FILE_POST_OPEN_PROCESS_FINALIZED   0x00000102

Sent at the very end of the load sequence, note that any animatables created by the scene load may have been deleted by this point.

◆ NOTIFY_FILE_POST_MERGE_PROCESS_FINALIZED

#define NOTIFY_FILE_POST_MERGE_PROCESS_FINALIZED   0x00000103

Sent at the very end of the merge sequence, note that any animatables created by the scene merge may have been deleted by this point.

◆ NOTIFY_PRE_PROJECT_FOLDER_CHANGE

#define NOTIFY_PRE_PROJECT_FOLDER_CHANGE   0x00000104

Sent before project folder is changed.

◆ NOTIFY_POST_PROJECT_FOLDER_CHANGE

#define NOTIFY_POST_PROJECT_FOLDER_CHANGE   0x00000105

Sent after project folder is changed.

◆ NOTIFY_PRE_MXS_STARTUP_SCRIPT_LOAD

#define NOTIFY_PRE_MXS_STARTUP_SCRIPT_LOAD   0x00000106

Sent immediately before MAXScript loads its startup scripts. stdscripts will have already been read.

◆ NOTIFY_SYSTEM_SHUTDOWN_CHECK

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK   0x00000108

Sent when potentially starting to shut 3ds Max down, before checking for things that can cancel the shutdown, such as scene dirty or ExitMAXCallback callback object returning false.

◆ NOTIFY_SYSTEM_SHUTDOWN_CHECK_FAILED

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_FAILED   0x00000109

Sent if system shutdown was cancelled.

◆ NOTIFY_SYSTEM_SHUTDOWN_CHECK_PASSED

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_PASSED   0x0000010A

Sent if system shutdown was not cancelled. and system shutdown is about to start.

◆ NOTIFY_COLOR_MANAGEMENT_PRE_CHANGE

#define NOTIFY_COLOR_MANAGEMENT_PRE_CHANGE   0x0000010F

Sent before the system color management settings changed, this includes mode changes, system-wide gamma setting or changes to color config.

◆ NOTIFY_CUI_MENUS_INVALID

#define NOTIFY_CUI_MENUS_INVALID   0x00000113

: Sent before menu structure is modified (for example before loading a mnxb file) The intent is to use this notification to clear any storage related to menu structure to avoid keeping dangling pointers NotifyInfo::callParam is nullptr

◆ NOTIFY_CUI_MENUS_VALID

#define NOTIFY_CUI_MENUS_VALID   0x00000114

: Sent after menu structure is modified (for example after loading a mnxb file) The intent is to use this notification to perform any additional ui updates after new menus are loaded NotifyInfo::callParam is nullptr

◆ NOTIFY_CUI_QUAD_MENUS_INVALID

#define NOTIFY_CUI_QUAD_MENUS_INVALID   0x00000115

: Sent before quad menu structure is modified (for example before loading a qmnxb file) The intent is to use this notification to clear any storage related to menu structure to avoid keeping dangling pointers NotifyInfo::callParam is nullptr

◆ NOTIFY_CUI_QUAD_MENUS_VALID

#define NOTIFY_CUI_QUAD_MENUS_VALID   0x00000116

: Sent after quad menu structure is modified (for example after loading a qmnxb file) The intent is to use this notification to perform any additional ui updates after new menus are loaded NotifyInfo::callParam is nullptr

◆ NOTIFY_INTERNAL_USE_START

#define NOTIFY_INTERNAL_USE_START   0x70000000

◆ PRE_NEW_NEW_ALL

#define PRE_NEW_NEW_ALL   0x1

All objects are deleted, including their animation data.

Typedef Documentation

◆ notify_param_t

template<NotifyCode code>
using notify_param_t = typename notify_param_helper<code>::type

Helper type alias to assign a param type to a notification code.

See GetNotifyParam. For example, notify_param_t<NOTIFY_FILE_PRE_OPEN> is the type of the callParam sent with the NOTIFY_FILE_PRE_OPEN notification.

Function Documentation

◆ GetNotifyParam()

template<NotifyCode code, NotifyCode... more_codes>
notify_param_t< code > GetNotifyParam ( NotifyInfo * info)
inline

!

Use this function to retrieve the callParam that is associated with one or more notification codes. It is recommended to do a null check on the value returned by this function. This will fail to compile if all notification codes don't have the same associated param type.

void MyCallback(void* param, NotifyInfo* info)
{
switch (info->intcode)
{
{
if (auto callParam1 = GetNotifyParam<NOTIFY_FILE_PRE_OPEN>(info))
{
... // callParam1 will resolve to FileIOType*
}
break;
}
{
if (auto callParam2 = GetNotifyParam<NOTIFY_FILE_POST_OPEN>(info))
{
... // callParam2 will resolve to NotifyPostOpenParam*
}
break;
}
{
{
... // callParam3 will resolve to INode*
}
break;
}
}
}
constexpr NotifyCode NOTIFY_FILE_POST_OPEN
Sent after a file is opened successfully.
Definition notify.h:143
notify_param_t< code > GetNotifyParam(NotifyInfo *info)
!
Definition notify.h:85
constexpr NotifyCode NOTIFY_FILE_PRE_OPEN
Sent before a file is opened. NotifyInfo::callParam is a pointer to type FileIOType.
Definition notify.h:140
constexpr NotifyCode NOTIFY_NODE_CREATED
Sent when a node is created (NotifyInfo::callParam is a pointer to the node).
Definition notify.h:273
constexpr NotifyCode NOTIFY_NODE_UNFREEZE
Sent when a node is unfrozen (NotifyInfo::callParam is a pointer to the node).
Definition notify.h:285
constexpr NotifyCode NOTIFY_NODE_UNHIDE
Sent when a node is unhidden (NotifyInfo::callParam is a pointer to the node).
Definition notify.h:281
3ds Max supports a system where a plug-in can ask to receive a callback when certain events occur.
Definition notifyParams.h:84
NotifyCode intcode
Definition notifyParams.h:85
86{
87 using result_t = notify_param_t<code>;
88 if constexpr (sizeof...(more_codes) > 0)
89 {
90 static constexpr bool allSameParamType = (std::is_same_v<result_t, notify_param_t<more_codes>> && ...);
91 static_assert(allSameParamType, "All notification codes don't have the same associated param type");
92 }
93#ifdef MAX_ASSERTS_ACTIVE
94 if (info)
95 {
96 // Raise a DbgAssert if the notification code sent at run time is different to what was expected at compile time
97 static constexpr NotifyCode allCodes[] = { code, more_codes... };
98 const bool goodCode = std::any_of(std::begin(allCodes), std::end(allCodes),
99 [&](NotifyCode acode) { return acode == info->intcode; });
100 DbgAssert(goodCode && "Unexpected notification code in GetNotifyParam");
101 }
102#endif
103 void* paramPtr = info ? info->callParam : nullptr;
104 if constexpr (std::is_pointer_v<result_t>)
105 {
106 return static_cast<result_t>(paramPtr);
107 }
108 else
109 {
110 return static_cast<result_t>(reinterpret_cast<intptr_t>(paramPtr));
111 }
112}
#define DbgAssert(expr)
Definition assert1.h:83
typename notify_param_helper< code >::type notify_param_t
Helper type alias to assign a param type to a notification code.
Definition notify.h:44
void * callParam
Definition notifyParams.h:86

Variable Documentation

◆ NOTIFY_SYSTEM_PRE_NEW

NotifyCode NOTIFY_SYSTEM_PRE_NEW = 0x00000007
inlineconstexpr

Sent before a new scene is requested.

NotifyInfo::callParam is New Scene Options

◆ NOTIFY_SYSTEM_POST_NEW

NotifyCode NOTIFY_SYSTEM_POST_NEW = 0x00000008
inlineconstexpr

Sent after a new scene requested has been serviced.

NotifyInfo::callParam is New Scene Options

◆ NOTIFY_FILE_PRE_OPEN

NotifyCode NOTIFY_FILE_PRE_OPEN = 0x00000009
inlineconstexpr

Sent before a file is opened. NotifyInfo::callParam is a pointer to type FileIOType.

◆ NOTIFY_FILE_POST_OPEN

NotifyCode NOTIFY_FILE_POST_OPEN = 0x0000000A
inlineconstexpr

Sent after a file is opened successfully.

◆ NOTIFY_FILE_PRE_MERGE

NotifyCode NOTIFY_FILE_PRE_MERGE = 0x0000000B
inlineconstexpr

Sent before a file is merged.

When merge is called to load an XRef, you can determine this by testing void * callParam. The result is not NULL if an XRef is being loaded.

◆ NOTIFY_FILE_PRE_SAVE

NotifyCode NOTIFY_FILE_PRE_SAVE = 0x0000000D
inlineconstexpr

Sent before a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).

◆ NOTIFY_FILE_POST_SAVE

NotifyCode NOTIFY_FILE_POST_SAVE = 0x0000000E
inlineconstexpr

Sent after a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).

◆ NOTIFY_FILE_OPEN_FAILED

NotifyCode NOTIFY_FILE_OPEN_FAILED = 0x0000000F
inlineconstexpr

Sent after a file open fails. NotifyInfo::callParam is a pointer to type FileIOType.

◆ NOTIFY_FILE_PRE_SAVE_OLD

NotifyCode NOTIFY_FILE_PRE_SAVE_OLD = 0x00000010
inlineconstexpr

Sent before an old version file is saved.

◆ NOTIFY_BITMAP_CHANGED

NotifyCode NOTIFY_BITMAP_CHANGED = 0x00000013
inlineconstexpr

Sent after a bitmap is reloaded.

The NotifyInfo::callParam is passed the MCHAR * to the bitmap file name. This is used for updating bitmaps that have changed. The callParam is used to pass the name of the bitmap file in case it is used in multiple changes. If the callParam is NULL, this notification applies to all bitmaps, as is the case when the input file gamma changes.

◆ NOTIFY_PRE_RENDER

NotifyCode NOTIFY_PRE_RENDER = 0x00000014
inlineconstexpr

Sent before rendering starts.

◆ NOTIFY_PRE_RENDERFRAME

NotifyCode NOTIFY_PRE_RENDERFRAME = 0x00000016
inlineconstexpr

Sent before rendering each frame.

NotifyInfo::callParam is passed as a pointer to the RenderGlobalContext. At the time of this call, the scene must not be modified. The renderer has already called GetRenderMesh() on all the object instances, and the materials and lights are already updated. If you don't modify anything that is rendered, then it is safe to use this callback.

◆ NOTIFY_POST_RENDERFRAME

NotifyCode NOTIFY_POST_RENDERFRAME = 0x00000017
inlineconstexpr

Sent after rendering each.

NotifyInfo::callParam is passed a pointer to the RenderGlobalContext.

See also
NOTIFY_PRE_RENDERFRAME

◆ NOTIFY_POST_IMPORT

NotifyCode NOTIFY_POST_IMPORT = 0x00000019
inlineconstexpr

Sent after a file is imported successfully.

NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name.

◆ NOTIFY_IMPORT_FAILED

NotifyCode NOTIFY_IMPORT_FAILED = 0x0000001A
inlineconstexpr

Sent if a file import fails or is cancelled.

◆ NOTIFY_POST_EXPORT

NotifyCode NOTIFY_POST_EXPORT = 0x0000001C
inlineconstexpr

Sent after a file is exported successfully.

NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name.

◆ NOTIFY_EXPORT_FAILED

NotifyCode NOTIFY_EXPORT_FAILED = 0x0000001D
inlineconstexpr

Sent if a export fails or is cancelled.

◆ NOTIFY_MATLIB_POST_OPEN

NotifyCode NOTIFY_MATLIB_POST_OPEN = 0x00000025
inlineconstexpr

Sent after loading a material library.

NotifyInfo::callParam is a pointer to MtlBaseLib if success, otherwise NULL.

◆ NOTIFY_RENDER_PREEVAL

NotifyCode NOTIFY_RENDER_PREEVAL = 0x00000039
inlineconstexpr

Sent before the renderer starts evaluating objects; NotifyInfo::callParam is a pointer to TimeValue.

The NotifyInfo::callParam is passed as a pointer to TimeValue. Renderer plugins must broadcast this notification before they start evaluation scene objects. This notification allows plugins (such as modifiers or base objects) to perform a custom task before the renderer evaluates them. The custom task is usually one that would be invalid to be performed during a call to INode::EvalWorldState().

◆ NOTIFY_NODE_CREATED

NotifyCode NOTIFY_NODE_CREATED = 0x0000003A
inlineconstexpr

Sent when a node is created (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_LINKED

NotifyCode NOTIFY_NODE_LINKED = 0x0000003B
inlineconstexpr

Sent when a node is linked (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_UNLINKED

NotifyCode NOTIFY_NODE_UNLINKED = 0x0000003C
inlineconstexpr

Sent when a node is unlinked (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_HIDE

NotifyCode NOTIFY_NODE_HIDE = 0x0000003D
inlineconstexpr

Sent when a node is hidden (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_UNHIDE

NotifyCode NOTIFY_NODE_UNHIDE = 0x0000003E
inlineconstexpr

Sent when a node is unhidden (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_FREEZE

NotifyCode NOTIFY_NODE_FREEZE = 0x0000003F
inlineconstexpr

Sent when a node is frozen (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_UNFREEZE

NotifyCode NOTIFY_NODE_UNFREEZE = 0x00000040
inlineconstexpr

Sent when a node is unfrozen (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_PRE_MTL

NotifyCode NOTIFY_NODE_PRE_MTL = 0x00000041
inlineconstexpr

Node is about to get a new material (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_NODE_POST_MTL

NotifyCode NOTIFY_NODE_POST_MTL = 0x00000042
inlineconstexpr

Node just got a new material (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_SCENE_ADDED_NODE

NotifyCode NOTIFY_SCENE_ADDED_NODE = 0x00000043
inlineconstexpr

Node just added to scene (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_SCENE_PRE_DELETED_NODE

NotifyCode NOTIFY_SCENE_PRE_DELETED_NODE = 0x00000044
inlineconstexpr

Node just removed from scene (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_SEL_NODES_PRE_DELETE

NotifyCode NOTIFY_SEL_NODES_PRE_DELETE = 0x00000046
inlineconstexpr

selected nodes will be deleted. (NotifyInfo::callParam is a pointer to Tab<INode*>)

◆ NOTIFY_NODES_PRE_DELETE

NotifyCode NOTIFY_NODES_PRE_DELETE = 0x000000CE
inlineconstexpr

Nodes will be deleted. (NotifyInfo::callParam is a pointer to const INodeTab)

◆ NOTIFY_WM_ENABLE

NotifyCode NOTIFY_WM_ENABLE = 0x00000048
inlineconstexpr

Sent when main window gets an WM_ENABLE (BOOL enabled)

◆ NOTIFY_PLUGIN_LOADED

NotifyCode NOTIFY_PLUGIN_LOADED = 0x00000051
inlineconstexpr

A plug-in was just loaded. (NotifyInfo::callParam is a pointer to DllDesc).

◆ NOTIFY_RADIOSITYPROCESS_STARTED

NotifyCode NOTIFY_RADIOSITYPROCESS_STARTED = 0x00000058
inlineconstexpr

Sent when radiosity processing is started.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

◆ NOTIFY_RADIOSITYPROCESS_STOPPED

NotifyCode NOTIFY_RADIOSITYPROCESS_STOPPED = 0x00000059
inlineconstexpr

Sent when radiosity processing is stopped, but not done.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

◆ NOTIFY_RADIOSITYPROCESS_RESET

NotifyCode NOTIFY_RADIOSITYPROCESS_RESET = 0x0000005A
inlineconstexpr

Sent when radiosity processing is reset.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

◆ NOTIFY_RADIOSITYPROCESS_DONE

NotifyCode NOTIFY_RADIOSITYPROCESS_DONE = 0x0000005B
inlineconstexpr

Sent when radiosity processing is complete.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

◆ NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP

NotifyCode NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP = 0x0000005D
inlineconstexpr

Sent when starting to render a reflect/refract map.

◆ NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME

NotifyCode NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME = 0x0000005E
inlineconstexpr

Sent when starting to render the full frame.

◆ NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE

NotifyCode NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE = 0x0000005F
inlineconstexpr

Sent when starting to render a tone-mapping image.

◆ NOTIFY_SCENE_UNDO

NotifyCode NOTIFY_SCENE_UNDO = 0x00000061
inlineconstexpr

Sent on scene undo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the undo entry name).

◆ NOTIFY_SCENE_REDO

NotifyCode NOTIFY_SCENE_REDO = 0x00000062
inlineconstexpr

Sent on scene redo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the redo entry name).

◆ NOTIFY_SCENE_XREF_POST_MERGE

NotifyCode NOTIFY_SCENE_XREF_POST_MERGE = 0x00000066
inlineconstexpr

Sent after an XRef scene is successfully merged (NotifyInfo::callParam is a INode* pointer to the scene XRef tree).

◆ NOTIFY_PRE_MIRROR_NODES

NotifyCode NOTIFY_PRE_MIRROR_NODES = 0x00000069
inlineconstexpr

Sent before a mirror operation begins.

NotifyInfo::callParam is a pointer to Tab<INode*> consisting of the nodes currently in the selection list that the mirror tool is to be applied to.

◆ NOTIFY_POST_MIRROR_NODES

NotifyCode NOTIFY_POST_MIRROR_NODES = 0x0000006A
inlineconstexpr

Sent after a mirror operation ends.

NotifyInfo::callParam is a pointer to Tab<INode*> consisting of the nodes currently in the selection list that the mirror tool is to be applied to.

◆ NOTIFY_NODE_CLONED

NotifyCode NOTIFY_NODE_CLONED = 0x0000006B
inlineconstexpr

Sent after a node is cloned but before theHold.Accept(..) (NotifyInfo::callParam is a pointer to the node).

◆ NOTIFY_MTL_REFADDED

NotifyCode NOTIFY_MTL_REFADDED = 0x0000006E
inlineconstexpr

Sent by Mtl::RefAdded(). NotifyInfo::callParam is a Mtl pointer.

◆ NOTIFY_MTL_REFDELETED

NotifyCode NOTIFY_MTL_REFDELETED = 0x0000006F
inlineconstexpr

Sent by Mtl::FefDeleted(). NotifyInfo::callParam is a Mtl pointer.

◆ NOTIFY_PRE_MODIFIER_ADDED

NotifyCode NOTIFY_PRE_MODIFIER_ADDED = 0x00000071
inlineconstexpr

Sent before a modifier is added to an object.

The NotifyInfo structure pointer callParam is passed a pointer to a NotifyModAddDelParam.

◆ NOTIFY_POST_MODIFIER_ADDED

NotifyCode NOTIFY_POST_MODIFIER_ADDED = 0x00000072
inlineconstexpr

Sent after a modifier is added to an object.

The NotifyInfo structure pointer callParam is passed a pointer to a NotifyModAddDelParam.

◆ NOTIFY_PRE_MODIFIER_DELETED

NotifyCode NOTIFY_PRE_MODIFIER_DELETED = 0x00000073
inlineconstexpr

Sent before a modifier is deleted from an object.

The NotifyInfo structure pointer callParam is passed a pointer to a NotifyModAddDelParam.

◆ NOTIFY_POST_MODIFIER_DELETED

NotifyCode NOTIFY_POST_MODIFIER_DELETED = 0x00000074
inlineconstexpr

Sent after a modifier is deleted from an object.

The NotifyInfo structure pointer callParam is passed a pointer to a NotifyModAddDelParam.

◆ NOTIFY_PRE_NODES_CLONED

NotifyCode NOTIFY_PRE_NODES_CLONED = 0x00000086
inlineconstexpr

Sent before each set of clones is created.

For example, if there are N nodes cloned C times, the notification is sent C times. The NotifyInfo::callParam for NOTIFY_PRE_NODES_CLONED is a pointer to the array of nodes that will be cloned (the original nodes): INodeTab* origNodes

◆ NOTIFY_POST_NODES_CLONED

NotifyCode NOTIFY_POST_NODES_CLONED = 0x00000087
inlineconstexpr

Sent after each set of clones is created.

For example, if there are N nodes cloned C times, the notification is sent C times. The NotifyInfo::callParam for NOTIFY_POST_NODES_CLONED is a pointer to NotifyPostNodesCloned

◆ NOTIFY_SYSTEM_PRE_DIR_CHANGE

NotifyCode NOTIFY_SYSTEM_PRE_DIR_CHANGE = 0x00000089
inlineconstexpr

Sent before a system path changes.

Originally intended to notify the tool palette if the Catalog's dir changes from the Configure Path dialog.

◆ NOTIFY_SYSTEM_POST_DIR_CHANGE

NotifyCode NOTIFY_SYSTEM_POST_DIR_CHANGE = 0x0000008A
inlineconstexpr

Sent after a system path has changed.

Originally intended to notify the tool palette if the Catalog's dir changes from the Configure Path dialog.

◆ NOTIFY_SV_SELECTIONSET_CHANGED

NotifyCode NOTIFY_SV_SELECTIONSET_CHANGED = 0x0000008C
inlineconstexpr

Schematic view notification.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

◆ NOTIFY_SV_DOUBLECLICK_GRAPHNODE

NotifyCode NOTIFY_SV_DOUBLECLICK_GRAPHNODE = 0x0000008D
inlineconstexpr

Schematic view notification.

NotifyInfo::callParam is IGraphNode*

◆ NOTIFY_PRE_RENDERER_CHANGE

NotifyCode NOTIFY_PRE_RENDERER_CHANGE = 0x0000008E
inlineconstexpr

Sent before the renderer changes.

NotifyInfo::callParam is the RenderSettingID enum value

◆ NOTIFY_POST_RENDERER_CHANGE

NotifyCode NOTIFY_POST_RENDERER_CHANGE = 0x0000008F
inlineconstexpr

Sent after the renderer changes.

NotifyInfo::callParam is the RenderSettingID enum value

◆ NOTIFY_SV_PRE_LAYOUT_CHANGE

NotifyCode NOTIFY_SV_PRE_LAYOUT_CHANGE = 0x00000090
inlineconstexpr

Sent before a schematic view layout change is made.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

◆ NOTIFY_SV_POST_LAYOUT_CHANGE

NotifyCode NOTIFY_SV_POST_LAYOUT_CHANGE = 0x00000091
inlineconstexpr

Sent after a schematic view layout change is made.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

◆ NOTIFY_LAYER_CREATED

NotifyCode NOTIFY_LAYER_CREATED = 0x00000094
inlineconstexpr

Sent after a layer is added to layer manager.

NotifyInfo::callParam is a pointer to ILayer.

◆ NOTIFY_LAYER_DELETED

NotifyCode NOTIFY_LAYER_DELETED = 0x00000095
inlineconstexpr

Sent before layer is removed from layer manager; NotifyInfo::callParam is a pointer to ILayer.

◆ NOTIFY_NODE_LAYER_CHANGED

NotifyCode NOTIFY_NODE_LAYER_CHANGED = 0x00000096
inlineconstexpr

NotifyInfo::callParam is a pointer to LayerChange.

newLayer and oldLayer can be NULL when switching between layers, during create, and when loading files Layers may not be present in layer manager when sent during file load/merge

◆ NOTIFY_TABBED_DIALOG_CREATED

NotifyCode NOTIFY_TABBED_DIALOG_CREATED = 0x00000097
inlineconstexpr

Sent when a tabbed dialog is created.

NotifyInfo::callParam is point to the dialogID (Class_ID).

◆ NOTIFY_TABBED_DIALOG_DELETED

NotifyCode NOTIFY_TABBED_DIALOG_DELETED = 0x00000098
inlineconstexpr

Sent when a tabbed dialog is deleted.

NotifyInfo::callParam is a pointer to the dialogID (Class_ID).

◆ NOTIFY_NODE_NAME_SET

NotifyCode NOTIFY_NODE_NAME_SET = 0x00000099
inlineconstexpr

Sent by BaseNode::SetName.

NotifyInfo::callParam is pointer to NodeNameSetParam

◆ NOTIFY_HW_TEXTURE_CHANGED

NotifyCode NOTIFY_HW_TEXTURE_CHANGED = 0x0000009A
inlineconstexpr

Sent by the Material Editor when the "use texture in hardware shader" button is pressed.

◆ NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC

NotifyCode NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC = 0x0000009D
inlineconstexpr

Sent before an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.

◆ NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC

NotifyCode NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC = 0x0000009E
inlineconstexpr

Sent after an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.

◆ NOTIFY_SCENESTATE_PRE_SAVE

NotifyCode NOTIFY_SCENESTATE_PRE_SAVE = 0x0000009F
inlineconstexpr

Sent before a Scene State is saved.

◆ NOTIFY_SCENESTATE_POST_SAVE

NotifyCode NOTIFY_SCENESTATE_POST_SAVE = 0x000000A0
inlineconstexpr

Sent after a Scene State is saved.

◆ NOTIFY_SCENESTATE_PRE_RESTORE

NotifyCode NOTIFY_SCENESTATE_PRE_RESTORE = 0x000000A1
inlineconstexpr

Sent before a Scene State is restored.

◆ NOTIFY_SCENESTATE_POST_RESTORE

NotifyCode NOTIFY_SCENESTATE_POST_RESTORE = 0x000000A2
inlineconstexpr

Sent after a Scene State is restored.

◆ NOTIFY_SCENESTATE_DELETE

NotifyCode NOTIFY_SCENESTATE_DELETE = 0x000000A3
inlineconstexpr

Sent after a Scene State is deleted.

◆ NOTIFY_SCENE_PRE_UNDO

NotifyCode NOTIFY_SCENE_PRE_UNDO = 0x000000A5
inlineconstexpr

Sent before an Undo starts.

◆ NOTIFY_SCENE_PRE_REDO

NotifyCode NOTIFY_SCENE_PRE_REDO = 0x000000A6
inlineconstexpr

Sent before a Redo starts.

Allows a developer to get an accurate picture of what the undo/redo is doing, and not having to rely on calling RestoreOrRedoing(). This solves a problem of evaluating a node during an undo when the hold system was active, but wasn't initiated from either script or the UI. An example is right- clicking to cancel object creation

◆ NOTIFY_CLASSDESC_REPLACED

NotifyCode NOTIFY_CLASSDESC_REPLACED = 0x000000AC
inlineconstexpr

Provides a notification that a ClassDesc is being replaced by another one.

This occurs when the dll containing a deferred loaded plugin is loaded. NotifyInfo::callParam is pointer to ClassDescReplaced.

◆ NOTIFY_FILE_PRE_OPEN_PROCESS

NotifyCode NOTIFY_FILE_PRE_OPEN_PROCESS = 0x000000AD
inlineconstexpr

◆ NOTIFY_FILE_POST_OPEN_PROCESS

NotifyCode NOTIFY_FILE_POST_OPEN_PROCESS = 0x0000008B
inlineconstexpr

◆ NOTIFY_FILE_PRE_SAVE_PROCESS

NotifyCode NOTIFY_FILE_PRE_SAVE_PROCESS = 0x000000AE
inlineconstexpr

◆ NOTIFY_FILE_POST_SAVE_PROCESS

NotifyCode NOTIFY_FILE_POST_SAVE_PROCESS = 0x000000AF
inlineconstexpr

◆ NOTIFY_CLASSDESC_LOADED

NotifyCode NOTIFY_CLASSDESC_LOADED = 0x000000B0
inlineconstexpr

Sent after a ClassDesc was successfully loaded from a plugin dll.

Remarks
For each non NULL class descriptor returned by a plugin's ClassDesc* LibClassDesc(int i) method, the system broadcasts this notification. The call parameter will be a pointer to the ClassDesc.
See also
~{ Required DLL Functions }~

◆ NOTIFY_TOOLBARS_PRE_LOAD

NotifyCode NOTIFY_TOOLBARS_PRE_LOAD = 0x000000B1
inlineconstexpr

This provides a notification that a toolbar configuration is being loaded, prior to load.

NotifyInfo::callParam is a pointer to a string (MCHAR*) and is NULL if the default file is being loaded, or the full path to the file being loaded

◆ NOTIFY_TOOLBARS_POST_LOAD

NotifyCode NOTIFY_TOOLBARS_POST_LOAD = 0x000000B2
inlineconstexpr

This provides a notification that a toolbar configuration is being loaded, after the load.

NotifyInfo::callParam is a pointer to a string (MCHAR*) and is NULL if the default file is being loaded, or the full path to the file being loaded

◆ NOTIFY_FILE_CHECK_STATUS

NotifyCode NOTIFY_FILE_CHECK_STATUS = 0x000000B7
inlineconstexpr

Allows a plugin to query the system for the status of the file before max saves the max scene file.

NotifyInfo::callParam is a pointer to a NotifyFileCheckStatus. Plugins that register for this notification can add to the iStatus member as needed, but should not clear any bits already in iStatus. Valid status masks for iStatus are defined next to the definition of NotifyFileCheckStatus. This is only sent when a scene is saved normally, not for a hold/fetch nor for an autosave.

◆ NOTIFY_NAMED_SEL_SET_CREATED

NotifyCode NOTIFY_NAMED_SEL_SET_CREATED = 0x000000B8
inlineconstexpr

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the created named set.

◆ NOTIFY_NAMED_SEL_SET_DELETED

NotifyCode NOTIFY_NAMED_SEL_SET_DELETED = 0x000000B9
inlineconstexpr

Sent when a Named selection set is deleted either in the UI, or via maxscript.

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the deleted named set.

◆ NOTIFY_NAMED_SEL_SET_PRE_MODIFY

NotifyCode NOTIFY_NAMED_SEL_SET_PRE_MODIFY = 0x000000CA
inlineconstexpr

The following notification will be sent when the node set of a named selection set begins to be changed.

For e.g., add/remove nodes to/from a named selection set,or completely replace the node set of a named selection set.

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the modified named set.

Note
When modifying a specified named selection set, it will first be deleted then created with the same name when deleted. So both NOTIFY_NAMED_SEL_SET_CREATED and NOTIFY_NAMED_SEL_SET_DELETED will be broadcast during this process. In order to stress that this is a modification to an existing named selection set rather than two irrelevant operations as deleting one set then creating another set, we send two additional notifications as NOTIFY_NAMED_SEL_SET_PRE_MODIFY and NOTIFY_NAMED_SEL_SET_POST_MODIFY in the very beginning and ending of a modification to a named set. For users who needs to be informed of a modification of a named set, they should register to these two notifications and ignore only NOTIFY_NAMED_SEL_SET_DELETED and NOTIFY_NAMED_SEL_SET_CREATED(even this applies to the current state of the code) that is received between the pair of NOTIFY_NAMED_SEL_SET_PRE_MODIFY and NOTIFY_NAMED_SEL_SET_POST_MODIFY.

◆ NOTIFY_NAMED_SEL_SET_POST_MODIFY

NotifyCode NOTIFY_NAMED_SEL_SET_POST_MODIFY = 0x000000CB
inlineconstexpr

The following notification will be sent when the node set of a named selection set has been changed.

◆ NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED

NotifyCode NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED = 0x000000BA
inlineconstexpr

Sent when the sub-object level changes in the modify panel.

◆ NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD

NotifyCode NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD = 0x000000BB
inlineconstexpr

Sent when a bitmap fails to load in the DirectX Shader Material.

This is usually when DirectX does not support the file format. The developer can register for this notification so that they can convert the the format into a DirectX texture resource. The developer is responsible for maintaining this resource, and can register for NOTIFY_D3D_POST_DEVICE_RESET to release and rebuild the resource on Lost device situations The callParam is a NotifyFailedDxMatTexLoad. From the material the developer can access the IEffectParser and use LoadTexture using the paramName. The forceUpdate will be set if this was an auto update of the bitmap from disk, or the user hit the reload button from the UI. The developer will need to release and rebuild the bitmap under these situations.

◆ NOTIFY_ANIM_LAYERS_ENABLED

NotifyCode NOTIFY_ANIM_LAYERS_ENABLED = 0x000000BE
inlineconstexpr

Sent just after animation layers are enabled on some nodes in the scene.

This notification is sent after layers are enabled, and new layer controller constructed. NotifyInfo::callParam is a pointer to the nodes which are having animation layers enabled.

◆ NOTIFY_ANIM_LAYERS_DISABLED

NotifyCode NOTIFY_ANIM_LAYERS_DISABLED = 0x000000BF
inlineconstexpr

Sent just after animation layers are disabled on some nodes in the scene.

This notification is sent after layers are disabled on some nodes, and the layer ends up deleted. NotifyInfo::callParam is a pointer to the nodes which are having animation layers disabled.

◆ NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE

NotifyCode NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE = 0x000000C0
inlineconstexpr

Sent just before an action item is overridden and IActionItemOverride::StartOveride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

◆ NOTIFY_ACTION_ITEM_POST_START_OVERRIDE

NotifyCode NOTIFY_ACTION_ITEM_POST_START_OVERRIDE = 0x000000C1
inlineconstexpr

Sent just after an action item is overridden and after IActionItemOverride::StartOveride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

◆ NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE

NotifyCode NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE = 0x000000C2
inlineconstexpr

Sent just before an action item finishes it's override and IActionItemOverride::EndOverride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

◆ NOTIFY_ACTION_ITEM_POST_END_OVERRIDE

NotifyCode NOTIFY_ACTION_ITEM_POST_END_OVERRIDE = 0x000000C3
inlineconstexpr

Sent just after an action item finishes it's override and after IActionItemOverride::EndOverride is called. *‍/.

NotifyInfo::callParam is a pointer to the ActionItem.

◆ NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED = 0x00000075
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_GENERAL_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_GENERAL_PROP_CHANGED = 0x00000076
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_GI_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_GI_PROP_CHANGED = 0x00000077
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_GI_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_GI_PROP_CHANGED = 0x00000078
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED = 0x00000079
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED = 0x00000080
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_BONE_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_BONE_PROP_CHANGED = 0x00000081
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_BONE_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_BONE_PROP_CHANGED = 0x00000082
inlineconstexpr

Sent after an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_USER_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_USER_PROP_CHANGED = 0x00000083
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_USER_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_USER_PROP_CHANGED = 0x00000084
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_RENDER_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_RENDER_PROP_CHANGED = 0x000000C4
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_RENDER_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_RENDER_PROP_CHANGED = 0x000000C5
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED = 0x000000C6
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED = 0x000000C7
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_NODE_BASIC_PROP_CHANGED

NotifyCode NOTIFY_PRE_NODE_BASIC_PROP_CHANGED = 0x000000C8
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_POST_NODE_BASIC_PROP_CHANGED

NotifyCode NOTIFY_POST_NODE_BASIC_PROP_CHANGED = 0x000000C9
inlineconstexpr

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

◆ NOTIFY_PRE_IMAGE_VIEWER_DISPLAY

NotifyCode NOTIFY_PRE_IMAGE_VIEWER_DISPLAY = 0x000000D2
inlineconstexpr

Sent when an image viewer (including the rendered frame window) is opened, before it becomes visible. *‍/.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed. The interface object may be used to add rollouts to the window in MaxScript.

◆ NOTIFY_POST_IMAGE_VIEWER_DISPLAY

NotifyCode NOTIFY_POST_IMAGE_VIEWER_DISPLAY = 0x000000D3
inlineconstexpr

Sent when an image viewer (including the rendered frame window) is opened, after it becomes visible. *‍/.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed.

◆ NOTIFY_IMAGE_VIEWER_UPDATE

NotifyCode NOTIFY_IMAGE_VIEWER_UPDATE = 0x000000D4
inlineconstexpr

Sent by an image viewer (or the rendered frame window) to request that its custom rollouts update their UI. *‍/.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed.

◆ NOTIFY_CUSTOM_ATTRIBUTES_ADDED

NotifyCode NOTIFY_CUSTOM_ATTRIBUTES_ADDED = 0x000000D5
inlineconstexpr

Sent after a custom attribute is added to an Animatable.

◆ NOTIFY_CUSTOM_ATTRIBUTES_REMOVED

NotifyCode NOTIFY_CUSTOM_ATTRIBUTES_REMOVED = 0x000000D6
inlineconstexpr

Sent after a custom attribute is removed from an Animatable.

◆ NOTIFY_CLASSDESC_ADDED

NotifyCode NOTIFY_CLASSDESC_ADDED = 0x000000DD
inlineconstexpr

Provides a notification that a new ClassDesc is being registered.

This occurs when dlls containing plugins are loaded, and when a ClassDesc is dynamically created and registered with 3ds Max (for example, when a scripted plugin is defined). When loading a dll containing plugins, for each plugin you will get a NOTIFY_CLASSDESC_LOADED notification followed by a NOTIFY_CLASSDESC_ADDED notification. When a ClassDesc is dynamically created and registered with 3ds Max, you will get just a NOTIFY_CLASSDESC_ADDED notification. CallParam is pointer to ClassDesc

◆ NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN

NotifyCode NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN = 0x000000DE
inlineconstexpr

NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN is sent immediately before object instances are updated to a new object definition.

MAXScript allows scripted plugin and scripted custom attribute definitions to be updated by re-evaluating the definition script. The new definition can add or remove local variables, parameter blocks, parameter block items, rollouts, and rollout controls. After the new definition is evaluated, existing plugin instances are converted to this new definition. This notification is sent immediately before the instances are converted to the new definition. The NotifyInfo structure pointer callParam is passed a pointer to a ObjectDefinitionChangeNotificationParam struct instance. Currently the only valid type value is kScriptedPlugin, which signifies a scripted plugin/custom attribute class description, and the definition is a pointer to ClassDesc2 A plugin may use this notification to, for example, control the rebuilding of rollout displays for instances of the plugins using the definition.

See also
REFMSG_OBJECT_DEFINITION_CHANGE_BEGIN, ObjectDefinitionChangeNotificationParam

◆ NOTIFY_OBJECT_DEFINITION_CHANGE_END

NotifyCode NOTIFY_OBJECT_DEFINITION_CHANGE_END = 0x000000DF
inlineconstexpr

NOTIFY_OBJECT_DEFINITION_CHANGE_END is sent immediately after object instances are updated to a new object definition.

MAXScript allows scripted plugin and scripted custom attribute definitions to be updated by re-evaluating the definition script. The new definition can add or remove local variables, parameter blocks, parameter block items, rollouts, and rollout controls. After the new definition is evaluated, existing plugin instances are converted to this new definition. This notification is sent immediately after the instances are converted to the new definition. The NotifyInfo structure pointer callParam is passed a pointer to a ObjectDefinitionChangeNotificationParam struct instance. Currently the only valid type value is kScriptedPlugin, which signifies a scripted plugin/custom attribute class description, and the definition is a pointer to ClassDesc2 A plugin may use this notification to, for example, control the rebuilding of rollout displays for instances of the plugins using the definition.

See also
REFMSG_OBJECT_DEFINITION_CHANGE_END, ObjectDefinitionChangeNotificationParam

◆ NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN

NotifyCode NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN = 0x000000E0
inlineconstexpr

Sent when a MtlBase is about to show its UI with Associated parameter rollouts when being edited in a material editor.

NotifyInfo::callParam is a pointer to the MtlBase that is about to show its UI.

◆ NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE

NotifyCode NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE = 0x000000E1
inlineconstexpr

Sent when a MtlBase has finished its editing in the material editor and the UI with Associated parameter rollouts have been closed.

NotifyInfo::callParam is a pointer to the MtlBase that has closed its UI.

◆ NOTIFY_PRE_VIEWPORT_DELETE

NotifyCode NOTIFY_PRE_VIEWPORT_DELETE = 0x000000E4
inlineconstexpr

Sent before a viewport is deleted. It usually occurs when removing a view tab.

NotifyInfo::callParam is the HWND of the viewport to be deleted.

◆ NOTIFY_PRE_WORKSPACE_CHANGE

NotifyCode NOTIFY_PRE_WORKSPACE_CHANGE = 0x000000E5
inlineconstexpr

Sent before a CUI workspace is about to change NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI is changing to.

◆ NOTIFY_POST_WORKSPACE_CHANGE

NotifyCode NOTIFY_POST_WORKSPACE_CHANGE = 0x000000E6
inlineconstexpr

Sent after a CUI workspace has changed NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI has changed to.

◆ NOTIFY_TOOLBARS_PRE_SAVE

NotifyCode NOTIFY_TOOLBARS_PRE_SAVE = 0x000000EB
inlineconstexpr

This provides a notification that a toolbar configuration is being saved, prior to save.

NotifyInfo::callParam is a pointer to a string (MCHAR*), which is NULL for the default save file, or the full path to the file being saved.

◆ NOTIFY_TOOLBARS_POST_SAVE

NotifyCode NOTIFY_TOOLBARS_POST_SAVE = 0x000000EC
inlineconstexpr

This provides a notification that a toolbar configuration is being saved, after the save.

NotifyInfo::callParam is a pointer to a string (MCHAR*), which is NULL for the default save file, or the full path to the file being saved.

◆ NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE

NotifyCode NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE = 0x000000F2
inlineconstexpr

Called after the safe frame has been toggled on/off for the viewport.

Note
This sets a dirty flag on the view and some values on the ViewExp class might take a message pump to make sense with this update.

◆ NOTIFY_CUI_MENUS_POST_LOAD

NotifyCode NOTIFY_CUI_MENUS_POST_LOAD = 0x000000F5
inlineconstexpr

Called after a menu file has been loaded and the menu bar updated.

NotifyInfo::callParam is a pointer to a string (MCHAR*), which is the full path to the file that was loaded.

◆ NOTIFY_LAYER_PARENT_CHANGED

NotifyCode NOTIFY_LAYER_PARENT_CHANGED = 0x000000F6
inlineconstexpr

Sent after the parent of a layer was changed.

NotifyInfo::callParam is a pointer on the struct LayerParentChange. layerChanged is the pointer on the layer that has changed parent. oldParent is the pointer on the old parent of the layer. The new parent can easily be obtained by calling layerChanged.GetParentLayer(). The new parent can be NULL, which mean that the layer is at the top level.

◆ NOTIFY_ACTION_ITEM_EXECUTION_STARTED

NotifyCode NOTIFY_ACTION_ITEM_EXECUTION_STARTED = 0x000000F7
inlineconstexpr

Sent when an action item starts executing.

This notification is sent without regard of how the action item was invoked (hot-key, menu item, toolbar button, etc). NotifyInfo::callParam is a pointer to the ActionItem instance.

◆ NOTIFY_ACTION_ITEM_EXECUTION_ENDED

NotifyCode NOTIFY_ACTION_ITEM_EXECUTION_ENDED = 0x000000F8
inlineconstexpr

Sent when an action item finished executing.

This notification is sent without regard of how the action item was invoked (hot-key, menu item, toolbar button, etc). NotifyInfo::callParam is a pointer to the ActionItem instance.

◆ NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED

NotifyCode NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED = 0x000000F9
inlineconstexpr

Sent when the user starts creating a plug-in instance.

Examples of when this notification is sent include interactive creation of objects via the Create and Modify panels or the main menu. This notification is not sent when plug-in instances are created programmatically (SDK, Maxscript, python etc). NotifyInfo::callParam is a pointer to the ClassDesc instance describing the plug-in whose instance is created.

◆ NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED

NotifyCode NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED = 0x000000FA
inlineconstexpr

Sent when the user ends creating a plug-in instance.

This notification is not sent when plug-in instances are created programmatically (SDK, Maxscript, python etc). NotifyInfo::callParam is a pointer to the ClassDesc instance describing the plug-in whose instance has been created. See NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED.

◆ NOTIFY_PRE_VIEWPORT_TOOLTIP

NotifyCode NOTIFY_PRE_VIEWPORT_TOOLTIP = 0x000000FD
inlineconstexpr

Sent before viewport tooltip pops. NotifyInfo::callParam is a INode* to the tip node.

◆ NOTIFY_FILE_POST_MERGE3

NotifyCode NOTIFY_FILE_POST_MERGE3 = 0x0000010B
inlineconstexpr

Sent after a file is merged.

◆ NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED

NotifyCode NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED = 0x0000010C
inlineconstexpr

Sent when ActiveShade in the frame buffer is toggled on/off.

NotifyInfo::callParam is a pointer to a BOOL which is TRUE if ActiveShade in the frame buffer is being switched on or FALSE if it's being switched off. Please note that toggling ActiveShade in the viewport generates a different notification, namely NOTIFY_ACTIVESHADE_IN_VIEWPORT_TOGGLED

◆ NOTIFY_PRE_ACTIVESHADE_IN_VIEWPORT_TOGGLED

NotifyCode NOTIFY_PRE_ACTIVESHADE_IN_VIEWPORT_TOGGLED = 0x0000010D
inlineconstexpr

Sent before ActiveShade in the viewport is toggled on/off.

NotifyInfo::callParam is a pointer to a BOOL which is TRUE if ActiveShade is being switched on or FALSE if it's being switched off. Please note that toggling ActiveShade in the frame buffer generates a different notification, namely NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED

◆ NOTIFY_POST_ACTIVESHADE_IN_VIEWPORT_TOGGLED

NotifyCode NOTIFY_POST_ACTIVESHADE_IN_VIEWPORT_TOGGLED = 0x0000010E
inlineconstexpr

Sent after ActiveShade in the viewport is toggled on/off.

NotifyInfo::callParam is a pointer to a BOOL which is TRUE if ActiveShade is being switched on or FALSE if it's being switched off. Please note that toggling ActiveShade in the frame buffer generates a different notification, namely NOTIFY_ACTIVESHADE_IN_FRAMEBUFFER_TOGGLED

◆ NOTIFY_COLOR_MANAGEMENT_POST_CHANGE

NotifyCode NOTIFY_COLOR_MANAGEMENT_POST_CHANGE = 0x00000110
inlineconstexpr

Sent after the system color management settings are changed, this includes mode changes, system-wide gamma setting or changes to color config.

At this point all the new settings will be available through the IColorPipelineMgr interface but changes may not have propagated through the system yet (for example bitmaps may still have the old color spaces assigned to them). If you want to get notifications after the first wave of updates, then please listen to the NOTIFY_COLOR_MANAGEMENT_POST_CHANGE2 message. NotifyInfo::callParam is a pointer to uint32_t which holds one or more MaxSDK::ColorMangement::NotificationChangeMask bits indicating what has changed.

◆ NOTIFY_COLOR_MANAGEMENT_POST_CHANGE2

NotifyCode NOTIFY_COLOR_MANAGEMENT_POST_CHANGE2 = 0x00000111
inlineconstexpr

Sent right after the NOTIFY_COLOR_MANAGEMENT_POST_CHANGE notification, signaling that all entities listening to the NOTIFY_COLOR_MANAGEMENT_POST_CHANGE notification has finished responding to it.

If there were changes in the input color spaces, at this point all the bitmaps in the system will have new color spaces assigned to them. NotifyInfo::callParam is a pointer to uint32_t which holds one or more MaxSDK::ColorMangement::NotificationChangeMask bits indicating what has changed.

◆ NOTIFY_CUI_REGISTER_QUAD_MENUS

NotifyCode NOTIFY_CUI_REGISTER_QUAD_MENUS = 0x00000112
inlineconstexpr

NotifyInfo::callParam is a pointer to the ICuiQuadMenuManager loading the menu structure.

◆ NOTIFY_CUI_MENUS_PRE_LOAD

NotifyCode NOTIFY_CUI_MENUS_PRE_LOAD = 0x00000117
inlineconstexpr

: Sent before menu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that will be loaded

◆ NOTIFY_CUI_QUAD_MENUS_PRE_LOAD

NotifyCode NOTIFY_CUI_QUAD_MENUS_PRE_LOAD = 0x00000118
inlineconstexpr

: Sent befoe quadmenu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that will be loaded

◆ NOTIFY_CUI_QUAD_MENUS_POST_LOAD

NotifyCode NOTIFY_CUI_QUAD_MENUS_POST_LOAD = 0x00000119
inlineconstexpr

: Sent after quadmenu structure is loaded NotifyInfo::callParam is a string (MCHAR*) containing the path of the file that has been loaded

◆ NOTIFY_CUI_REGISTER_MENUS

NotifyCode NOTIFY_CUI_REGISTER_MENUS = 0x00000120
inlineconstexpr

Sent when the standard menu structure is loaded.

NotifyInfo::callParam is a pointer to the ICuiMenuManager loading the menu structure.

◆ NOTIFY_SCENESTATE_RENAME

NotifyCode NOTIFY_SCENESTATE_RENAME = 0x000000A4
inlineconstexpr

Sent after a Scene State is renamed.

NotifyInfo::callParam is pointer to NameChange

◆ NOTIFY_NAMED_SEL_SET_RENAMED

NotifyCode NOTIFY_NAMED_SEL_SET_RENAMED = 0x000000BC
inlineconstexpr

Sent when a Named selection set name is changed, either in the old UI, or via maxscript.

NotifyInfo::callParam is a pointer to the struct NameChange of the changed named set.