Sculpt: Add Transform, Trim, and Mesh Filter operators to Sculpt menu #104718

Merged
Joseph Eagar merged 19 commits from Tarek-Yasser/blender:sculpt_mode_add_menu_operators into main 2023-03-08 01:18:34 +01:00

19 Commits

Author SHA1 Message Date
Tarek Yasser b530a1c6f3 Merge branch 'main' of https://projects.blender.org/blender/blender into sculpt_mode_add_menu_operators 2023-03-03 18:55:48 +02:00
Tarek Yasser c72cd77ebe Cleanup: Replace some `NULL`s with `nullptr`.
Also, use `OPERATOR_FINISHED` as a default for modal events instead of
`FILTER_MESH_MODAL_CONFIRM`.
2023-03-03 18:18:48 +02:00
Tarek Yasser a685beabb8 Fix: Undo not working properly with Mesh Filter
The previous behaviour was that if you applied a mesh filter and
modified its strength for example through the redo last operator, it
would additively add the new update on top of the existing one. It would
also add an undo step.

This was due to calling `SCULPT_undo_push_end_ex(ob, true)` on both
operator confirmation and cancellation, where it was only needed on
cancellation.
2023-02-28 21:10:44 +02:00
Tarek Yasser 76a7387276 Cleanup: Fix memory leaking when cancelling Filter Mesh operators.
Seems like the memory leak was related to `SCULPT_undo_push_end` not
being recursive. Using `SCULPT_undo_push_end_ex` and passing
`use_nested_undo` as true fixes the leak.

Replace line comments (//) with block comments (/**/).
Add a `RELEASE` entry for `LEFTMOUSE` for the filter mesh keymap.
Replace `NULL` with `nullptr`.
2023-02-28 20:31:38 +02:00
Tarek Yasser 8bcc2eb55b Merge branch 'main' of https://projects.blender.org/blender/blender into sculpt_mode_add_menu_operators 2023-02-26 23:48:40 +02:00
Tarek Yasser e4dc18a2fe Mesh Filter: Revert the changes made to `poll()` 2023-02-26 23:43:02 +02:00
Tarek Yasser 115ec325f2 UI: Expose Sphere operator
Also setup `poll()` for greying out `Erase Multires Displacement`.
2023-02-25 21:54:05 +02:00
Tarek Yasser 24197ad83e Cleanup: Remove accidental CMakeLists.txt modification. 2023-02-22 03:22:22 +02:00
Tarek Yasser 643942c219 Mesh Filter: Integrate Joseph Eager's cancel implementation. 2023-02-22 03:05:13 +02:00
Tarek Yasser 04a35b897f Merge branch 'main' of https://projects.blender.org/blender/blender into sculpt_mode_add_menu_operators 2023-02-22 01:38:32 +02:00
Tarek Yasser bfa51d9bd6 UI: Add modal keymap for Mesh Filter + depends on cursor flag.
Modify `SCULPT_OT_mesh_filter` to use the `OPTYPE_DEPENDS_ON_CURSOR`
flag.
Move filter specific initialization into its own function for
readability.
2023-02-18 14:06:10 +02:00
Tarek Yasser d43c165730 Pull Joseph Eagar's mesh filter improvements 2023-02-17 20:45:03 +02:00
Joseph Eagar e2a41e65a5 Rebase 102427 2023-02-16 21:16:25 -08:00
Tarek Yasser d6a0fccf28 UI: Mesh filters now change the cursor and update the statusbar.
buildbot/vexp-code-patch-coordinator Build done. Details
Mesh filters now use the `WM_CURSOR_EW_SCROLL` and have "LMB: Confirm"
as their statusbar message.
2023-02-16 00:41:49 +02:00
Tarek Yasser dc452e06f8 Merge branch 'main' of https://projects.blender.org/blender/blender into sculpt_mode_add_menu_operators 2023-02-14 00:16:35 +02:00
Tarek Yasser 8f839cd93a UI: Remove redundant operator property/setting assignments. 2023-02-13 22:06:36 +02:00
Tarek Yasser 256489d011 UI: Add the 8 variants of sculpt mesh filter to the sculpt menu.
The 8 variants are: 'SMOOTH', 'SURFACE_SMOOTH', 'INFLATE', 'RELAX',
'RELAX_FACE_SETS' 'SHARPEN', 'ENHANCE_DETAILS' 'ERASE_DISCPLACEMENT',
'RANDOM'.
2023-02-13 20:39:41 +02:00
Tarek Yasser 7ddb21152a UI: Add 8 more operators to the sculpt menu.
Added "Toggle Visibility", "Hide Active Face Set", "Invert Visible",
"Box Trim", "Lasso Trim", "Line Project", "Fair Positions", "Fair
Tangency".
2023-02-11 03:26:23 +02:00
Tarek Yasser 11c6df7a02 UI: Reorder `Sculpt` menu and add Move, Roatte, Scale. 2023-02-10 18:51:19 +02:00