Classes | Defines | Typedefs | Functions

notify.h File Reference

This reference page is linked to from the following overview topics: Broadcast Notification System, Deferred Loading of Plug-ins.


#include "maxheap.h"
#include "coreexp.h"
#include "strbasic.h"

Go to the source code of this file.

Classes

struct   NotifyInfo
  3ds Max supports a system where a plug-in can ask to receive a callback when certain events occur. More...
class   CreateInstanceCallParam
struct   NotifyPreEval_FrameInfo
  The call parameter that accompanies the notification code NOTIFY_RENDER_PREEVAL_FRAMEINFO is a pointer to this struct, which contains information about the view and the frame to be rendered. More...
struct   NameChange
  The name change call parameter structure. More...
struct   ObjectDefinitionChangeNotificationParam
  The object redefinition call parameter structure. More...

Defines

#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_SYSTEM_PRE_NEW   0x00000007
  Sent before a new scene is requested.
#define  NOTIFY_SYSTEM_POST_NEW   0x00000008
  Sent after a new scene requested has been serviced.
#define  NOTIFY_FILE_PRE_OPEN   0x00000009
  Sent before a file is opened. NotifyInfo::callParam is a value of type FileIOType.
#define  NOTIFY_FILE_POST_OPEN   0x0000000A
  Sent after a file is opened successfully. NotifyInfo::callParam is a value of type FileIOType.
#define  NOTIFY_FILE_PRE_MERGE   0x0000000B
  Sent before a file is merged.
#define  NOTIFY_FILE_POST_MERGE   0x0000000C
  Sent after a file is merged successfully.
#define  NOTIFY_FILE_PRE_SAVE   0x0000000D
  Sent before a file is saved ( callParam is MCHAR * to file name )
#define  NOTIFY_FILE_POST_SAVE   0x0000000E
  Sent after a file is saved ( callParam is MCHAR * to file name )
#define  NOTIFY_FILE_OPEN_FAILED   0x0000000F
  Sent after a file open fails.
#define  NOTIFY_FILE_PRE_SAVE_OLD   0x00000010
  Sent before an old version file is saved.
#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_BITMAP_CHANGED   0x00000013
  Sent after a bitmap is reloaded.
#define  NOTIFY_PRE_RENDER   0x00000014
  Sent before rendering starts.
#define  NOTIFY_POST_RENDER   0x00000015
  Sent after rendering has finished.
#define  NOTIFY_PRE_RENDERFRAME   0x00000016
  Sent before rendering each frame.
#define  NOTIFY_POST_RENDERFRAME   0x00000017
  Sent after rendering each.
#define  NOTIFY_PRE_IMPORT   0x00000018
  Sent before a file is imported.
#define  NOTIFY_POST_IMPORT   0x00000019
  Sent after a file is imported successfully.
#define  NOTIFY_IMPORT_FAILED   0x0000001A
  Sent if a file import fails or is cancelled.
#define  NOTIFY_PRE_EXPORT   0x0000001B
  Sent before a file is exported.
#define  NOTIFY_POST_EXPORT   0x0000001C
  Sent after a file is exported successfully.
#define  NOTIFY_EXPORT_FAILED   0x0000001D
  Sent if a export fails or is cancelled.
#define  NOTIFY_NODE_RENAMED   0x0000001E
  These kinds of notifications are sent when the name of a target has been changed.
#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_HEIGHT_CHANGED   0x00000022
  VIZ Sent when the user operates the height menu.
#define  NOTIFY_RENDPARAM_CHANGED   0x00000023
  VIZ Sent when the common renderer parameters have changed.
#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_AB_NAVIGATE_URL   0x00000038
  VIZ request to load a URL into the Asset Browser.
#define  NOTIFY_RENDER_PREEVAL   0x00000039
  Sent before the renderer starts evaluating objects; callParam is pointer to TimeValue.
#define  NOTIFY_NODE_CREATED   0x0000003A
  Sent when a node is created (callParam is pointer to node)
#define  NOTIFY_NODE_LINKED   0x0000003B
  Sent when a node is linked (callParam is pointer to node)
#define  NOTIFY_NODE_UNLINKED   0x0000003C
  Sent when a node is unlinked (callParam is pointer to node)
#define  NOTIFY_NODE_HIDE   0x0000003D
  Sent when a node is hidden (callParam is pointer to node)
