Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #pragma once
00015 #include "maxheap.h"
00016 #include "coreexp.h"
00017 #include "strbasic.h"
00018
00019
00020 class View;
00021 class FrameRendParams;
00022 class INode;
00023 class ViewParams;
00024
00025
00035
00037 #define NOTIFY_UNITS_CHANGE 0x00000001
00038
00039 #define NOTIFY_TIMEUNITS_CHANGE 0x00000002
00040
00041 #define NOTIFY_VIEWPORT_CHANGE 0x00000003
00042
00043 #define NOTIFY_SPACEMODE_CHANGE 0x00000004
00044
00045 #define NOTIFY_SYSTEM_PRE_RESET 0x00000005
00046
00047 #define NOTIFY_SYSTEM_POST_RESET 0x00000006
00048
00049
00050 #define NOTIFY_SYSTEM_PRE_NEW 0x00000007
00051
00052
00053 #define NOTIFY_SYSTEM_POST_NEW 0x00000008
00054
00055 #define NOTIFY_FILE_PRE_OPEN 0x00000009
00056
00057 #define NOTIFY_FILE_POST_OPEN 0x0000000A
00058
00059
00061 #define NOTIFY_FILE_PRE_MERGE 0x0000000B
00062
00063
00065 #define NOTIFY_FILE_POST_MERGE 0x0000000C
00066
00067 #define NOTIFY_FILE_PRE_SAVE 0x0000000D
00068
00069 #define NOTIFY_FILE_POST_SAVE 0x0000000E
00070
00071 #define NOTIFY_FILE_OPEN_FAILED 0x0000000F
00072
00073 #define NOTIFY_FILE_PRE_SAVE_OLD 0x00000010
00074
00075 #define NOTIFY_FILE_POST_SAVE_OLD 0x00000011
00076
00077 #define NOTIFY_SELECTIONSET_CHANGED 0x00000012
00078
00079
00084 #define NOTIFY_BITMAP_CHANGED 0x00000013
00085
00086 #define NOTIFY_PRE_RENDER 0x00000014
00087
00088 #define NOTIFY_POST_RENDER 0x00000015
00089
00090
00095 #define NOTIFY_PRE_RENDERFRAME 0x00000016
00096
00097
00099 #define NOTIFY_POST_RENDERFRAME 0x00000017
00100
00101
00102 #define NOTIFY_PRE_IMPORT 0x00000018
00103
00104 #define NOTIFY_POST_IMPORT 0x00000019
00105
00106 #define NOTIFY_IMPORT_FAILED 0x0000001A
00107
00108 #define NOTIFY_PRE_EXPORT 0x0000001B
00109
00110 #define NOTIFY_POST_EXPORT 0x0000001C
00111
00112 #define NOTIFY_EXPORT_FAILED 0x0000001D
00113
00115
00121
00122
00123
00125 #define NOTIFY_NODE_RENAMED 0x0000001E
00126
00127
00130 #define NOTIFY_PRE_PROGRESS 0x0000001F
00131
00132 #define NOTIFY_POST_PROGRESS 0x00000020
00133
00134 #define NOTIFY_MODPANEL_SEL_CHANGED 0x00000021
00135
00136 #define NOTIFY_HEIGHT_CHANGED 0x00000022
00137
00138 #define NOTIFY_RENDPARAM_CHANGED 0x00000023
00139
00142
00143 #define NOTIFY_MATLIB_PRE_OPEN 0x00000024
00144
00145
00146 #define NOTIFY_MATLIB_POST_OPEN 0x00000025
00147
00148 #define NOTIFY_MATLIB_PRE_SAVE 0x00000026
00149
00150 #define NOTIFY_MATLIB_POST_SAVE 0x00000027
00151
00152 #define NOTIFY_MATLIB_PRE_MERGE 0x00000028
00153
00154 #define NOTIFY_MATLIB_POST_MERGE 0x00000029
00155
00156
00158 #define NOTIFY_FILELINK_BIND_FAILED 0x0000002A
00159
00160 #define NOTIFY_FILELINK_DETACH_FAILED 0x0000002B
00161
00162 #define NOTIFY_FILELINK_RELOAD_FAILED 0x0000002C
00163
00164 #define NOTIFY_FILELINK_ATTACH_FAILED 0x0000002D
00165
00166 #define NOTIFY_FILELINK_PRE_BIND 0x00000030
00167
00168 #define NOTIFY_FILELINK_POST_BIND 0x00000031
00169
00170 #define NOTIFY_FILELINK_PRE_DETACH 0x00000032
00171
00172 #define NOTIFY_FILELINK_POST_DETACH 0x00000033
00173
00174 #define NOTIFY_FILELINK_PRE_RELOAD 0x00000034
00175
00176 #define NOTIFY_FILELINK_POST_RELOAD 0x00000035
00177
00178 #define NOTIFY_FILELINK_PRE_ATTACH 0x00000036
00179
00180
00181 #define NOTIFY_FILELINK_POST_ATTACH 0x00000037
00182
00184 #define NOTIFY_AB_NAVIGATE_URL 0x00000038
00185
00186
00191 #define NOTIFY_RENDER_PREEVAL 0x00000039
00192
00193 #define NOTIFY_NODE_CREATED 0x0000003A
00194
00195 #define NOTIFY_NODE_LINKED 0x0000003B
00196
00197 #define NOTIFY_NODE_UNLINKED 0x0000003C
00198
00199 #define NOTIFY_NODE_HIDE 0x0000003D
00200
00201 #define NOTIFY_NODE_UNHIDE 0x0000003E
00202
00203 #define NOTIFY_NODE_FREEZE 0x0000003F
00204
00205 #define NOTIFY_NODE_UNFREEZE 0x00000040
00206
00207 #define NOTIFY_NODE_PRE_MTL 0x00000041
00208
00209 #define NOTIFY_NODE_POST_MTL 0x00000042
00210
00211 #define NOTIFY_SCENE_ADDED_NODE 0x00000043
00212
00213 #define NOTIFY_SCENE_PRE_DELETED_NODE 0x00000044
00214
00215 #define NOTIFY_SCENE_POST_DELETED_NODE 0x00000045
00216
00217 #define NOTIFY_SEL_NODES_PRE_DELETE 0x00000046
00218
00219 #define NOTIFY_SEL_NODES_POST_DELETE 0x00000047
00220
00222 #define NOTIFY_WM_ENABLE 0x00000048
00223
00225 #define NOTIFY_SYSTEM_SHUTDOWN 0x00000049
00226
00227 #define NOTIFY_SYSTEM_STARTUP 0x00000050
00228
00230 #define NOTIFY_PLUGIN_LOADED 0x00000051
00231
00233
00236 #define NOTIFY_SYSTEM_SHUTDOWN2 0x00000052
00237
00239 #define NOTIFY_ANIMATE_ON 0x00000053
00240
00241 #define NOTIFY_ANIMATE_OFF 0x00000054
00242
00244
00249 #define NOTIFY_COLOR_CHANGE 0x00000055
00250
00251
00252 #define NOTIFY_PRE_EDIT_OBJ_CHANGE 0x00000056
00253
00254
00255 #define NOTIFY_POST_EDIT_OBJ_CHANGE 0x00000057
00256
00258
00260 #define NOTIFY_RADIOSITYPROCESS_STARTED 0x00000058
00261
00262
00264 #define NOTIFY_RADIOSITYPROCESS_STOPPED 0x00000059
00265
00266
00268 #define NOTIFY_RADIOSITYPROCESS_RESET 0x0000005A
00269
00270
00272 #define NOTIFY_RADIOSITYPROCESS_DONE 0x0000005B
00273
00275 #define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE 0x0000005C
00276
00277
00278
00279
00280
00281
00282
00284 #define NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP 0x0000005D
00285
00286 #define NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME 0x0000005E
00287
00288 #define NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE 0x0000005F
00289
00291 #define NOTIFY_RADIOSITY_PLUGIN_CHANGED 0x00000060
00292
00293
00295 #define NOTIFY_SCENE_UNDO 0x00000061
00296
00297 #define NOTIFY_SCENE_REDO 0x00000062
00298
00299 #define NOTIFY_MANIPULATE_MODE_OFF 0x00000063
00300
00301 #define NOTIFY_MANIPULATE_MODE_ON 0x00000064
00302
00303
00307
00308 #define NOTIFY_SCENE_XREF_PRE_MERGE 0x00000065
00309
00310 #define NOTIFY_SCENE_XREF_POST_MERGE 0x00000066
00311
00312 #define NOTIFY_OBJECT_XREF_PRE_MERGE 0x00000067
00313
00314 #define NOTIFY_OBJECT_XREF_POST_MERGE 0x00000068
00315
00316
00317
00319
00321 #define NOTIFY_PRE_MIRROR_NODES 0x00000069
00322
00323
00325 #define NOTIFY_POST_MIRROR_NODES 0x0000006A
00326
00327
00329 #define NOTIFY_NODE_CLONED 0x0000006B
00330
00331
00332
00333
00334
00335
00336
00337
00338
00340
00341 #define NOTIFY_PRE_NOTIFYDEPENDENTS 0x0000006C
00342
00343
00344 #define NOTIFY_POST_NOTIFYDEPENDENTS 0x0000006D
00345
00346
00348 #define NOTIFY_MTL_REFADDED 0x0000006E
00349
00350 #define NOTIFY_MTL_REFDELETED 0x0000006F
00351
00352
00353
00354
00356 #define NOTIFY_TIMERANGE_CHANGE 0x00000070
00357
00358
00360
00362 #define NOTIFY_PRE_MODIFIER_ADDED 0x00000071
00363
00364
00366 #define NOTIFY_POST_MODIFIER_ADDED 0x00000072
00367
00368
00370 #define NOTIFY_PRE_MODIFIER_DELETED 0x00000073
00371
00372
00374 #define NOTIFY_POST_MODIFIER_DELETED 0x00000074
00375
00376
00377
00378
00380
00381 #define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE 0x00000085
00382
00383
00385
00388 #define NOTIFY_PRE_NODES_CLONED 0x00000086
00389
00390
00393 #define NOTIFY_POST_NODES_CLONED 0x00000087
00394 #define NOTIFY_POST_MERGE_PROCESS 0x00000088
00395
00396
00398
00399 #define NOTIFY_SYSTEM_PRE_DIR_CHANGE 0x00000089
00400
00401
00402 #define NOTIFY_SYSTEM_POST_DIR_CHANGE 0x0000008A
00403
00405
00406 #define NOTIFY_SV_SELECTIONSET_CHANGED 0x0000008C
00407
00408
00409 #define NOTIFY_SV_DOUBLECLICK_GRAPHNODE 0x0000008D
00410
00412 #define NOTIFY_PRE_RENDERER_CHANGE 0x0000008E
00413
00414 #define NOTIFY_POST_RENDERER_CHANGE 0x0000008F
00415
00417
00418 #define NOTIFY_SV_PRE_LAYOUT_CHANGE 0x00000090
00419
00420
00421 #define NOTIFY_SV_POST_LAYOUT_CHANGE 0x00000091
00422
00424
00426 #define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED 0x00000092
00427
00429
00432 #define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED 0x00000093
00433
00435
00436 #define NOTIFY_LAYER_CREATED 0x00000094
00437
00438 #define NOTIFY_LAYER_DELETED 0x00000095
00439
00440
00442 #define NOTIFY_NODE_LAYER_CHANGED 0x00000096
00443
00445
00446 #define NOTIFY_TABBED_DIALOG_CREATED 0x00000097
00447
00448
00449 #define NOTIFY_TABBED_DIALOG_DELETED 0x00000098
00450
00452
00453 #define NOTIFY_NODE_NAME_SET 0x00000099
00454
00456
00457
00458 #define NOTIFY_HW_TEXTURE_CHANGED 0x0000009A
00459
00461
00464 #define NOTIFY_MXS_STARTUP 0x0000009B
00465
00467 #define NOTIFY_MXS_POST_STARTUP 0x0000009C
00468
00470 #define NOTIFY_ACTION_ITEM_PRE_EXEC 0x0000009D
00471
00472 #define NOTIFY_ACTION_ITEM_POST_EXEC 0x0000009E
00473
00474
00475
00480
00481 #define NOTIFY_SCENESTATE_PRE_SAVE 0x0000009F
00482
00483 #define NOTIFY_SCENESTATE_POST_SAVE 0x000000A0
00484
00485 #define NOTIFY_SCENESTATE_PRE_RESTORE 0x000000A1
00486
00487 #define NOTIFY_SCENESTATE_POST_RESTORE 0x000000A2
00488
00489 #define NOTIFY_SCENESTATE_DELETE 0x000000A3
00490
00491
00492
00493 #define NOTIFY_SCENESTATE_RENAME 0x000000A4
00494
00495
00496
00499
00500 #define NOTIFY_SCENE_PRE_UNDO 0x000000A5
00501
00502
00506 #define NOTIFY_SCENE_PRE_REDO 0x000000A6
00507
00508 #define NOTIFY_SCENE_POST_UNDO NOTIFY_SCENE_UNDO
00509
00510 #define NOTIFY_SCENE_POST_REDO NOTIFY_SCENE_REDO
00511
00512
00513
00515
00516 #define NOTIFY_MXS_SHUTDOWN 0x000000A7
00517
00518
00520
00521 #define NOTIFY_D3D_PRE_DEVICE_RESET 0x000000A8
00522
00523
00524 #define NOTIFY_D3D_POST_DEVICE_RESET 0x000000A9
00525
00526
00528
00531 #define NOTIFY_TOOLPALETTE_MTL_SUSPEND 0x000000AA
00532
00534
00537 #define NOTIFY_TOOLPALETTE_MTL_RESUME 0x000000AB
00538
00539
00541
00544 #define NOTIFY_CLASSDESC_REPLACED 0x000000AC
00545
00546
00551 #define NOTIFY_FILE_PRE_OPEN_PROCESS 0x000000AD
00552 #define NOTIFY_FILE_POST_OPEN_PROCESS 0x0000008B
00553 #define NOTIFY_FILE_PRE_SAVE_PROCESS 0x000000AE
00554 #define NOTIFY_FILE_POST_SAVE_PROCESS 0x000000AF
00555
00556
00557
00559
00562 #define NOTIFY_CLASSDESC_LOADED 0x000000B0
00563
00564
00566 #define NOTIFY_TOOLBARS_PRE_LOAD 0x000000B1
00567
00568 #define NOTIFY_TOOLBARS_POST_LOAD 0x000000B2
00569
00575
00576 #define NOTIFY_ATS_PRE_REPATH_PHASE 0x000000B3
00577
00578 #define NOTIFY_ATS_POST_REPATH_PHASE 0x000000B4
00579
00580
00590 #define NOTIFY_PROXY_TEMPORARY_DISABLE_START 0x000000B5
00591 #define NOTIFY_PROXY_TEMPORARY_DISABLE_END 0x000000B6
00592
00593
00594
00600 #define NOTIFY_FILE_CHECK_STATUS 0x000000B7
00601
00606
00607
00608
00610 #define NOTIFY_NAMED_SEL_SET_CREATED 0x000000B8
00611
00612
00614 #define NOTIFY_NAMED_SEL_SET_DELETED 0x000000B9
00615
00616
00617
00619 #define NOTIFY_NAMED_SEL_SET_RENAMED 0x000000BC
00620
00621
00622
00623
00635 #define NOTIFY_NAMED_SEL_SET_PRE_MODIFY 0x000000CA
00636
00637
00639 #define NOTIFY_NAMED_SEL_SET_POST_MODIFY 0x000000CB
00640
00641
00643 #define NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED 0x000000BA
00644
00645
00646
00648
00656 #define NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD 0x000000BB
00657
00659
00663 #define NOTIFY_RENDER_PREEVAL_FRAMEINFO 0x000000BC
00664
00666
00668 #define NOTIFY_POST_SCENE_RESET 0x000000BD
00669
00671
00673 #define NOTIFY_ANIM_LAYERS_ENABLED 0x000000BE
00674
00676
00678 #define NOTIFY_ANIM_LAYERS_DISABLED 0x000000BF
00679
00681
00682 #define NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE 0x000000C0
00683
00685
00686 #define NOTIFY_ACTION_ITEM_POST_START_OVERRIDE 0x000000C1
00687
00689
00690 #define NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE 0x000000C2
00691
00693
00694 #define NOTIFY_ACTION_ITEM_POST_END_OVERRIDE 0x000000C3
00695
00696
00697
00702 #define NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED 0x00000075 // Encompasses Render, Display, and Basic props below
00703 #define NOTIFY_POST_NODE_GENERAL_PROP_CHANGED 0x00000076 // Encompasses Render, Display, and Basic props below
00704 #define NOTIFY_PRE_NODE_GI_PROP_CHANGED 0x00000077
00705 #define NOTIFY_POST_NODE_GI_PROP_CHANGED 0x00000078
00706 #define NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED 0x00000079
00707 #define NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED 0x00000080
00708 #define NOTIFY_PRE_NODE_BONE_PROP_CHANGED 0x00000081
00709 #define NOTIFY_POST_NODE_BONE_PROP_CHANGED 0x00000082
00710 #define NOTIFY_PRE_NODE_USER_PROP_CHANGED 0x00000083
00711 #define NOTIFY_POST_NODE_USER_PROP_CHANGED 0x00000084
00712
00713 #define NOTIFY_PRE_NODE_RENDER_PROP_CHANGED 0x000000C4
00714 #define NOTIFY_POST_NODE_RENDER_PROP_CHANGED 0x000000C5
00715 #define NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED 0x000000C6
00716 #define NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED 0x000000C7
00717 #define NOTIFY_PRE_NODE_BASIC_PROP_CHANGED 0x000000C8
00718 #define NOTIFY_POST_NODE_BASIC_PROP_CHANGED 0x000000C9
00719
00720
00722
00723 #define NOTIFY_SELECTION_LOCK 0x000000D0
00724
00725
00726 #define NOTIFY_SELECTION_UNLOCK 0x000000D1
00727
00729
00732 #define NOTIFY_PRE_IMAGE_VIEWER_DISPLAY 0x000000D2
00733
00734
00736 #define NOTIFY_POST_IMAGE_VIEWER_DISPLAY 0x000000D3
00737
00738
00740 #define NOTIFY_IMAGE_VIEWER_UPDATE 0x000000D4
00741
00747
00748 #define NOTIFY_CUSTOM_ATTRIBUTES_ADDED 0x000000D5
00749
00750 #define NOTIFY_CUSTOM_ATTRIBUTES_REMOVED 0x000000D6
00751
00752
00754 #define NOTIFY_OS_THEME_CHANGED 0x000000D7
00755
00757
00759 #define NOTIFY_ACTIVE_VIEWPORT_CHANGED 0x000000D8
00760
00762 #define NOTIFY_PRE_MAXMAINWINDOW_SHOW 0x000000DB
00763
00765 #define NOTIFY_POST_MAXMAINWINDOW_SHOW 0x000000DC
00766
00768
00773 #define NOTIFY_CLASSDESC_ADDED 0x000000DD
00774
00776
00788 #define NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN 0x000000DE
00789
00791
00803 #define NOTIFY_OBJECT_DEFINITION_CHANGE_END 0x000000DF
00804
00805
00807
00808 #define NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN 0x000000E0
00809
00811
00812 #define NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE 0x000000E1
00813
00815
00816 #define NOTIFY_APP_FRAME_THEME_CHANGED 0x000000E2
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826 #define NOTIFY_INTERNAL_USE_START 0x70000000
00827
00833
00834 #define PRE_NEW_NEW_ALL 0x1
00835
00836 #define PRE_NEW_KEEP_OBJECTS 0x2
00837
00838 #define PRE_NEW_KEEP_OBJECTS_AND_HIERARCHY 0x3
00839
00840
00841
00844
00846 #define FILE_PROCESS_SCENE 0x1
00847
00849 #define FILE_PROCESS_HOLD_FETCH 0x2
00850
00852 #define FILE_PROCESS_AUTOBAK 0x3
00853
00854
00855
00859
00860
00861 #define FILE_STATUS_READONLY 0x1
00862
00863
00864
00866
00867
00868
00901 struct NotifyInfo: public MaxHeapOperators {
00902 int intcode;
00905 void *callParam;
00906 };
00907
00908
00909 typedef void (* NOTIFYPROC)(void *param, NotifyInfo *info);
00910
00911
00918 CoreExport int RegisterNotification(NOTIFYPROC proc, void *param, int code);
00928 CoreExport int UnRegisterNotification(NOTIFYPROC proc, void *param, int code);
00932 CoreExport void BroadcastNotification(int code);
00939 CoreExport void BroadcastNotification(int code, void *callParam);
00940
00941
00947 CoreExport int UnRegisterNotification(NOTIFYPROC proc, void *param);
00948
00949 class ClassDesc;
00950
00951 class CreateInstanceCallParam: public MaxHeapOperators {
00952 public:
00953 void* instance;
00954 ClassDesc* cd;
00955 CreateInstanceCallParam (void* i, ClassDesc* cd) : instance(i), cd(cd) { }
00956 };
00957
00962 struct NotifyPreEval_FrameInfo : public MaxHeapOperators {
00965 View* view;
00967 FrameRendParams* frp;
00969 INode* viewNode;
00972 ViewParams* viewParams;
00973 };
00974
00976
00981 struct NameChange{
00983 MCHAR* oldname;
00985 MCHAR* newname;
00986 };
00987
00989
00992 struct ObjectDefinitionChangeNotificationParam : public MaxHeapOperators
00993 {
00995 enum ObjectDefinitionType{
00997 kScriptedPlugin = 0
00998 };
01000 ObjectDefinitionType m_type;
01002 void* m_definition;
01003 ObjectDefinitionChangeNotificationParam(ObjectDefinitionType type, void* definition) : m_type(type), m_definition(definition) {}
01004 private:
01005 ObjectDefinitionChangeNotificationParam();
01006 };
01007
01008