Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesdna/DNA_scene_types.h
| Show First 20 Lines • Show All 1,490 Lines • ▼ Show 20 Lines | typedef struct ToolSettings { | ||||
| char edge_mode; | char edge_mode; | ||||
| char edge_mode_live_unwrap; | char edge_mode_live_unwrap; | ||||
| /* Transform */ | /* Transform */ | ||||
| char transform_pivot_point; | char transform_pivot_point; | ||||
| char transform_flag; | char transform_flag; | ||||
| /** Snap elements (per spacetype), #eSnapMode. */ | /** Snap elements (per spacetype), #eSnapMode. */ | ||||
| char snap_mode; | char _pad1[1]; | ||||
| short snap_mode; | |||||
| char snap_node_mode; | char snap_node_mode; | ||||
| char snap_uv_mode; | char snap_uv_mode; | ||||
| /** Generic flags (per spacetype), #eSnapFlag. */ | /** Generic flags (per spacetype), #eSnapFlag. */ | ||||
| char snap_flag; | short snap_flag; | ||||
| char snap_flag_node; | short snap_flag_node; | ||||
| char snap_flag_seq; | short snap_flag_seq; | ||||
| char snap_uv_flag; | short snap_uv_flag; | ||||
gfxcoder: `snap_flag_node`, `snap_flag_seq`, and `snap_uv_flag` need their types changed from `char` to… | |||||
| /** Default snap source, #eSnapSourceSelect. */ | /** Default snap source, #eSnapSourceSelect. */ | ||||
| /* TODO(@gfxcoder): Rename `snap_target` to `snap_source_point`, because target is incorrect. */ | /* TODO(@gfxcoder): Rename `snap_target` to `snap_source` to avoid previous ambiguity of | ||||
Not Done Inline ActionsThese comments are in-between the actual doc-stings doc-strings and the struct members, prefer: /** Default snap source, #eSnapTarget. */ Which is a doxygen link to the enum type. campbellbarton: These comments are in-between the actual doc-stings doc-strings and the struct members, prefer… | |||||
Done Inline Actions(fixed) gfxcoder: (fixed) | |||||
| * "target" (now, "source" is geometry to be moved and "target" is geometry to which moved | |||||
| * geometry is snapped). */ | |||||
| char snap_target; | char snap_target; | ||||
| /** Snap mask for transform modes, #eSnapTransformMode. */ | /** Snap mask for transform modes, #eSnapTransformMode. */ | ||||
| char snap_transform_mode_flag; | char snap_transform_mode_flag; | ||||
| /** Steps to break transformation into with face nearest snapping */ | |||||
| short snap_face_nearest_steps; | |||||
| char proportional_edit, prop_mode; | char proportional_edit, prop_mode; | ||||
| /** Proportional edit, object mode. */ | /** Proportional edit, object mode. */ | ||||
| char proportional_objects; | char proportional_objects; | ||||
| /** Proportional edit, mask editing. */ | /** Proportional edit, mask editing. */ | ||||
| char proportional_mask; | char proportional_mask; | ||||
| /** Proportional edit, action editor. */ | /** Proportional edit, action editor. */ | ||||
| char proportional_action; | char proportional_action; | ||||
| ▲ Show 20 Lines • Show All 560 Lines • ▼ Show 20 Lines | enum { | ||||
| SCE_WORKSPACE_TOOL_DEFAULT = 1, | SCE_WORKSPACE_TOOL_DEFAULT = 1, | ||||
| }; | }; | ||||
| /** #ToolSettings.snap_flag */ | /** #ToolSettings.snap_flag */ | ||||
| typedef enum eSnapFlag { | typedef enum eSnapFlag { | ||||
| SCE_SNAP = (1 << 0), | SCE_SNAP = (1 << 0), | ||||
| SCE_SNAP_ROTATE = (1 << 1), | SCE_SNAP_ROTATE = (1 << 1), | ||||
| SCE_SNAP_PEEL_OBJECT = (1 << 2), | SCE_SNAP_PEEL_OBJECT = (1 << 2), | ||||
| SCE_SNAP_PROJECT = (1 << 3), | SCE_SNAP_PROJECT = (1 << 3), /* Project individual elements instead of whole object. */ | ||||
| SCE_SNAP_NO_SELF = (1 << 4), | SCE_SNAP_NOT_TO_ACTIVE = (1 << 4), /* Was `SCE_SNAP_NO_SELF`, but self should be active. */ | ||||
| SCE_SNAP_ABS_GRID = (1 << 5), | SCE_SNAP_ABS_GRID = (1 << 5), | ||||
| SCE_SNAP_BACKFACE_CULLING = (1 << 6), | SCE_SNAP_BACKFACE_CULLING = (1 << 6), | ||||
Not Done Inline ActionsThis bit can be reused as it's cleared in version patching (see !MAIN_VERSION_ATLEAST(bmain, 302, 6) check). campbellbarton: This bit can be reused as it's cleared in version patching (see `!MAIN_VERSION_ATLEAST(bmain… | |||||
Done Inline Actionsdone gfxcoder: done | |||||
| SCE_SNAP_KEEP_ON_SAME_OBJECT = (1 << 7), | |||||
| /* see #eSnapTargetSelect */ | |||||
| SCE_SNAP_TO_INCLUDE_EDITED = (1 << 8), | |||||
| SCE_SNAP_TO_INCLUDE_NONEDITED = (1 << 9), | |||||
| SCE_SNAP_TO_ONLY_SELECTABLE = (1 << 10), | |||||
| } eSnapFlag; | } eSnapFlag; | ||||
| /* Due to dependency conflicts with Cycles, header cannot directly include `BLI_utildefines.h`. */ | /* Due to dependency conflicts with Cycles, header cannot directly include `BLI_utildefines.h`. */ | ||||
| /* TODO: move this macro to a more general place. */ | /* TODO: move this macro to a more general place. */ | ||||
| #ifdef ENUM_OPERATORS | #ifdef ENUM_OPERATORS | ||||
| ENUM_OPERATORS(eSnapFlag, SCE_SNAP_BACKFACE_CULLING) | ENUM_OPERATORS(eSnapFlag, SCE_SNAP_BACKFACE_CULLING) | ||||
| #endif | #endif | ||||
| /** #ToolSettings.snap_target and #TransSnap.source_select */ | /** See #ToolSettings.snap_target (to be renamed `snap_source`) and #TransSnap.source_select */ | ||||
| typedef enum eSnapSourceSelect { | typedef enum eSnapSourceSelect { | ||||
| SCE_SNAP_SOURCE_CLOSEST = 0, | SCE_SNAP_SOURCE_CLOSEST = 0, | ||||
| SCE_SNAP_SOURCE_CENTER = 1, | SCE_SNAP_SOURCE_CENTER = 1, | ||||
| SCE_SNAP_SOURCE_MEDIAN = 2, | SCE_SNAP_SOURCE_MEDIAN = 2, | ||||
| SCE_SNAP_SOURCE_ACTIVE = 3, | SCE_SNAP_SOURCE_ACTIVE = 3, | ||||
| } eSnapSourceSelect; | } eSnapSourceSelect; | ||||
| /** #TransSnap.target_select and #ToolSettings.snap_flag (SCE_SNAP_NO_SELF) */ | /** #TransSnap.target_select and #ToolSettings.snap_flag (#SCE_SNAP_NOT_TO_ACTIVE, | ||||
| * #SCE_SNAP_TO_INCLUDE_EDITED, #SCE_SNAP_TO_INCLUDE_NONEDITED, #SCE_SNAP_TO_ONLY_SELECTABLE) */ | |||||
| typedef enum eSnapTargetSelect { | typedef enum eSnapTargetSelect { | ||||
| SCE_SNAP_TARGET_ALL = 0, | SCE_SNAP_TARGET_ALL = 0, | ||||
| SCE_SNAP_TARGET_NOT_SELECTED = 1, | SCE_SNAP_TARGET_NOT_SELECTED = (1 << 0), | ||||
| SCE_SNAP_TARGET_NOT_ACTIVE = 2, | SCE_SNAP_TARGET_NOT_ACTIVE = (1 << 1), | ||||
| SCE_SNAP_TARGET_NOT_EDITED = 3, | SCE_SNAP_TARGET_NOT_EDITED = (1 << 2), | ||||
| SCE_SNAP_TARGET_ONLY_SELECTABLE = 4, | SCE_SNAP_TARGET_ONLY_SELECTABLE = (1 << 3), | ||||
| SCE_SNAP_TARGET_NOT_NONEDITED = (1 << 4), | |||||
| } eSnapTargetSelect; | } eSnapTargetSelect; | ||||
| /** #ToolSettings.snap_mode */ | /** #ToolSettings.snap_mode */ | ||||
| typedef enum eSnapMode { | typedef enum eSnapMode { | ||||
| SCE_SNAP_MODE_NONE = 0, | SCE_SNAP_MODE_NONE = 0, | ||||
| SCE_SNAP_MODE_VERTEX = (1 << 0), | SCE_SNAP_MODE_VERTEX = (1 << 0), | ||||
| SCE_SNAP_MODE_EDGE = (1 << 1), | SCE_SNAP_MODE_EDGE = (1 << 1), | ||||
| SCE_SNAP_MODE_FACE = (1 << 2), /* TODO(@gfxcoder): Rename to `SCE_SNAP_MODE_FACE_RAYCAST` | SCE_SNAP_MODE_FACE_RAYCAST = (1 << 2), | ||||
| when other face snapping methods are added. */ | |||||
| SCE_SNAP_MODE_VOLUME = (1 << 3), | SCE_SNAP_MODE_VOLUME = (1 << 3), | ||||
| SCE_SNAP_MODE_EDGE_MIDPOINT = (1 << 4), | SCE_SNAP_MODE_EDGE_MIDPOINT = (1 << 4), | ||||
| SCE_SNAP_MODE_EDGE_PERPENDICULAR = (1 << 5), | SCE_SNAP_MODE_EDGE_PERPENDICULAR = (1 << 5), | ||||
| SCE_SNAP_MODE_GEOM = (SCE_SNAP_MODE_VERTEX | SCE_SNAP_MODE_EDGE | SCE_SNAP_MODE_FACE | | SCE_SNAP_MODE_FACE_NEAREST = (1 << 8), | ||||
| SCE_SNAP_MODE_EDGE_PERPENDICULAR | SCE_SNAP_MODE_EDGE_MIDPOINT), | |||||
| SCE_SNAP_MODE_GEOM = (SCE_SNAP_MODE_VERTEX | SCE_SNAP_MODE_EDGE | SCE_SNAP_MODE_FACE_RAYCAST | | |||||
| SCE_SNAP_MODE_EDGE_PERPENDICULAR | SCE_SNAP_MODE_EDGE_MIDPOINT | | |||||
| SCE_SNAP_MODE_FACE_NEAREST), | |||||
| /** #ToolSettings.snap_node_mode */ | /** #ToolSettings.snap_node_mode */ | ||||
| SCE_SNAP_MODE_NODE_X = (1 << 0), | SCE_SNAP_MODE_NODE_X = (1 << 0), | ||||
| SCE_SNAP_MODE_NODE_Y = (1 << 1), | SCE_SNAP_MODE_NODE_Y = (1 << 1), | ||||
| /* #ToolSettings.snap_mode and #ToolSettings.snap_node_mode and #ToolSettings.snap_uv_mode */ | /** #ToolSettings.snap_mode and #ToolSettings.snap_node_mode and #ToolSettings.snap_uv_mode */ | ||||
| SCE_SNAP_MODE_INCREMENT = (1 << 6), | SCE_SNAP_MODE_INCREMENT = (1 << 6), | ||||
| SCE_SNAP_MODE_GRID = (1 << 7), | SCE_SNAP_MODE_GRID = (1 << 7), | ||||
| } eSnapMode; | } eSnapMode; | ||||
| /* Due to dependency conflicts with Cycles, header cannot directly include `BLI_utildefines.h`. */ | /* Due to dependency conflicts with Cycles, header cannot directly include `BLI_utildefines.h`. */ | ||||
| /* TODO: move this macro to a more general place. */ | /* TODO: move this macro to a more general place. */ | ||||
| #ifdef ENUM_OPERATORS | #ifdef ENUM_OPERATORS | ||||
| ENUM_OPERATORS(eSnapMode, SCE_SNAP_MODE_GRID) | ENUM_OPERATORS(eSnapMode, SCE_SNAP_MODE_GRID) | ||||
| #endif | #endif | ||||
| ▲ Show 20 Lines • Show All 419 Lines • Show Last 20 Lines | |||||
snap_flag_node, snap_flag_seq, and snap_uv_flag need their types changed from char to short due to pointer magic happening in saveTransform in transform.c (not code that I wrote initially).
snap_node_mode and snap_uv_mode can remain as char since they use only a limited subset of eSnapMode.