Commit Graph

75472 Commits

Author SHA1 Message Date
Bastien Montagne
22e6ae11b4 VGroup search: do not try to search for empty string.
Vgroups always have a non-empty name, this is just loss of time...
2018-11-27 21:17:06 +01:00
Bastien Montagne
b4087ea639 Modifiers: Refactor MOD_deform_mesh_eval_get() helper a bit.
Now that function also takes expected number of vertices, and do the
checks against generated mesh internally.
2018-11-27 21:17:06 +01:00
Bastien Montagne
4543da6ca6 MOD_simpledeform: do not compute mesh when not needed.
Related to T57972.
2018-11-27 21:17:06 +01:00
Bastien Montagne
c89bb6f165 MOD_smooth: do not compute mesh when not needed.
Related to T57972.
2018-11-27 21:17:06 +01:00
Bastien Montagne
9c82cc5123 MOD_smooth: do not compute mesh when not needed.
Also fixes potential memory leak.

Related to T57972.
2018-11-27 21:17:06 +01:00
Campbell Barton
bd957435ac Cleanup: tweak ED_region_is_overlap checks 2018-11-28 06:31:13 +11:00
Dalai Felinto
e9875fc82c Fix local view undo (T58051)
Like in 2.7x we don't restore the previous view zoom.

This goes along the fact that we don't store viewport navigation
transformations either.
2018-11-27 16:50:07 -02:00
Dalai Felinto
9c546c70d7 Fix localview duplicated objects not in localview
Following the behaviour present in Blender 2.7x, where if you duplicate
an object it will show in all the local views the original object was
visible.
2018-11-27 15:11:25 -02:00
Howard Trickey
365a5b75c1 Partial fix for T57868, crash when using bevel from Python.
These changes are necessary. Need to mark vertices of edges passed
in geom; also the normals.out slot has a custom element type, not
ELEM, so need to prevent attempt by python code to convert it to
an elem.  But this leaves a memory leak. I will rework code to not
use normals.out slot at all, but that's a bigger fix.

