Commit Graph

73934 Commits

Author SHA1 Message Date
Campbell Barton
f681e9ea49 Fix UV gizmos poll failing with multiple objects
Only the active objects UV selection was checked.
This also avoids checking UV selection for every poll call,
now this is only done on refresh.
2020-01-09 17:50:52 +11:00
Campbell Barton
ce5a5b553d Fix multiple UV gizmos being linked at once
This happened when reloading the file after using different gizmos.
2020-01-09 17:01:05 +11:00
Campbell Barton
ac4057b95a Gizmo: use pivot center for UV gizmos 2020-01-09 16:42:24 +11:00
Campbell Barton
73098d2ca5 Gizmo: improve 2D arrow select detection
Fixes issue where UV transform circle was being masked by the arrows.
2020-01-09 12:45:58 +11:00
Campbell Barton
830aa758b4 Fix T72900: Mouse-move causes redraw when gizmos are hidden
Move redraw tagging to the gesture modal operator
to make sure this only runs when it's needed.

Caused by d591c8a350, which tagged the region to redraw when the
gizmos were tagged to refresh, however they wont redraw when hidden.
Thanks to @jbakker for finding the root cause.
2020-01-09 11:07:28 +11:00
Campbell Barton
99c798b8a6 Cleanup: centralize WM_gesture_end call
Prepare for adding extra logic on free (next).
2020-01-09 10:36:53 +11:00
Antonio Vazquez
533d146f48 Fix T72976: CRASH When Selecting Camera 2020-01-08 22:46:50 +01:00
William Reynish
c3b406a7c3 Revert recent change to the particles RNA, and only affect the UI.
Even though the name change is more correct, we don't want to change the API at this time.
2020-01-08 20:37:35 +01:00
mano-wii
f1516e007d Fix T72288: Left click on empty space inside file browser resets scrolling
Wasn't checking if there actually is a selection.
2020-01-08 16:45:09 +01:00
Julian Eisel
f52d9a878d Fix T72878: Alphabetical sorting in Outliner sorts shorter names last
E.g. "Cube" would be placed after "Cube.001", which is not what you'd
expect. 2.80 handled this correctly.

Loosely based on D6525 by @radcapricorn, but found a bug in that and
prefered to do some further adjustments.

Also activates test for this case.
2020-01-08 16:08:10 +01:00
Sergey Sharybin
cea67064da Fix T62311: Metaball animation playback crash
This commit restores old metaball workaround which was forcing their
update from a single thread.

The root of the issue comes to the fact that metaball evaluation needs
to access metaballs from duplilists, so they are properly polygonized
with corresponding motherball which is outside of duplilist.

In a more ideal world this will be implemented in a way that will not
require iterating over all duplilists, but only through the ones which
actually contain metaballs for the given motherball. In practice this
ends up in a huge refactor in both relations builder (which meeds to
see whether there are metaballs in duplilists without actually
creating duplilist as it can not be done prior scene is evaluated)
and in metaballs area which need to use new relations information.
Additionally, metaball evaluation must become thread-safe, which is
currently not a case with dupli-object matrices. There might be issues
deeper in polygonization code which I am not aware of.

Having this forced single-thread evaluation is same as Blender 2.79
was doing.

Think it's better to have slower but simpler solution than to invest
time in refactoring area which requires deeper design changes.

Reviewed By: dfelinto

Differential Revision: https://developer.blender.org/D6539
2020-01-08 14:38:54 +01:00
Philipp Oeser
75f82d28e3 Fix T72235: crash entering particle editmode with non-valid PTCacheEdit psys pointer
Caused by own rBe02ecd599bdc.
Can happen with e.g. cloth.

Also fixes T59583

Maniphest Tasks: T72235, T59583

Differential Revision: https://developer.blender.org/D6547
2020-01-08 13:33:46 +01:00
mano-wii
15ef1d4c80 Fix T72119: UV/Image Editor theme face colors with no effect
The `in int flag;` in `gpu_shader_2D_edituvs_faces_vert.glsl`
don't have the values `FACE_UV_ACTIVE` and `FACE_UV_SELECT`.

Add face flags then.

Original patch is from @EitanSomething

Differential revision: https://developer.blender.org/D6520
2020-01-08 09:21:39 -03:00
Campbell Barton
07a959067d Fix T72667: Collection delete hierarchy in edit-mode crashes
Also resolves T72848, although updating multiple windows doesn't work,
this matches 2.7x behavior.
2020-01-08 22:35:26 +11:00
Campbell Barton
010c551257 DNA: mark OrigSpace structs as run-time 2020-01-08 16:34:27 +11:00
Campbell Barton
b42b837b7e Cleanup: mesh data header
This file had become disorganized, it wasn't clear which structs/flags
were deprecated.

