3ds Max C++ API Reference
Loading...
Searching...
No Matches
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.
 
IMouseConfigManager * GetIMouseConfigManager ()
 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...