Age | Commit message (Collapse) | Author |
|
Use matching 2d/3d suffix.
|
|
This was added for scale-cage manipulator, but seems generally useful.
|
|
This is needed for other manipulator placement.
|
|
Removes need for empty keymap
|
|
Also add bevel tool.
|
|
With the clear separation between data and a state we need to make sure
operators and other areas are readingstate from evaluated datablocks.
Code-wise it means that all evaluated values are to be read from dataglock
which is owned by dependency graph, using DEG_get_evaluated_id() or similar
helper.
Reviewers: brecht, mont29, campbellbarton, dfelinto
Differential Revision: https://developer.blender.org/D3036
|
|
Cursor can be a system one or drawn with OpenGL.
Before, dragging the transform manipulator would hide the cursor and reset it to the initial positon.
|
|
|
|
|
|
Current manipulator now follows active tool.
|
|
This was stored in the workspace, selected from the view.
Move both to scene since custom orientations are closely related to your
scene data.
|
|
This caused too many problems syncing object modes
with multiple objects/windows/workspaces, see: D3130 for details.
|
|
- Undo that changes modes currently asserts,
since undo is now screen data.
Most likely we will change how object mode and workspaces work
since it's not practical/maintainable at the moment.
- Removed view_layer from particle settings
(wasn't needed and complicated undo).
|
|
|
|
Add ED_screen_window_find, BKE_workspace_edit_object
|
|
|
|
|
|
This adds EvaluationContext into TransInfo
|
|
|
|
There are more issues when changing view-layer (esp. with edit-mode).
|
|
As with operators, allow manipulators to grab the cursor.
Previously this was enabled for all 3D manipulators.
|
|
Use dynamically generated message publish/subscribe
so buttons and manipulators update properly.
This resolves common glitches where manipulators weren't updating
as well as the UI when add-ons exposed properties which
hard coded listeners weren't checking for.
Python can also publish/scribe changes via `bpy.msgbus`.
See D2917
|
|
|
|
|
|
|
|
The RenderResult struct still has a listbase of RenderLayer, but that's ok
since this is strictly for rendering.
* Subversion bump (to 2.80.2)
* DNA low level doversion (renames) - only for .blend created since 2.80 started
Note: We can't use DNA_struct_elem_find or get file version in init_structDNA,
so we are manually iterating over the array of the SDNA elements instead.
Note 2: This doversion change with renames can be reverted in a few months. But
so far it's required for 2.8 files created between October 2016 and now.
Reviewers: campbellbarton, sergey
Differential Revision: https://developer.blender.org/D2927
|
|
|
|
|
|
Without this, scaling single objects wasn't working usefully.
|
|
Name wasn't right since this only unlinks from manipulator maps.
|
|
Was activated with the regular scale manipulator,
move to own tool since they are different ways to access scale.
|
|
For now only show this when scale manipulator is active.
|
|
|
|
|
|
ifdef'd out for now
|
|
|
|
|
|
|
|
|
|
A single manipulator could only assign a single operator to each part.
Now each part can have it's own.
Also modify 2D selection callback, 2D started at 1, 3D at 0.
Now use -1 for unset value, start both at 0.
|
|
Re-use operator return flags for manipulator modal & invoke,
this means manipulators can allow navigation or other events to be
handled as they run - see T52499
|
|
We do have an history of those pieces of evil in our code, would be nice
to get fully rid of it, but at the very least let's not add more of them
in new code. :)
|
|
|
|
Each manipulator was doing this slightly differently,
use shared function which can optionally override each matrix.
|
|
Also internal changes so arrow3d matches grab3d's behavior.
Needed to add WM_MANIPULATOR_DRAW_OFFSET_SCALE flag so
we can optionally apply offset in worldspace or screen scaled values.
|
|
They weren't used anywhere,
both C & Py manipulators better assign to vars (no lookup needed).
|
|
Manipulator enum types are easy to confuse, use typedefs.
|
|
Needed for RNA/Py API
|
|
Naming was confusing, while technically correct -
the result is no scaling (manipulator ignores zoom-level).
Also remove 3D from name since this can be supported for 2D views too.
|
|
This makes manipulator access closer to operators,
and allows Python access.
This adds RNA for manipulators, but not Python registration yet.
- Split draw style into 2x settings:
`draw_style` (enum) & `draw_options` (enum-flag)
- Rename wmManipulator.properties -> properties_edit,
Use wmManipulator.properties for ID-properties.
Note that this area of the API will need further work since
manipulators now have 2 kinds of properties & API's to access them.
|