#define  NOTIFY_NODE_UNHIDE   0x0000003E
  Sent when a node is unhidden (callParam is pointer to node)
#define  NOTIFY_NODE_FREEZE   0x0000003F
  Sent when a node is frozen (callParam is pointer to node)
#define  NOTIFY_NODE_UNFREEZE   0x00000040
  Sent when a node is unfrozen (callParam is pointer to node)
#define  NOTIFY_NODE_PRE_MTL   0x00000041
  Node is about to get a new material (callParam is pointer to node)
#define  NOTIFY_NODE_POST_MTL   0x00000042
  Node just got a new material (callParam is pointer to node)
#define  NOTIFY_SCENE_ADDED_NODE   0x00000043
  Node just added to scene (callParam is pointer to node)
#define  NOTIFY_SCENE_PRE_DELETED_NODE   0x00000044
  Node just removed from scene (callParam is pointer to node)
#define  NOTIFY_SCENE_POST_DELETED_NODE   0x00000045
  Node just removed from scene.
#define  NOTIFY_SEL_NODES_PRE_DELETE   0x00000046
  selected nodes will be deleted. (callParam is pointer to Tab<INode*>)
#define  NOTIFY_SEL_NODES_POST_DELETE   0x00000047
  Selected nodes just deleted.
#define  NOTIFY_WM_ENABLE   0x00000048
  Sent when main window gets an WM_ENABLE (BOOL enabled)
#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_PLUGIN_LOADED   0x00000051
  A plug-in was just loaded. (callParam is pointer to DllDesc)
#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_RADIOSITYPROCESS_STARTED   0x00000058
  Sent when radiosity processing is started.
#define  NOTIFY_RADIOSITYPROCESS_STOPPED   0x00000059
  Sent when radiosity processing is stopped, but not done.
#define  NOTIFY_RADIOSITYPROCESS_RESET   0x0000005A
  Sent when radiosity processing is reset.
#define  NOTIFY_RADIOSITYPROCESS_DONE   0x0000005B
  Sent when radiosity processing is complete.
#define  NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE   0x0000005C
  Sent when lighting unit display system is changed.
#define  NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP   0x0000005D
  Sent when starting to render a reflect/refract map.
#define  NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME   0x0000005E
  Sent when starting to render the full frame.
#define  NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE   0x0000005F
  Sent when starting to render a tone-mapping image.
#define  NOTIFY_RADIOSITY_PLUGIN_CHANGED   0x00000060
  Sent when the radiosity plugin is changed (a new one is assigned)
#define  NOTIFY_SCENE_UNDO   0x00000061
  Sent on scene undo (callParam is MCHAR* with the undo entry name)
#define  NOTIFY_SCENE_REDO   0x00000062
  Sent on scene redo (callParam is MCHAR* with the redo entry name)
#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_MIRROR_NODES   0x00000069
  Sent before a mirror operation begins.
#define  NOTIFY_POST_MIRROR_NODES   0x0000006A
  Sent after a mirror operation ends.
#define  NOTIFY_NODE_CLONED   0x0000006B
  Sent after a node is cloned but before theHold.Accept(..) (callParam is pointer to node)
#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_MTL_REFADDED   0x0000006E
  Sent by Mtl::RefAdded(). CallParam is Mtl pointer.
#define  NOTIFY_MTL_REFDELETED   0x0000006F
  Sent by Mtl::FefDeleted(). CallParam is Mtl pointer.
#define  NOTIFY_TIMERANGE_CHANGE   0x00000070
  Sent after the animate time range has been changed.
#define  NOTIFY_PRE_MODIFIER_ADDED   0x00000071
  Sent before a modifier is added to an object.
#define  NOTIFY_POST_MODIFIER_ADDED   0x00000072
  Sent after a modifier is added to an object.
#define  NOTIFY_PRE_MODIFIER_DELETED   0x00000073
  Sent before a modifier is deleted from an object.
#define  NOTIFY_POST_MODIFIER_DELETED   0x00000074
  Sent after a modifier is deleted from an object.
#define  NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085
  Sent after all of the new objects for a reload have been created.
#define  NOTIFY_PRE_NODES_CLONED   0x00000086
  Sent before each set of clones is created.
#define  NOTIFY_POST_NODES_CLONED   0x00000087
  Sent after each set of clones is created.
#define  NOTIFY_POST_MERGE_PROCESS   0x00000088
#define  NOTIFY_SYSTEM_PRE_DIR_CHANGE   0x00000089
  Sent before a system path changes.
