Commit Graph

3163 Commits

Author SHA1 Message Date
cfb6ffd48f Fix T70386: Crash when snapping to edges in specific situations
The callbacks get elements through indexes,
so make sure they're not "dirty".
2019-10-15 14:59:30 -03:00
5ba41bea8a Fix autokeyframe not working on bones mirrored bones
The previous code for this didn't work as the MIRROR bone flag would be
cleared before the autokeyframe code was run.
2019-10-14 18:16:21 +02:00
f185cc0ca5 Fix T70729: Multi-object edit UV not transform all meshes
Detail that went unnoticed in rBbfc9d426bb95
2019-10-11 16:11:57 -03:00
Julian Eisel
1857aa32bd UI: Only hide locked transform manipulator axes for matching spaces
The manipulator would hide axes that were locked, even if the lock was
applied to a different space. That would lead to confusing behavior of
the manipulator. E.g.:
* Add armature
* Enter Pose Mode and select the bone
* Lock X and Y location in the Sidebar
* Enable the Move tool
* Only the Y axis is visible, but doesn't do anything on dragging
The manipulator would only show the Y axes, even though the lock is
applied to the bone's local Y axis, which matches the manipulators Z
axis.

Differential Revision: D6021

Reviewed by: Brecht van Lommel, William Reynish
2019-10-10 15:17:08 +02:00
Julian Eisel
cf192bdd43 Fix missing manipulator update when toggling bone lock 2019-10-10 15:08:35 +02:00
Julian Eisel
7c88d84515 Fix: Manipulator visible if root or tip of locked bone is selected
When an edit-bone was locked, we hid the transform manipulator for it.
But only if the bone itself was selected, not when the root or tip were
selected, even though they are locked then too. So this makes sure the
manipulator is shown in neither case.
2019-10-10 15:06:11 +02:00
Dalai Felinto
0812949bbc Local Collections: Allow users to show hidden collections
Users now can turn on in a viewport collections that are temporarily
hidden (eye) in the view layer.

Design task: T61327

As for the implementation, I had to decouple the visibility in the
depsgraph from the visibility in the view layer.

Also there is a "bug" that in a way was there before which is some
operators (e.g., writing a text inside of a text object, tab into edit
mode) run regardless of the visibility of the active object. The bug was
present already (with object type visibility restriction) in 2.80 so if
we decide to tackle it, can be done separately (I have a patch for it
though P1132).

Reviewed by: brecht (thank you)

Differential Revision: D5992
2019-10-08 19:16:05 -03:00
0c0d2f3581 Fix T70406: crash editing keyframes while in sculpt mode 2019-10-07 18:04:35 +02:00
60f0a94ab2 Cleanup: clang-format 2019-10-07 15:22:22 +11:00
295f888433 Fix T70504: Moving nodes in the node editor stops after hotkey is lifted
This basically reverts 540eb2dc1e for an alternative solution that
only enforforces release_confirm [ignoring the preference] on mouse for
the node editor.

Approved by @brecht in T70504.
2019-10-04 15:55:08 +02:00
c07eaa3384 Cleanup: argument naming, redundant NULL checks 2019-10-03 07:32:28 +10:00
92686c667e Cleanup: structs, cmake file lists 2019-09-27 12:45:54 +10:00
cf2c09002f Fix T69488: Hair particles: rekey disolves the hair then crashes
Caused by rB914427afd512.

Since above commit 'pe_get_current' checks for an active depsgraph. This
caused the skipping of handling
`PT_CACHE_EDIT_UPDATE_PARTICLE_FROM_EVAL`for everything calling
`PE_get_current` (this passes a NULL depsgraph as opposed to
`PE_create_current`). So we now pass a depsgraph here as well...

Note there are two RNA cases where we pass NULL, namely
- rna_ParticleEdit_editable_get
- rna_ParticleEdit_hair_get
I guess these should be fine though (no functional change to current
master)

Reviewers: sergey

Maniphest Tasks: T69488

Differential Revision: https://developer.blender.org/D5752
2019-09-26 17:27:43 +02:00
5603725389 Fix T70126: Can't Snap To Vertex With Rigidbody
The idea is to ignore dependency which comes via rigid body solver.

Reviewers: mano-wii

Reviewed By: mano-wii

Differential Revision: https://developer.blender.org/D5900
2019-09-26 15:25:21 +02:00
b29ad7c91a WM: clean up cursors constants and code
There was a mix of old and new constants. Now have one list of WM_CURSOR_*
cursor types, using GHOST standard cursors when available and otherwise falling
back to our custom cursors.

Ref D5197
2019-09-26 14:31:48 +02:00
4db2a08281 Motion paths: Refactor, make update range more explicit
Allows to have a higher versatility in the API.

Should be no functional changes.
2019-09-25 14:40:05 +02:00
69ad44d5b4 Cleanup: remove unimplemented texture space rotation variables 2019-09-23 16:27:23 +02:00
5c89c689db Fix selection and snapping misusing texture space as boundbox
This fixes the regression from T70103 introduced by the fix for T70103.
2019-09-23 16:27:03 +02:00
Yevgeny Makarov
7a83b64f7b UI: Fix Capitalization
Differential Revision: https://developer.blender.org/D5716
2019-09-20 14:31:24 +02:00
3794d9ef6e Fix T69797: Shear gizmo doesn't update on pivot point change 2019-09-20 14:11:43 +10:00
6dc7cefb78 Fix T69999: Active element pivot crashes without active object 2019-09-20 10:23:47 +10:00
d8a7e5ee32 Cleanup: spelling 2019-09-19 13:19:53 +10:00
e7fde3a0f3 Fix transforming paint curve edit points also doing
ED_sculpt_end_transform in sculpt mode