Now there is a crash in a different place (GPU code). Think that if
using Op on its own (instead of from edbm_bevel_calc, there needs to
be a dependency graph update and maybe more?
2018-11-27 09:59:03 -05:00
Clément Foucault
1d4ad68198 Workbench: Fix crash when enabling cavity 2018-11-27 15:08:35 +01:00
Brecht Van Lommel
86e88df03c Fix outliner click select with tablets, after recent changes. 2018-11-27 15:04:42 +01:00
Brecht Van Lommel
a80ddb7f9a Fix file browser click to select not working on tablets, after recent changes.
The highlight on mousemove operator should not swallow events.
2018-11-27 14:21:04 +01:00
Pablo Vazquez
0217af2f99 UI: Bring back User Preferences entry in Editors list.
It's nonstandard and kind of weird, but it's nice when making keymaps, themes, quickly test things without spawning a new window.
2018-11-27 14:19:06 +01:00
Clément Foucault
32ab0647a5 DRW: Implement Hair Weight drawing
Fixes T57931 Particle weight edit mode is not supported.

There is a bug that prevent refresh of the toolsettings on which is based
the weight / non-weight display selection (see T58086).
2018-11-27 13:49:22 +01:00
Gaia Clary
4c1a01d1a0 fix: Collada Exporter: improve usage of viewlayer and depsgraph
* The exporter now gets the view layer from the context
  instead of the depsgraph.
* The depsgrap is now fetched only on demand since the graph
  is not always needed for exporting (currently only for armature exports).
2018-11-27 12:22:30 +01:00
Philipp Oeser
39dcf6a10a make node editor tool region background transparent
followup to rB1944bca49a22c18b059d84daf56908b6e15591ad

Differential Revision: https://developer.blender.org/D3999
2018-11-27 11:09:56 +01:00
Philipp Oeser
00d438639d Fix T57929: missing UI updates when changing active object
was caused by NC_SCENE notifier being skipped with a non-scene reference
showed e.g. in timeline not updating keyframes/cachelines

Maniphest Tasks: T57929

Differential Revision: https://developer.blender.org/D4000
2018-11-27 11:07:44 +01:00
Bastien Montagne
47bf0a33ef Fix T57070: Take Two of 2.8 Crash in sculpting mode with tilling and Dyntopo.
Accessing ob->bb directly is not a good idea anyway.

Still, would like to know why/where this bbox is freed, since it is
allocated at least once by depsgraph eval, as part of
`BKE_object_handle_data_update()` function...
2018-11-27 10:43:01 +01:00
Campbell Barton
1944bca49a Tool System: use tools for node editor 2018-11-27 18:43:08 +11:00
Campbell Barton
1f8360171c Keymap: share annotation tool keymaps between spaces
Not sharing caused duplication in the keymap and
required a factory class generator.

Simplify tool & keymap definitions by sharing them.

It's highly unlikely we will ever want these to use different keys
once they're set as the active tool.
2018-11-27 17:52:15 +11:00
Alexander Gavrilov
a58f0eea4f RNA: expose access to B-Bone shape data from Python.
B-Bone shape is a non-trivial computation, so access to
the results would be useful for Python scripts working with
B-Bones, e.g. rig generation.

This exposes both final segment matrices, and the tangent
vectors computed from the custom handle bones.

Since the handle tangents use the axis+roll orientation math
of edit bones, add matrix conversion static methods to Bone.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D3983
2018-11-27 09:31:34 +03:00
Campbell Barton
fe65867c3d WM: add print for missing tool keymap
Also correct function name (gizmo -> tool).
2018-11-27 17:06:43 +11:00
Campbell Barton
030830be9a Revert "Fix texture space not updating in edit mode."
This reverts commit 3a038db576.

Caused CoW crash switching from edit to sculpt mode.
2018-11-27 14:18:44 +11:00
Campbell Barton
6fcaa5de06 Revert "Inline function BKE_mesh_boundbox_calc inside BKE_mesh_texspace_calc to avoid confusion."
This reverts commit e6322abad2.
2018-11-27 14:17:54 +11:00
Campbell Barton
26b1aa9943 Fix T58062: Missing redo panel 2018-11-27 11:52:56 +11:00
Campbell Barton
621405ee0f Merge branch 'master' into blender2.8 2018-11-27 11:41:33 +11:00
Campbell Barton
9a5df92c1b Fix T56872: Edge slide gives invalid normals
Add the ability to skip overwriting normals.
2018-11-27 11:40:32 +11:00
Dalai Felinto
b205cb369a Silence warning (potentially misused twidth) 2018-11-26 21:54:29 -02:00
Dalai Felinto
8e65e38649 Font textbox overflow: Different methods
Sometimes the text doesn't fit. What to do in this case?

* Overflow: The default behaviour still is to overflow the text.
* Truncated: If any text box is defined we can also not draw the text
  that goes outside the text boxes.
* Scale to Fit: For single-text box texts we can scale down the text until
  it fits.

To support textboxes we are bisecting the scale until we find a good
match. Right now the hardcoded iteration limit is 20, and the threshold 0.0001f.

An alternative in the future would be to tackle this by integrating existing
layout engines such as HarfBuzz.

Note: Scale to fit won't work for multiple text-boxes if any of them has
either width or height as zero.

Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D3874

Feature development sponsored by Viddyoze.
2018-11-26 21:47:33 -02:00
Campbell Barton
63db89b5c1 Fix crash iterating over empty view layer 2018-11-27 10:26:58 +11:00
Gaia Clary
3c76751a68 fix: Collada exporter: take care of parent inverse for exports of Armatures with child objects 2018-11-26 23:14:46 +01:00
Gaia Clary
c99f18a787 Fix: Collada Importer: Keep bindinfo option is not properly handled
Actually the option was not at all used and the importer always created the bindinfo custom properties.
2018-11-26 23:14:46 +01:00
Gaia Clary
65874d3f33 fix: Collada: The limit precision option does nothing 2018-11-26 23:14:45 +01:00
Antonioya
f753fd1779 GP: Correct Tonemapping for Blend Layers 2018-11-26 22:52:28 +01:00
Antonioya
26df95cff6 GP: Make Multiply blend works with opacity 2018-11-26 22:20:06 +01:00
Campbell Barton
fb262f942e Cleanup: style, includes 2018-11-27 08:01:54 +11:00
Clément Foucault
0b0322099c Fix T57930 : Wrong hair shading in particle edit mode
Implement strand selection visualisation but without any shading.

I think this is not the overlay job to draw the strands shaded.

We can already view the children strands shaded for now but we might add
an option to draw the shaded strand instead of (or in addition to) the
guide strand.
2018-11-26 21:25:33 +01:00
Clément Foucault
aac2eba1aa DRW: Cleanup: Fix missing uniform warning in curve edit mode 2018-11-26 21:25:33 +01:00
Clément Foucault
14ea3130ee DRW: Hair: Fix hairs not working properly with duplis
Fix T55355 Instanced hair not working well for EEVEE and workbench
2018-11-26 21:25:33 +01:00
Clément Foucault
408cdf0cba DRW: Add access to object dupli parent 2018-11-26 21:25:33 +01:00
Bastien Montagne
15add11595 MOD_shrinkwrap: do not compute mesh when not needed.
This modifier only uses mesh to get vgroup, which is only needed in case
modified object is indeed a mesh! Building a mesh from curve here is not
only useless and time-consuming, it will also easily fail the assert
about same number of vertices!

Note that surface_project and subsurf option also need more work at some
point, but this is probably not that urgent for now.

Also, use MOD_get_vgroup() helper in modifier code itself and pass
resulting MDeformVert & index to BKE_shrinkwrap's `shrinkwrapModifier_deform()`,
this is simpler and avoids duplicating vgroup handling code.

Related to T57972.
2018-11-26 21:07:50 +01:00
Bastien Montagne
ede994c314 MOD_curve: do not compute mesh when not needed.
This modifier only uses mesh to get vgroup, which is only needed in case
modified object is indeed a mesh! Building a mesh from curve here is not
only useless and time-consuming, it will also easily fail the assert
about same number of vertices!

Also, use MOD_get_vgroup() helper in modifier code itself and pass
reluting MDeformVert & index to BKE_curve's curve_deform_verts(),
this is simpler and avoids duplicating vgroup handling code.

Also fixes crash when used on lattice.

Related to T57972.
2018-11-26 21:07:50 +01:00
Bastien Montagne
8cd5edf850 MOD_cast: do not compute mesh when not needed.
This modifier only uses mesh to get vgroup, which is only needed in case
modified object is indeed a mesh! Building a mesh from curve here is not
only useless and time-consuming, it will also easily fail the assert
about same number of vertices!

Also fixes crash when used on lattice.

Related to T57972.
2018-11-26 21:07:50 +01:00
Jacques Lucke
c1adf938e6 Timer: Generic BLI_timer with Python wrapper
There is a new `bpy.app.timers` api.
For more details, look in the Python API documentation.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D3994
2018-11-26 20:25:15 +01:00
Brecht Van Lommel
d5778b5bc1 UI: rename "OpenGL" render engine to "Workbench".
Neither is very descriptive for its task, but at least workbench is more
future proof and distinguishes it from Eevee.
2018-11-26 19:05:37 +01:00
Alexander Gavrilov
7d32d87a86 Viewport: implement hiding faces in paint modes.
In 2.79 hiding works in paint modes with selection enabled,
so it is a missing feature. This implements it in texture
paint overlays and in workbench base shading.

Reviewers: fclem

Differential Revision: https://developer.blender.org/D3989
2018-11-26 20:26:29 +03:00
Antonioya
99f7934e19 GP: New Blend Layers functionality
Now it's possible define the blend mode between layers including the option to clamp the layer using underlying layers.

Also a new Simplify option has been added to disable blend layers.
2018-11-26 18:12:39 +01:00
Lukas Stockner
c0816cd03b Workbench: Add Curvature overlay for better visibility of surface detail for e.g. sculpting
The approach is fairly simple, just apply an edge detection filter to the view normal and scale the brightness based on that.

The overlay is disabled at object boundaries to avoid dark lines around objects.

Generally, this implementation follows the proposal of @monio at https://blender.community/c/rightclickselect/J9bbbc.
The changes are:
- Dynamic filter radius (on high-DPI displays, a radius of two is used)
- Options to reduce the strength of both ridges and valleys
- Tweaked function for the strength reduction (the original method actually had a local maximum, resulting in a brighter line inside valleys)
- Multiplication for blending instead of overlay, which doesn't work reliably with scene-referred intensities
- Renamed to point out the distinction between it and the SSAO-based cavity overlay

Reviewers: jbakker

Reviewed By: jbakker

Subscribers: billreynish, manitwo, linko, monio

Differential Revision: https://developer.blender.org/D3617
2018-11-26 17:31:18 +01:00
Brecht Van Lommel
9238b7308a Fix view layer set in the outliner of child window not syncing to parent window. 2018-11-26 16:57:59 +01:00
Brecht Van Lommel
b711be9b99 Keymaps: don't do CLICK event when PRESS was already handled.
This fixes conflicts where the tool and editor keymap use different event
types. Tools need to be able to mouse buttons on PRESS without triggering
CLICK events in the editor keymap.
2018-11-26 16:17:22 +01:00