3ds Max C++ API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MaxSDK::CUI Namespace Reference

Classes

class  ICuiActionMenuItem
 
class  ICuiDynamicMenu
 
class  ICuiMenu
 
class  ICuiMenuItem
 
class  ICuiMenuManager
 
class  ICuiQuadMenu
 
class  ICuiQuadMenuContext
 
class  ICuiQuadMenuManager
 
class  IMouseConfigManager
 A core interface for accessing properties of the customized mode introduced in 3ds Max 2013. More...
 
class  IQtMenuExt
 
class  IWinMenuExt
 

Typedefs

using RightClickModifiers = uint8_t
 a combination of RightClickModifiersFlags
 

Enumerations

enum  RightClickModifiersFlags : uint8_t { kNoModifier = 0 , kShiftModifier = 1 , kAltModifier = 2 , kControlModifier = 4 }
 
enum class  QuadPosition : uint8_t {
  kTopLeft = 0 , kTopRight , kBottomRight , kBottomLeft ,
  kInvalid
}
 The possible positions of quad inside a quad menu. More...
 
enum  OperationMode {
  EOperationMode_None = 0 , EOperationMode_Pan , EOperationMode_Zoom , EOperationMode_Rotate ,
  EOperationMode_Count
}
 
enum  KeyOption {
  EKey_Null = 0 , EKey_Shift = (1<<0) , EKey_Ctrl = (1<<1) , EKey_Alt = (1<<2) ,
  EKey_ShiftCtrl = EKey_Shift|EKey_Ctrl , EKey_CtrlAlt = EKey_Ctrl|EKey_Alt , EKey_AltShift = EKey_Alt|EKey_Shift , EKey_ShiftCtrlAlt = EKey_Shift|EKey_Ctrl|EKey_Alt
}
 
enum  MouseButtonOption { EMouseButton_Null = 0 , EMouseButton_Left = (1<<3) , EMouseButton_Middle = (1<<4) , EMouseButton_Right = (1<<5) }
 
enum  OperationParameter { EOperationParameter_Null = 0 , EOperationParameter_ZoomInDirection , EOperationParameter_Count }
 
enum  ZoomInDirectionOption {
  EZoomInDirection_North = 1 , EZoomInDirection_East = 2 , EZoomInDirection_South = 4 , EZoomInDirection_West = 8 ,
  EZoomInDirection_NorthEast = EZoomInDirection_North|EZoomInDirection_East , EZoomInDirection_SouthEast = EZoomInDirection_South|EZoomInDirection_East , EZoomInDirection_SouthWest = EZoomInDirection_South|EZoomInDirection_West , EZoomInDirection_NorthWest = EZoomInDirection_North|EZoomInDirection_West
}
 

Functions

RightClickModifiers GetSystemRightClickModifiers ()
 Queries the state of the modifier keys and returns the appropriate right click modifier flags.
 
IMouseConfigManagerGetIMouseConfigManager ()
 Helper function to access the IMouseConfigManager core interface.
 
bool GetOperationShortcut (OperationMode eOperation, KeyOption &eKey, MouseButtonOption &eButton)
 Helper function to get shortcuts of customized mode.
 
bool GetValueOfOperationParameter (OperationParameter eParmeter, int &iValue)
 Helper function to get the value of an operation parameter such as zoom in direction of customized zoom mode.
 

Variables

const MaxSDK::MaxGuid kMainMenuId { "b4779ebb-a6f0-4815-9777-57c01c0b584c" }
 
const MaxSDK::MaxGuid kMaterialEditorMenuBarId { "19b889a1-e731-4b1a-b8ca-cdb1e51c4028" }
 
const MaxSDK::MaxGuid kSchematicViewMenuBarId { "e81dc994-6a38-4051-8e7a-e5f0349d91c1" }
 
const MaxSDK::MaxGuid kTrackViewMenuBarId { "be2fdd36-21be-4985-9869-3200df5b5f07" }
 
const MaxSDK::MaxGuid kAssetTrackingMenuBarId { "f2052ff3-05e9-4b24-84b2-18af5e60cc3b" }
 
const MaxSDK::MaxGuid kParameterCollectorMenuBarId { "144c1cb5-350e-4a3a-ad1e-ea77244fc9c9" }
 
const MaxSDK::MaxGuid kViewportMenuBarId { "41bb347d-76d1-46b6-b294-407f5b07b433" }
 
const MaxSDK::MaxGuid kTrackViewDopeSheetMenuBarId { "6eca4ccd-ff2f-4fc0-a464-08200a0e28aa" }
 
const MaxSDK::MaxGuid kUVWUnwrapMenuBarId { "ba107c75-ee75-4712-8e8b-f2d90a87d8aa" }
 
const MaxSDK::MaxGuid kSMEMenuBarId { "dd49ba13-7f3a-4a0d-bf22-72921bce4bdf" }
 
const MaxSDK::MaxGuid kViewportQuadContextId { "ac7c70f8-3f86-4ff5-a510-e4fd6a9c368e" }
 
const MaxSDK::MaxGuid kViewportQuadMenuId { "9cf17647-303f-400e-938a-a55058804393" }
 
const MaxSDK::MaxGuid kSchematicViewQuadContextId { "1557a560-3b86-4879-bc03-b365c3ec5011" }
 
const MaxSDK::MaxGuid kSchematicViewQuadMenuId { "7856ba83-8035-48e3-8ced-f19c6925870e" }
 