#define  NOTIFY_SYSTEM_POST_DIR_CHANGE   0x0000008A
  Sent after a system path has changed.
#define  NOTIFY_SV_SELECTIONSET_CHANGED   0x0000008C
  Schematic view notification.
#define  NOTIFY_SV_DOUBLECLICK_GRAPHNODE   0x0000008D
  Schematic view notification.
#define  NOTIFY_PRE_RENDERER_CHANGE   0x0000008E
  Sent before the renderer changes.
#define  NOTIFY_POST_RENDERER_CHANGE   0x0000008F
  Sent after the renderer changes.
#define  NOTIFY_SV_PRE_LAYOUT_CHANGE   0x00000090
  Sent before a schematic view layout change is made.
#define  NOTIFY_SV_POST_LAYOUT_CHANGE   0x00000091
  Sent after a schematic view layout change is made.
#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_LAYER_CREATED   0x00000094
  Sent after layer is added to layer manager.
#define  NOTIFY_LAYER_DELETED   0x00000095
  Sent before layer is removed from layer manager; callParam is ptr to ILayer.
#define  NOTIFY_NODE_LAYER_CHANGED   0x00000096
  callParam is ptr to struct{ INode* node; ILayer* oldLayer; ILayer* newLayer;}
#define  NOTIFY_TABBED_DIALOG_CREATED   0x00000097
  Sent when a tabbed dialog is created.
#define  NOTIFY_TABBED_DIALOG_DELETED   0x00000098
  Sent when a tabbed dialog is deleted.
#define  NOTIFY_NODE_NAME_SET   0x00000099
  Sent by BaseNode::SetName.
#define  NOTIFY_HW_TEXTURE_CHANGED   0x0000009A
  Sent by the Material Editor when the "use texture in hardware shader" button is pressed.
#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_ACTION_ITEM_PRE_EXEC   0x0000009D
  Sent before an action item is executed NotifyInfo::callParam is ActionItem*.
#define  NOTIFY_ACTION_ITEM_POST_EXEC   0x0000009E
  Sent after an action item is executed.
#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_CLASSDESC_REPLACED   0x000000AC
  Provides a notification that a ClassDesc is being replaced by another one.
#define  NOTIFY_CLASSDESC_LOADED   0x000000B0
  Sent after a ClassDesc was successfully loaded from a plugin dll.
#define  NOTIFY_TOOLBARS_PRE_LOAD   0x000000B1
  This provides a notification that a toolbar configuration is being loaded, prior to load.
#define  NOTIFY_TOOLBARS_POST_LOAD   0x000000B2
  This provides a notification that a toolbar configuration is being loaded, after the load.
#define  NOTIFY_FILE_CHECK_STATUS   0x000000B7
  Allows a plugin to query the system for the status of the specified file.
#define  NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED   0x000000BA
  Sent when the sub-object level changes in the modify panel.
#define  NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD   0x000000BB
  Sent when a bitmap fails to load in the DirectX Shader Material.
#define  NOTIFY_RENDER_PREEVAL_FRAMEINFO   0x000000BC
  Sent just after NOTIFY_RENDER_PREEVAL.
#define  NOTIFY_POST_SCENE_RESET   0x000000BD
  Sent just after deleting all refs in existing scene.
#define  NOTIFY_ANIM_LAYERS_ENABLED   0x000000BE
  Sent just after animation layers are enabled on some nodes in the scene.
#define  NOTIFY_ANIM_LAYERS_DISABLED   0x000000BF
  Sent just after animation layers are disabled on some nodes in the scene.
#define  NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE   0x000000C0
  Sent just before an action item is overridden and IActionItemOverride::StartOveride is called.
#define  NOTIFY_ACTION_ITEM_POST_START_OVERRIDE   0x000000C1
  Sent just after an action item is overridden and after IActionItemOverride::StartOveride is called.
#define  NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE   0x000000C2
  Sent just before an action item finishes it's override and IActionItemOverride::EndOverride is called.
#define  NOTIFY_ACTION_ITEM_POST_END_OVERRIDE   0x000000C3
  Sent just after an action item finishes it's override and after IActionItemOverride::EndOverride is called. */.
#define  NOTIFY_SELECTION_LOCK   0x000000D0
  Sent when selection lock is triggered. */.