followup to rB67310ed97618, thx @mano-wii for the heads up.
2019-09-18 19:58:42 +02:00
67310ed976 Fix T70006: crash when transforming paint curve edit points in sculpt mode
This was caused by rB309cd047ef46.
Above commit introduced code that would skip early for sculptmode
(leaving out the neccessary createTransPaintCurveVerts).

Reviewers: pablodp606, jbakker, mano-wii

Maniphest Tasks: T70006

Differential Revision: https://developer.blender.org/D5837
2019-09-18 19:27:47 +02:00
5fe14f32cf Quiet self assignment warning 2019-09-14 17:00:19 +02:00
0547a77536 Cleanup: use const args, variables 2019-09-14 08:12:53 +10:00
f71d89bb04 Fix T69804: Transform tools in sculpt mode fails with transformed objects
Reviewed By: mano-wii

Maniphest Tasks: T69804

Differential Revision: https://developer.blender.org/D5777
2019-09-13 16:30:06 +02:00
0ec6564668 Cleanup: unused headers (GPU) 2019-09-14 00:22:24 +10:00
492a7998d5 Fix T69785: crash dragging in empty space in edit mode 2019-09-12 11:34:42 +02:00
9fa8614b32 Cleanup: compiler warnings 2019-09-12 11:34:42 +02:00
bbae7874c0 Fix T69782: crash using gizmos in grease pencil edit mode 2019-09-12 11:14:44 +02:00
32b49f9e9f Fix transforming armature origins
Using geometry update doesn't work on armatures.
2019-09-12 07:28:49 +10:00
2f08a25d83 Cleanup: Warning: 'sld': local variable is initialized but not referenced 2019-09-11 15:22:00 -03:00
3bd4f229be Transform: Edit Mesh: Support mirror on all axes
Part of T68930

Now two other mirror options that can be enabled simultaneously: Mirror Y and Z.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Subscribers: ThatAsherGuy

Differential Revision: https://developer.blender.org/D5720
2019-09-11 13:49:18 -03:00
309cd047ef Sculpt: Transform tool
The sculpt mode transform tool applies the sculpt pivot transformation to all vertices, taking XYZ symmetry into account.
This commit also includes an operator to set the pivot point initial position.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5717
2019-09-11 13:07:19 +02:00
73a199e96a Depsgraph: Pass bmain to depsgraph object creation
Currently unused, but will allow to keep of an owner of the depsgraph.

Could also simplify other APIs in the future by avoiding to pass bmain
explicitly to relation update functions and things like that.
2019-09-11 10:43:27 +02:00
559df2fed9 Transform: Snap: Fix mixed snap without edge
Face snapping was disregarded when approaching an edge.
2019-09-10 22:09:05 -03:00
423435bd2e Cleanup: sort struct, file lists 2019-09-09 21:09:19 +10:00
1b0dd5a215 Cleanup: style, spelling 2019-09-07 21:28:05 +10:00
e858d21ae4 Transformation Constraint: implement a Mix Mode option.
Allow selecting how the new location/rotation/scale is combined with
the existing transformation. This is most useful for rotation, which
has multiple options, and scale, which previously could only replace.
2019-09-06 12:53:35 +03:00
f8362836a5 Copy Transforms: add a mixing mode option.
Allow combining location, rotation and scale at the same time,
using one constraint. The mixing modes are based on matrix
multiplication, but handle scale in a way that avoids creating
shear.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5640
2019-09-06 07:58:13 +03:00
f4056e9ec3 Copy Rotation: implement new mixing modes that actually work.
Upon close inspection, the way the Offset mode works in the
Copy Rotation constraint makes no sense, and in fact, destroys
the rotation of its owner unless either it's single axis, or
the order is set specifically to `ZYX Euler`.

Since it can't simply be changed because of backward compatibility
concerns, replace the checkbox with a dropdown that provides a set
of new modes that actually make sense.

Specifically, add a mode that simply adds Euler components together,
and two options that use matrix multiplication in different order.

The Python use_offset property is replaced with compatibility stubs.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5640
2019-09-06 07:57:16 +03:00
08991c01f0 Fix unreported: snapping to 3d tracking markers sometimes fails 2019-09-05 14:48:18 -03:00
4e731ec97b Transform: Split transform_conversions into multiple files.
Part of T68836

`transform conversions.c` is a file that is getting too big (almost 10,000 lines).
So it's a good idea to split it into smaller files.

differential revision: https://developer.blender.org/D5677
2019-09-05 14:35:38 -03:00
0cb730146b Transform: remove X/Y shear tool option
Instead use vertical cursor motion for Y axis shear.

This removes the shear_axis option completely since we now have two
axis options used by shear it's not needed.
2019-09-04 15:33:07 +10:00
966c00060f Transform: Improve hierarchy in mixed snap edge detection. 2019-09-04 02:16:50 -03:00
b3b59e3b56 Transform: support snap to children with 'Affect Parents'
Resolves T69398
2019-09-04 02:04:01 +10:00
e5c8f096f8 Cleanup: expand checks for selection when snapping
Adding extra checks here was getting unreadable,
expand to allow for easier to follow logic.
2019-09-04 02:04:01 +10:00
a620501acb Fix T62152: Shear X and Y are swapped 2019-09-03 20:36:31 +10:00
a3559a70dd Fix T69404: Merge by distance crash with Unselected
Error introduced when removing the automerge bmesh operator.
2019-09-03 00:35:22 +10:00