- Add comments explaining what each struct is for.
- Use doxy sections.
- Remove outdated notes, unused flags.
- Group custom-data.
- Group deprecated structs in their own section.

T
2020-01-08 16:34:24 +11:00
Campbell Barton
a32ee63660 Fix T72919: NDOF 'Free' orbit preference is ignored
Regression from 6288dbffb6.
2020-01-08 14:30:47 +11:00
Campbell Barton
0e37045f32 Cleanup: use paint/sculpt prefix in BKE_paint.h
PoseIKChain for example reads as if this is related to armature/pose
when it's a sculpting feature.
2020-01-08 12:59:48 +11:00
Pablo Dobarro
55daa0d444 Fix T72251: Add rotate brush as constrained by radius for automasking
This brush should be added to the set of brushes where we know which
vertices are going to be affected by the brush when starting the stroke.
This way we can limit the automasking only to those vertices instead of
flood filling the whole mesh from the active vertex.

All brushes that are not in this set will automask by flood filling the
mesh when starting the stroke. To improve this and make it work as most
users expect, we need a fast way to calculate topological distances on
high poly meshes.

Reviewed By: jbakker

Maniphest Tasks: T72251

Differential Revision: https://developer.blender.org/D6376
2020-01-07 17:11:18 +01:00
Pablo Dobarro
4f70af34e0 Fix T72647: Check if the PBVH type makes sense for the sampling mode
Before this it was possible to use the operator with Dyntopo sample mode
with a PBVH type GRIDS or FACES, causing a crash. Now we check first if
the PBVH type is correct before calling the sampling function.

We also check if the PBVH exists, which may also cause a crash.

Reviewed By: jbakker

Maniphest Tasks: T72647

Differential Revision: https://developer.blender.org/D6475
2020-01-07 17:10:02 +01:00
Pablo Dobarro
bc9c8c35e1 Fix T72830: Check if the mesh has mask data before extractig or slicing
This was causing a crash when the mesh does not have the mask data
initialized. I also added the same check to mask extract as it works the
same way.

Reviewed By: jbakker

Maniphest Tasks: T72830

Differential Revision: https://developer.blender.org/D6513
2020-01-07 17:03:59 +01:00
Pablo Dobarro
fdf89acc86 Sculpt: Pose Brush with Inverse Kinematics
This commits introduces the pose_ik_segments brush property in the Pose Brush. When increasing the IK segments count, the brush generates more segments and weights associations following the topology of the mesh. When moving the brush, these segments are transformed using an IK solver and they are used to deform the mesh.

When pressing Ctrl, the brush controls the segments' roll rotation instead of using the IK solver. The brush falloff controls how much rotation is propagated from the first to the last segment in the chain.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6389
2020-01-07 16:57:54 +01:00
mano-wii
bd766f8f06 Fix T72935: Applying transform to parent mesh changes rotation of children using quaternions
`ob->quat` is `v4`.
2020-01-07 12:42:37 -03:00
mano-wii
0bd598d388 bmesh_intersect_edges: Remove unnecessary index setting 2020-01-07 11:53:00 -03:00
Antonio Vazquez
94d19d5ff5 GPencil: Fix unreported memory leak
Thanks to @dfelinto for his help
2020-01-07 14:14:19 +01:00
Antonio Vazquez
a99f6e5df1 GPencil: Remove memory allocation for triangles
This will be replaced later, so it's not logic allocate now.
2020-01-07 14:14:19 +01:00
Sergey Sharybin
122a0afa96 Blenlib: Add C++ guard for Queue 2020-01-07 13:49:10 +01:00
Campbell Barton
581a5ee0cc Edit Mesh: add comments to EDBM_op_finish
Was marked 'FIXME' however this only ever happens in exceptional cases.

Also comment why tagging is needed in this case.
2020-01-07 22:32:40 +11:00
Sergey Sharybin
bcfa1c3051 Depsgraph: Revert unwillingly staged change from previous commit
One of those days, sorry for the spam.
2020-01-07 12:26:17 +01:00
Sergey Sharybin
b6b5924e69 Depsgraph: Cleanup spelling
For some reason got sneaked into previous commit.
2020-01-07 12:25:16 +01:00
Sergey Sharybin
5be0b2bc4e Depsgraph: Refactor, make evaluation stages easier to extend
Currently should be no functional changes, but allows to extend it
for experiments or for real fixes.
2020-01-07 12:19:57 +01:00
Sergey Sharybin
8534fb1b01 Depsgraph: Cleanup, move private functions to anonymous namespace
Allows to have shorter definition lines.
2020-01-07 12:19:57 +01:00
Sergey Sharybin
2c9ca87cef Cleanup: Remove unused task scheduler constants 2020-01-07 12:19:57 +01:00
Campbell Barton
c128b30bd1 Edit Mesh: pass in Mesh instead of BMEditMesh to EDBM_update_generic
This avoids a list lookup in Main (recently added), passing in a mesh
instead of an edit-mesh, since the mesh links to the edit-mesh.
2020-01-07 22:14:36 +11:00
Philipp Oeser
cb1f48ab7f Fix T69246: Outliner - Objects Filter Selected, Hidden and Active not
working properly