#define  NOTIFY_SELECTION_UNLOCK   0x000000D1
  Sent when selection unlock is triggered. */.
#define  NOTIFY_PRE_IMAGE_VIEWER_DISPLAY   0x000000D2
  Sent when an image viewer (including the rendered frame window) is opened, before it becomes visible. */.
#define  NOTIFY_POST_IMAGE_VIEWER_DISPLAY   0x000000D3
  Sent when an image viewer (including the rendered frame window) is opened, after it becomes visible. */.
#define  NOTIFY_IMAGE_VIEWER_UPDATE   0x000000D4
  Sent by an image viewer (or the rendered frame window) to request that its custom rollouts update their UI. */.
#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_CLASSDESC_ADDED   0x000000DD
  Provides a notification that a new ClassDesc is being registered.
#define  NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN   0x000000DE
  NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN is sent immediately before object instances are updated to a new object definition.
#define  NOTIFY_OBJECT_DEFINITION_CHANGE_END   0x000000DF
  NOTIFY_OBJECT_DEFINITION_CHANGE_END is sent immediately after object instances are updated to a new object definition.
#define  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.
#define  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.
#define  NOTIFY_APP_FRAME_THEME_CHANGED   0x000000E2
  Sent when the application theme is changed via IColorManager::SetAppFrameColorTheme().
#define  NOTIFY_INTERNAL_USE_START   0x70000000
#define  PRE_NEW_NEW_ALL   0x1
  All objects are deleted, including their animation data.
#define  PRE_NEW_KEEP_OBJECTS   0x2
  Objects are not deleted, hierarchical links between them and animation data are deleted.
#define  PRE_NEW_KEEP_OBJECTS_AND_HIERARCHY   0x3
  Objects and hierarchical links between them are not deleted, animation data is deleted.
#define  FILE_PROCESS_SCENE   0x1
#define  FILE_PROCESS_HOLD_FETCH   0x2
#define  FILE_PROCESS_AUTOBAK   0x3
Material Library File Notifications
#define  NOTIFY_MATLIB_PRE_OPEN   0x00000024
  Sent before loading a material library.
#define  NOTIFY_MATLIB_POST_OPEN   0x00000025
  Sent after 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

#define  NOTIFY_SCENE_XREF_PRE_MERGE   0x00000065
  Sent before an XRef scene is merged.
#define  NOTIFY_SCENE_XREF_POST_MERGE   0x00000066
  Sent after an XRef scene is successfully merged (callParam is INode* pointer to scene XRef tree)
#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 CallParam as a MCHAR* with the SceneState name except for NOTIFY_SCENESTATE_RENAME

#define  NOTIFY_SCENESTATE_PRE_SAVE   0x0000009F
  Sent before a Scene State is saved.
#define  NOTIFY_SCENESTATE_POST_SAVE   0x000000A0
  Sent after a Scene State is saved.
#define  NOTIFY_SCENESTATE_PRE_RESTORE   0x000000A1
  Sent before a Scene State is restored.
#define  NOTIFY_SCENESTATE_POST_RESTORE   0x000000A2
  Sent after a Scene State is restored.
#define  NOTIFY_SCENESTATE_DELETE   0x000000A3
  Sent after a Scene State is deleted.
#define  NOTIFY_SCENESTATE_RENAME   0x000000A4
  Sent after a Scene State is renamed.
Undo/Redo Notifications
#define  NOTIFY_SCENE_PRE_UNDO   0x000000A5
  Sent before an Undo starts.
#define  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 a CallParam that points to a struct{ int iProcessType; const MCHAR* filename; }.

See File Process Type

#define  NOTIFY_FILE_PRE_OPEN_PROCESS   0x000000AD
#define  NOTIFY_FILE_POST_OPEN_PROCESS   0x0000008B
#define  NOTIFY_FILE_PRE_SAVE_PROCESS   0x000000AE
#define  NOTIFY_FILE_POST_SAVE_PROCESS   0x000000AF
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
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.
#define  NOTIFY_NAMED_SEL_SET_CREATED   0x000000B8
  Sent when a Named selection set is created either in the UI, or via maxscript.
#define  NOTIFY_NAMED_SEL_SET_DELETED   0x000000B9
  Sent when a Named selection set is deleted either in the UI, or via maxscript.
#define  NOTIFY_NAMED_SEL_SET_RENAMED   0x000000BC
  Sent when a Named selection set name is changed, either in the old UI, or via maxscript.