const MaxSDK::MaxGuid kAssetTrackingQuadContextId { "cecf146f-dac3-462e-b313-f714c77d3546" }
 
const MaxSDK::MaxGuid kAssetTrackingQuadMenuId { "5fd6e18c-35e3-4a3e-ae77-51908066af0e" }
 
const MaxSDK::MaxGuid kUnwrapUVWQuadContextId { "a40ccd46-9bf7-4ed1-85d3-60c4890b5eeb" }
 
const MaxSDK::MaxGuid kUnwrapUVWQuadMenuId { "aec4565f-ff3f-44ba-8041-fe36c8063f4b" }
 
const MaxSDK::MaxGuid kReshadeQuadContextId { "da30427a-372d-49e7-86c5-0f06330616de" }
 
const MaxSDK::MaxGuid kReshadeQuadMenuId { "db6292d1-72b1-4c7b-995d-f8dac71e5541" }
 
const MaxSDK::MaxGuid kTrackViewQuadContextId { "c280cc06-c034-49c4-99eb-a0e40f2b85d3" }
 
const MaxSDK::MaxGuid kTrackViewQuadMenuId { "adf775df-e23d-422e-8916-6f949522beda" }
 
const MaxSDK::MaxGuid kTrackViewKeyQuadClassicMenuId { "58e0de85-3a59-4164-9213-eee1746de22c" }
 
const MaxSDK::MaxGuid kTrackViewKeyQuadMenuId { "897a0edf-03cc-48a3-8dbd-7dc5404ec852" }
 
const MaxSDK::MaxGuid kRetimerSpanTypeContextId { "c5a6163e-08bd-43b1-9333-b380bfb62dfe" }
 
const MaxSDK::MaxGuid kRetimerSpanTypeMenuId { "f51d4fc2-52a3-40b3-9fdb-5f08d8da95e3" }
 

Typedef Documentation

◆ RightClickModifiers

using RightClickModifiers = uint8_t

a combination of RightClickModifiersFlags

Enumeration Type Documentation

◆ QuadPosition

enum class QuadPosition : uint8_t
strong

The possible positions of quad inside a quad menu.

Enumerator
kTopLeft 
kTopRight 
kBottomRight 
kBottomLeft 
kInvalid 

Function Documentation

◆ GetSystemRightClickModifiers()

RightClickModifiers GetSystemRightClickModifiers ( )
inline

Queries the state of the modifier keys and returns the appropriate right click modifier flags.

47{
48 const bool controlPressed = GetKeyState(VK_CONTROL) & 0x8000;
49 const bool altPressed = GetKeyState(VK_MENU) & 0x8000;
50 const bool shiftPressed = GetKeyState(VK_SHIFT) & 0x8000;
51 return controlPressed * kControlModifier | altPressed * kAltModifier | shiftPressed * kShiftModifier;
52}
@ kShiftModifier
The shift modifiers is pressed.
Definition: ICuiQuadEnums.h:25
@ kControlModifier
The control modifiers is pressed.
Definition: ICuiQuadEnums.h:27
@ kAltModifier
The alt modifiers is pressed.
Definition: ICuiQuadEnums.h:26

◆ GetIMouseConfigManager()

IMouseConfigManager * GetIMouseConfigManager ( )
inline

Helper function to access the IMouseConfigManager core interface.

Returns
A pointer to IMouseConfigManager
307{
309};
#define IID_CUI_MOUSE_CONFIGURE_MANAGER
Interface ID of class IMouseConfigManager.
Definition: ICUIMouseConfigManager.h:16
A core interface for accessing properties of the customized mode introduced in 3ds Max 2013.
Definition: ICUIMouseConfigManager.h:127
CoreExport Interface * GetCOREInterface()

◆ GetOperationShortcut()

bool GetOperationShortcut ( OperationMode  eOperation,
KeyOption eKey,
MouseButtonOption eButton 
)
inline

Helper function to get shortcuts of customized mode.

The output parameters are the shortcuts. Returns true if the shortcuts can be obtained, otherwise false.

315{
316 IMouseConfigManager* pMouseConfigManager = GetIMouseConfigManager();
317 if(pMouseConfigManager != NULL)
318 {
319 return pMouseConfigManager->GetOperationShortcut(eOperation,eKey,eButton);
320 }
321 return false;
322};
#define NULL
Definition: autoptr.h:18
virtual bool GetOperationShortcut(OperationMode eOperation, KeyOption &eKey, MouseButtonOption &eButton) const =0
Plug-ins that have functions of setting customized pan,zoom,rotate or other customized mode will need...
IMouseConfigManager * GetIMouseConfigManager()
Helper function to access the IMouseConfigManager core interface.
Definition: ICUIMouseConfigManager.h:306

◆ GetValueOfOperationParameter()

bool GetValueOfOperationParameter ( OperationParameter  eParmeter,
int iValue 
)
inline

Helper function to get the value of an operation parameter such as zoom in direction of customized zoom mode.

Returns
true if value can be obtained, otherwise false.
328{
329 IMouseConfigManager* pMouseConfigManager = GetIMouseConfigManager();
330 if(pMouseConfigManager != NULL)
331 {
332 return pMouseConfigManager->GetValueOfOperationParameter(eParmeter, iValue);
333 }
334
335 return false;
336};
virtual bool GetValueOfOperationParameter(OperationParameter parmeter, int &ivalue) const =0
Plug-ins that have functions such as zoom or the other operation that need to get values of some oper...