HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 #define DM_VIEWPORT_PEANUT_SNAP_PICK_DIST 10
47 #define DM_VIEWPORT_PEANUT_SNAP_PICK_OVERLAP_DIST 7
48 
49 //---------------------------- Selection Styles ---------------------------
50 
52 {
59 };
60 
61 //---------------------------- Handle Pick Ids -------------------------------
62 #define DM_X_AXIS 'X'
63 #define DM_Y_AXIS 'Y'
64 #define DM_Z_AXIS 'Z'
65 #define DM_x_AXIS 'x'
66 #define DM_y_AXIS 'y'
67 #define DM_z_AXIS 'z'
68 
69 //----------------------------- Miscellaneous --------------------------------
70 
71 #define DM_ROTATE_BY 45 // degrees to rotate by
72 
73 enum {
74  DM_OBJ_GEO = 0x00000001,
75  DM_OBJ_CAM = 0x00000002,
76  DM_OBJ_LIGHT = 0x00000004,
77  DM_OBJ_BONE = 0x00000008,
78  DM_OBJ_NULL = 0x00000010,
79  DM_OBJ_BLEND = 0x00000020,
80  DM_OBJ_OTHER = 0x00000040,
81  DM_OBJ_ALL = 0x0000007F
82 };
83 
89 };
90 
91 enum {
96 };
97 
98 enum {
106 };
107 
108 // This enum must be kept in sync with the selection_mode.val radio strip
109 // in $FUSE/ViewExtra.ui!
111 {
117  DM_NUM_SELECTMODES // sentinel
118 };
119 
121 {
126 };
127 
128 // This enum must be kept in sync with the inspect.mode.val radio strip
129 // in $FUSE/ViewExtra.ui!
131 {
136 };
137 
138 // This enum must be kept in sync with the infoTextMode.menu menu strip
139 // in DM_DisplayOption.ui!
141 {
145 };
146 
148 {
152 };
153 
154 /// mode types for snapping
156 {
162  DM_SNAP_MODE_LAST // sentinel
163 };
164 
165 /// Enumerates options that can change and whose changes are broadcast
167 {
168  DM_SNAPSHOT_HIDE_AT_SOURCE, // option of hiding snapshot at source frame
169  DM_SNAPSHOT_ALPHA_VALUE, // the value of alpha blending
170  DM_SNAPSHOT_VISIBLE_OBJECTS, // specification visible objects in snapshot
171  DM_SNAPSHOT_HIDE_HANDLES // option of hiding the handles in snapshots
172 };
173 
174 /// The set of modifier keys used for selections assigned on Shift, Ctrl,
175 /// and Ctrl+Shift, respectively.
177 {
178  DM_SMK_TOGGLE_REMOVE_ADD, // Houdini and Maya
180 };
181 
182 enum class DM_DrawablePrimitive : short
183 {
184  Sphere
185 };
186 
187 #define DM_PRIMARY_BUTTON UI_LEFT_BUTTON
188 #define DM_SECONDARY_BUTTON UI_MIDDLE_BUTTON
189 #define DM_TERTIARY_BUTTON UI_RIGHT_BUTTON
190 
191 #define DM_SELECTDRAG_BUTTON UI_LEFT_BUTTON
192 #define DM_SAFESELECT_BUTTON UI_MIDDLE_BUTTON
193 #define DM_FINISH_BUTTON UI_RIGHT_BUTTON
194 
195 
196 #define DM_VIEW_MEMORY_NAME "View"
197 #define DM_SNAPSHOT_MEMORY_NAME "Snapshot"
198 
199 #define DM_LABEL_HOFFSET 0.15
200 #define DM_LABEL_VOFFSET 0.05
201 
203 {
204 public:
206  : mblur_frames(1), shutter(0.5), fps(24.0), frame_bias(0),
207  dof_quality(10), focal_length(10.0), aperture(41.4214), fstop(22.0),
208  beauty_only(false) {}
218 };
219 
220 #endif
DM_SnapMode
mode types for snapping
Definition: DM_Defines.h:155
DM_InspectMode
Definition: DM_Defines.h:130
DM_DrawablePrimitive
Definition: DM_Defines.h:182
DM_InfoTextMode
Definition: DM_Defines.h:140
DM_SelectionFacing
Definition: DM_Defines.h:84
DM_DopSelectMode
Definition: DM_Defines.h:120
DM_SelectMode
Definition: DM_Defines.h:110
DM_SelectionModifierKeys
Definition: DM_Defines.h:176
double fpreal
Definition: SYS_Types.h:270
DM_GeoSortMode
Definition: DM_Defines.h:147
DM_SnapshotOptionType
Enumerates options that can change and whose changes are broadcast.
Definition: DM_Defines.h:166
DM_SelectionStyle
Definition: DM_Defines.h:51