'outliner_extract_children_from_subtree()' (introduced in
rB40a1c671655c) was extracting the children of non-matching parents
regardless of their own matching state.

Now properly filter the subtree prior to extracting.

Maniphest Tasks: T69246

Differential Revision: https://developer.blender.org/D6517
2020-01-07 11:53:27 +01:00
Antonio Vazquez
b6bcfd2a6e GPencil: Remove is_annotation parameter
Now, the name of the operator is used.
2020-01-07 11:44:51 +01:00
Antonio Vazquez
fa3a0697b8 Annotations: Split annotation operators and pointer functions
This allows to have annotation panels and grease pencil object panel at the same time.

Differential Revision: https://developer.blender.org/D6467
2020-01-07 11:34:20 +01:00
Philipp Oeser
e237b78b91 Fix T72499: UV Editor : Selection tools don't deselect when dragging on an empty space [face selection]
If pre-deselecting takes place, then flushing was not happening
('changed' never became true because no new faces were being selected).

This rectifies the logic. (also removed redundant double initialization
to false)

Maniphest Tasks: T72499

Differential Revision: https://developer.blender.org/D6459
2020-01-07 10:39:56 +01:00
Campbell Barton
11292edba6 BMesh: remove BMEditMesh.ob pointer
Remove this pointer since it's linking Mesh data back to the object,
where a single edit-mesh may have multiple object users,
causing incorrect assumptions in the code.

Resolves dangling pointer part of the T72667 crash,
although there are other issues which still need to be fixed.

In EDBM_op_finish and EDBM_update_generic,
full Main lookups have been added which should be replaced with mesh
argument or the update tagging moved elsewhere.
2020-01-07 17:47:17 +11:00
Campbell Barton
1ef59d0eb5 BMesh: remove BMEditMesh.ob use for ED_transform_snap_object_* API 2020-01-07 17:02:50 +11:00
Campbell Barton
32b7056acd BMesh: remove BMEditMesh.ob use for ED_mesh_mirror_* API 2020-01-07 15:39:08 +11:00
Campbell Barton
9d7abce359 BMesh: remove BMEditMesh.ob use for select mirror 2020-01-07 14:45:01 +11:00
Campbell Barton
8bdac377d8 BMesh: remove BMEditMesh.ob use for undo 2020-01-07 14:36:49 +11:00
Campbell Barton
e95c0fba09 BMesh: remove BMEditMesh.ob use BKE_editmesh_lnorspace_* API
Note that this is a bit clumsy having both edit-mesh and mesh,
BKE_editmesh_ensure_autosmooth & BKE_editmesh_lnorspace_update
are often called together, these could be made into a single functions.
2020-01-07 14:27:59 +11:00
Campbell Barton
6e39aeb2cd BMesh: remove BMEditMesh.ob use for draw manager 2020-01-07 14:06:33 +11:00
Campbell Barton
a8d11995bf BMesh: remove BMEditMesh.ob use for vert coord access, projection 2020-01-07 13:53:03 +11:00
Campbell Barton
592e245a90 BMesh: remove BMEditMesh.ob use for Bevel
The pointer is causing issues since two objects can share an edit-mesh,
removing in stages, see T72848.

Also fixes the material index being clamped by every object.
2020-01-07 13:41:03 +11:00
William Reynish
3a35301fd1 Fix T70821: Hair Radius Is Actually Hair Diameter
Renamed hair tip and root properties to be called diameter rather than radius. The old name was incorrect.
2020-01-06 21:54:56 +01:00
Pablo Dobarro
04ddd6f717 Fix T72700: Missing flush vert visibility on sculpt undo
This was caused by a missing call to BKE_mesh_flush_hidden_from_verts()
when a SCULP_UNDO_HIDDEN undo step is processed.

Reviewed By: jbakker

Maniphest Tasks: T72700

Differential Revision: https://developer.blender.org/D6488
2020-01-06 16:59:22 +01:00
mano-wii
55fbb0fd69 BM_mesh_intersect: Match the mesh in Debug build with Release
Prevents regression in unit tests.
2020-01-06 12:33:46 -03:00