#define  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.
#define  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.
Node Property Change Notifications

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

#define  NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED   0x00000075
#define  NOTIFY_POST_NODE_GENERAL_PROP_CHANGED   0x00000076
#define  NOTIFY_PRE_NODE_GI_PROP_CHANGED   0x00000077
#define  NOTIFY_POST_NODE_GI_PROP_CHANGED   0x00000078
#define  NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED   0x00000079
#define  NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED   0x00000080
#define  NOTIFY_PRE_NODE_BONE_PROP_CHANGED   0x00000081
#define  NOTIFY_POST_NODE_BONE_PROP_CHANGED   0x00000082
#define  NOTIFY_PRE_NODE_USER_PROP_CHANGED   0x00000083
#define  NOTIFY_POST_NODE_USER_PROP_CHANGED   0x00000084
#define  NOTIFY_PRE_NODE_RENDER_PROP_CHANGED   0x000000C4
#define  NOTIFY_POST_NODE_RENDER_PROP_CHANGED   0x000000C5
#define  NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED   0x000000C6
#define  NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED   0x000000C7
#define  NOTIFY_PRE_NODE_BASIC_PROP_CHANGED   0x000000C8
#define  NOTIFY_POST_NODE_BASIC_PROP_CHANGED   0x000000C9
Custom Attributes Notifications

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

The callParam is a pointer to a NotifyCustomAttribute structure (see custattrib.h)

#define  NOTIFY_CUSTOM_ATTRIBUTES_ADDED   0x000000D5
  Sent after a custom attribute is added to an Animatable.
#define  NOTIFY_CUSTOM_ATTRIBUTES_REMOVED   0x000000D6
  Sent after a custom attribute is removed from an Animatable.
File Attributes
#define  FILE_STATUS_READONLY   0x1

Typedefs

typedef void(*  NOTIFYPROC )(void *param, NotifyInfo *info)

Functions

CoreExport int  RegisterNotification (NOTIFYPROC proc, void *param, int code)
CoreExport int  UnRegisterNotification (NOTIFYPROC proc, void *param, int code)
CoreExport void  BroadcastNotification (int code)
CoreExport void  BroadcastNotification (int code, void *callParam)
CoreExport int  UnRegisterNotification (NOTIFYPROC proc, void *param)

Typedef Documentation

typedef void(* NOTIFYPROC)(void *param, NotifyInfo *info)

Definition at line 909 of file notify.h.


Function Documentation

CoreExport int RegisterNotification ( NOTIFYPROC  proc,
void *  param,
int  code 
)
Remarks:
This global function is called to establish the connection between the event and the callback.
Parameters:
proc The callback function called when the event occurs
param A pointer to a parameter which will be passed to the callback function
code Specifies which notification to register. See System Notification Codes.
Returns:
Value Nonzero if the event was registered; otherwise zero.
CoreExport int UnRegisterNotification ( NOTIFYPROC  proc,
void *  param,
int  code 
)
Remarks:
This global function is called to break the connection between the event and the callback. After this function executes the callback is no longer invoked when the event occurs.
Parameters:
proc The callback function called when the event occurs.
param This parameter must be identical to the param sent into RegisterNotification(). This function will only unregister a callback if this parameter equals the param sent in to the RegisterNotification() function.
code Specifies which notification to unregister. See System Notification Codes
Returns:
Nonzero if the event was unregistered; otherwise zero.
CoreExport void BroadcastNotification ( int  code )
Remarks:
Calling this global function causes the callback corresponding to the specified code to be called.
Parameters:
code Specifies which notification to broadcast. See System Notification Codes
CoreExport void BroadcastNotification ( int  code,
void *  callParam 
)
Remarks:
This global function is available in release 3.0 and later only.
This causes the callback corresponding to the specified code to be called and passes the specified void* parameter along to the callback.
Parameters:
code Specifies which notification to broadcast. See System Notification Codes
callParam This parameter is passed to the callback. See the code NOTIFY_BITMAP_CHANGED for an example of this in use.
CoreExport int UnRegisterNotification ( NOTIFYPROC  proc,
void *  param 
)
Remarks:
This global function unregisters the callback from all codes
Parameters:
proc The callback function called when the event occurs.
param A pointer to a parameter which will be passed to the callback function.
Returns:
Nonzero if the events were unregistered; otherwise zero.