HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DM_Defines.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: Direct manipulation library (C++)
7  *
8  * COMMENTS:
9  * Definitions for DM.
10  *
11  */
12 
13 #ifndef __DM_Defines_H__
14 #define __DM_Defines_H__
15 
16 #include <UT/UT_Array.h>
17 #include <GU/GU_SelectType.h>
18 #include <BM/BM_KeyBindings.h>
19 #include <RE/RE_Types.h>
20 
21 //------------------------------ Drawing ----------------------------------
22 
23 // Draw all the points or primitives, or just the selected:
24 #define DM_DRAW_SELECTED 0x01
25 #define DM_DRAW_NONSELECTED 0x02
26 #define DM_DRAW_ALL (DM_DRAW_SELECTED | DM_DRAW_NONSELECTED)
27 
28 //------------------------------ Picking ----------------------------------
29 
30 #define DM_PICKED_NOTHING 0
31 #define DM_PICKED_POINT 1
32 #define DM_PICKED_EDGE 2
33 #define DM_PICKED_NORMAL 3
34 #define DM_PICKED_PRIMITIVE 4
35 
36 //---------------------------- Picking radii ------------------------------
37 
38 #define DM_VIEWPORT_MAX_PICK_DIST RE_MAX_PICK_DIST
39 #define DM_VIEWPORT_SNAP_NEAR_PICK_DIST RE_MAX_PICK_DIST
40 #define DM_VIEWPORT_HANDLE_PICK_DIST 5
41 #define DM_VIEWPORT_HANDLE_PICK_OVERLAP_DIST 5
42 #define DM_VIEWPORT_GEO_PICK_DIST 5
43 #define DM_VIEWPORT_GEO_PICK_OVERLAP_DIST 5
44 #define DM_VIEWPORT_SNAP_PICK_DIST 10
45 #define DM_VIEWPORT_SNAP_PICK_OVERLAP_DIST 10
46 
47 //---------------------------- Selection Styles ---------------------------
48 
50 {
57 };
58 
59 //---------------------------- Handle Pick Ids -------------------------------
60 #define DM_X_AXIS 'X'
61 #define DM_Y_AXIS 'Y'
62 #define DM_Z_AXIS 'Z'
63 #define DM_x_AXIS 'x'
64 #define DM_y_AXIS 'y'
65 #define DM_z_AXIS 'z'
66 
67 //----------------------------- Miscellaneous --------------------------------
68 
69 #define DM_ROTATE_BY 45 // degrees to rotate by
70 
71 enum {
72  DM_OBJ_GEO = 0x00000001,
73  DM_OBJ_CAM = 0x00000002,
74  DM_OBJ_LIGHT = 0x00000004,
75  DM_OBJ_BONE = 0x00000008,
76  DM_OBJ_NULL = 0x00000010,
77  DM_OBJ_BLEND = 0x00000020,
78  DM_OBJ_OTHER = 0x00000040,
79  DM_OBJ_ALL = 0x0000007F
80 };
81 
87 };
88 
89 enum {
94 };
95 
96 enum {
104 };
105 
106 // This enum must be kept in sync with the selection_mode.val radio strip
107 // in $FUSE/ViewExtra.ui!
109 {
114  DM_NUM_SELECTMODES // sentinel
115 };
116 
118 {
123 };
124 
125 // This enum must be kept in sync with the inspect.mode.val radio strip
126 // in $FUSE/ViewExtra.ui!
128 {
133 };
134 
135 // This enum must be kept in sync with the infoTextMode.menu menu strip
136 // in DM_DisplayOption.ui!
138 {
142 };
143 
145 {
149 };
150 
151 /// mode types for snapping
153 {
159  DM_SNAP_MODE_LAST // sentinel
160 };
161 
162 /// Enumerates options that can change and whose changes are broadcast
164 {
165  DM_SNAPSHOT_HIDE_AT_SOURCE, // option of hiding snapshot at source frame
166  DM_SNAPSHOT_ALPHA_VALUE, // the value of alpha blending
167  DM_SNAPSHOT_VISIBLE_OBJECTS, // specification visible objects in snapshot
168  DM_SNAPSHOT_HIDE_HANDLES // option of hiding the handles in snapshots
169 };
170 
171 /// The set of modifier keys used for selections assigned on Shift, Ctrl,
172 /// and Ctrl+Shift, respectively.
174 {
175  DM_SMK_TOGGLE_REMOVE_ADD, // Houdini and Maya
177 };
178 
179 
180 #define DM_PRIMARY_BUTTON UI_LEFT_BUTTON
181 #define DM_SECONDARY_BUTTON UI_MIDDLE_BUTTON
182 #define DM_TERTIARY_BUTTON UI_RIGHT_BUTTON
183 
184 #define DM_SELECTDRAG_BUTTON UI_LEFT_BUTTON
185 #define DM_SAFESELECT_BUTTON UI_MIDDLE_BUTTON
186 #define DM_FINISH_BUTTON UI_RIGHT_BUTTON
187 
188 
189 #define DM_VIEW_MEMORY_NAME "View"
190 #define DM_SNAPSHOT_MEMORY_NAME "Snapshot"
191 
192 #define DM_LABEL_HOFFSET 0.15
193 #define DM_LABEL_VOFFSET 0.05
194 
196 {
197 public:
199  : mblur_frames(1), shutter(0.5), fps(24.0), frame_bias(0),
200  dof_quality(10), focal_length(10.0), aperture(41.4214), fstop(22.0),
201  beauty_only(false) {}
211 };
212 
213 #endif
DM_SnapMode
mode types for snapping
Definition: DM_Defines.h:152
DM_InspectMode
Definition: DM_Defines.h:127
DM_InfoTextMode
Definition: DM_Defines.h:137
DM_SelectionFacing
Definition: DM_Defines.h:82
DM_DopSelectMode
Definition: DM_Defines.h:117
DM_SelectMode
Definition: DM_Defines.h:108
DM_SelectionModifierKeys
Definition: DM_Defines.h:173
double fpreal
Definition: SYS_Types.h:263
DM_GeoSortMode
Definition: DM_Defines.h:144
DM_SnapshotOptionType
Enumerates options that can change and whose changes are broadcast.
Definition: DM_Defines.h:163
DM_SelectionStyle
Definition: DM_Defines.h:49