Commit Graph

3242 Commits

Author SHA1 Message Date
Campbell Barton
ce7409fd13 Cleanup: use ED_object_ prefix for constraint functions
- ED_object_constraint_list_from_constraint was get_constraint_lb
- ED_object_constraint_list_from_context    was get_active_constraints
- ED_object_constraint_active_get   was get_active_constraint
- ED_object_constraint_active_set   was ED_object_constraint_set_active
2020-06-05 18:59:47 +10:00
Jeroen Bakker
e8b8e16b24 Code Cleanup: fcurve function naming 2020-06-05 09:30:15 +02:00
Campbell Barton
9e96c6d054 Cleanup: spelling 2020-06-05 14:34:00 +10:00
Nathan Craddock
30395a491f Fix T77073: Objects cannot be activated after collection exclude
When excluding a collection containing the active object in either
texture paint or particle edit mode, the object could not be reactivated
when the collection was re-enabled. This is because the object's mode
was left in TEXTURE_PAINT or PARTICLE_EDIT, and the activation code did
not have cases to handle these modes.

This moves the code that is run when toggling out of texture paint or
particle edit modes to functions so activation can properly toggle off
the respective interaction mode.
2020-06-04 21:48:04 +10:00
Campbell Barton
6f21137722 Object: refactor mode switching
Functionality here has become confusing over time,
this removes duplicate, similar functions, preferring to set the mode
instead of toggle, enter, exit.

Mode switching utility function behaved differently regarding undo,
'ED_object_mode_toggle' for example didn't skip the undo push
where 'ED_object_mode_set' did.
Some callers chose these functions based on the intended undo behavior,
even when toggling didn't make sense.

There was also ED_object_mode_generic_enter which was similar to
ED_object_mode_set, instead of the reverse of ED_object_mode_generic_exit.

Simplify object mode switching internals:

- Replace ED_object_mode_generic_enter with ED_object_mode_set.
- Remove ED_object_mode_toggle as nearly all callers needed to check
  the current mode so toggling would set the mode argument correctly.
- Use ED_object_mode_set for the object mode switching operator
  to simplify logic.
- Add ED_object_mode_set_ex which has an argument to disable undo,
  needed when loading undo data needs to set the mode.
- Remove unused ED_object_mode_exit.
2020-06-03 18:29:06 +10:00
Campbell Barton
53cb1a32db Cleanup: remove ED_gpencil_setup_modes from object mode set
Grease pencil mode switching functions already call this.
2020-06-03 18:26:02 +10:00
Julian Eisel
bd3ab27410 Library Overrides: Don't move collections to Scene Collection when overriding
When using the "Make Library Override" operator on instance collections, keep
the overriden collection in the parent collection of the instance empty.
Previoulsy the collection would be added to the scene collection, which was
confusing and not what users expected. It was placed there for a reason after
all.

Part of T76555.

Reviewed by: Andy Goralczyk, Bastien Montange.

Differential Revision: https://developer.blender.org/D7626
2020-06-02 17:59:08 +02:00
Julian Eisel
1743326889 Library Overrides: Unlink instance empty after "Make Library Override"
Unlink (delete if single-user) collection instance empty once an override is
added to the collection through the "Make Library Override" operator. It isn't
used as a collection instance anymore then so the emtpy is an annoying left
over that has no purpose.

Part of T76555.

Reviewed by: Andy Goralczyk, Bastien Montange.

Differential Revision: https://developer.blender.org/D7626
2020-06-02 17:59:08 +02:00
Campbell Barton
17d8e7f833 Merge branch 'blender-v2.83-release' 2020-06-02 16:24:30 +10:00
Campbell Barton
de6c935261 Cleanup: code comments for mode switching
Comment on mode switching cases that are supported,
including the issue from recent regression T77217
which is easy to miss since it's not used in the default key-map.
2020-06-02 16:12:36 +10:00
Campbell Barton
19f3f6cd85 Merge branch 'blender-v2.83-release' 2020-06-01 19:00:23 +10:00
Campbell Barton
c204e3348c Fix T77217: Object mode toggle doesn't work
Toggling object mode to the previous wasn't working, also resolves a
case when toggling modes would cause an extra, unnecessary mode switch.
Own regression in 5159b8e1ea.
2020-06-01 18:56:43 +10:00
Campbell Barton
d1f4adab24 Cleanup: spelling, correct reference to 'Mesh.mcol' 2020-05-29 12:58:29 +10:00
Campbell Barton
16943c0146 Object: add scale argument to creation operators
Needed for to create objects of a specific size.
2020-05-28 14:34:00 +10:00
Nathan Craddock
a8551f93e6 Merge branch 'blender-v2.83-release' 2020-05-26 16:52:15 -06:00
Nathan Craddock
f772a4b8fa Fix: A few missing outliner selection sync tags
Add selection syncing for object add named (e.g. drag and drop from
outliner to 3D view), outliner right click (a sync when the context menu
is cancelled), and for object selection from Python.
2020-05-26 16:42:21 -06:00
Jacques Lucke
1c467d77de Cleanup: typo 2020-05-25 11:39:52 +02:00
Campbell Barton
2efd00d4d2 Merge branch 'blender-v2.83-release' 2020-05-21 18:19:10 +10:00
Campbell Barton
d15efbdc56 Fix T76922: Meta-balls created twice the specified size 2020-05-21 18:18:00 +10:00
Sebastian Parborg
27cac4a102 Fix T62422: Baking ray distance do not work
The previous naming scheme for the "selected to active" baking options
lead to confusion and they were not describing what they actually did.

To remedy this, I've added a new settings that does what the older setting implied it did.

Reviewed By: Brecht, Dalai, Andy Davies

Differential Revision: http://developer.blender.org/D7733
2020-05-18 15:50:36 +02:00
Campbell Barton
fd8d2ceafe Merge branch 'blender-v2.83-release' 2020-05-18 17:14:24 +10:00
Campbell Barton
815ffaa6c1 Merge branch 'blender-v2.83-release' 2020-05-18 17:14:17 +10:00
Campbell Barton
2a3797b109 Cleanup: remove NULL checks from object mode switching take #2
Re-apply changes from 54ea356240,
with a poll function that uses the same active object as the operator,
matching other mode switching functions.
2020-05-18 17:07:23 +10:00
Jeroen Bakker
ff144edd8c Revert "Cleanup: remove redundant active object NULL check & poll"
This reverts commit 54ea356240 it
introduced crashes when trying to go to edit mode when the active
object was hidden.

Fix T76837
2020-05-18 08:32:07 +02:00
Brecht Van Lommel
d9773edaa3 Cycles: code refactor to bake using regular render session and tiles
There should be no user visible change from this, except that tile size
now affects performance. The goal here is to simplify bake denoising in
D3099, letting it reuse more denoising tiles and pass code.

A lot of code is now shared with regular rendering, with the two main
differences being that we read some render result passes from the bake API
when starting to render a tile, and call the bake kernel instead of the
path trace kernel.

With this kind of design where Cycles asks for tiles from the bake API,
it should eventually be easier to reduce memory usage, show tiles as
they are baked, or bake multiple passes at once, though there's still
quite some work needed for that.

Reviewers: #cycles

Subscribers: monio, wmatyjewicz, lukasstockner97, michaelknubben

Differential Revision: https://developer.blender.org/D3108
2020-05-15 20:25:24 +02:00
Philipp Oeser
d6e0b55b1c Merge branch 'blender-v2.83-release' 2020-05-15 16:32:50 +02:00
Philipp Oeser
a269761ec1 Cleanup: clang format
Sorry for the noise, somehow missed that in rB0a32f6c8686c.
2020-05-15 16:31:18 +02:00
Philipp Oeser
03659c2cf9 Merge branch 'blender-v2.83-release' 2020-05-15 13:47:04 +02:00
Philipp Oeser
0a32f6c868 Fix T76710: objects get lost in linked/overridden collections
Right now:
- drag-drop in the Outliner prevents dropping inside linked collections
- drag-drop in the Outliner allows dropping inside overridden
collections (should not be the case)
- `Object Properties` > `Collections` panel allows to add to overridden
collection (should not be the case)
- `Object Properties` > `Collections` panel filters out non-local
collections (so adding to linked collections is forbidden)
- `bpy collection.objects.link()` allows to add to linked collections
(should not be the case)
- `bpy collection.objects.link()` allows to add to overridden
collections (should not be the case)

While this might be supported in the future for overriden collections,
these cases should not be allowed atm. since objects get lost on file
reload.

Note: for the case of the `Object Properties` > `Collections` panel,
this could be improved further to filter out overridden collections as
well.

Reviewers: mont29, brecht

Subscribers:
2020-05-15 13:32:15 +02:00
Sebastián Barschkis
13769bcbe5 Fluid: Rename smoke flow forces to fluid flow forces
Better to use more general term since in theory these forces can be used for smoke and liquid.
2020-05-14 10:41:00 +02:00
Campbell Barton
3a1426afbd Merge branch 'blender-v2.83-release' 2020-05-13 23:19:29 +10:00
Campbell Barton
e7d5e16af1 Merge branch 'blender-v2.83-release' 2020-05-13 23:19:22 +10:00
Campbell Barton
5159b8e1ea Fix extra undo step when switching object modes
Changing between modes would always add a user visible undo step
that set object mode.

Avoid storing this extra undo step on object mode switching.
2020-05-13 23:14:01 +10:00
Campbell Barton
54ea356240 Cleanup: remove redundant active object NULL check & poll
This was from 66da2f537a but never did anything,
as a NULL object always exited at the beginning of the operator.
2020-05-13 23:14:01 +10:00
Sergey Sharybin
ed4647b5d7 Fix missing ID tag when converting objects
Parenting to a curve path animation depends on both geometry and
transform components. Conversion of mesh to curve will make it so
parent have path animation, conversion of curve to mesh makes it
so there is no more path animation. Both cases affects children
of the converted objects, and it's not possible to rely on special
case for curve parent in the dependency graph as that link will be
lost after conversion of curve to mesh.

Simplest approach is to tag object for both geometry and transform
update, which will ensure all children are at valid state after
the conversion.
2020-05-13 14:26:50 +02:00
Jacques Lucke
e0b5a20231 Preferences: Customize default empty size for collection instances
The old value (1.0) was often too large in practice. When many collection
instances are created, the large empties create a mess in the viewport.

This adds a new preference setting in `Editing -> Objects -> New Objects`
called `Instance Empty Size`.

The value will be used as display size for new empties containing a
collection instance.

Reviewers: Severin

Differential Revision: https://developer.blender.org/D7650
2020-05-12 10:59:41 +02:00
Campbell Barton
00e99959d3 Cleanup: double-spaces in comments 2020-05-09 17:15:43 +10:00
Antonio Vazquez
298356a9c0 GPencil: Fix typo error in previous rename 2020-05-08 11:15:42 +02:00
Campbell Barton
32f7495e5a Cleanup: clang-format 2020-05-08 19:02:03 +10:00
Antonio Vazquez
a2f4d7b8a3 GPencil: Refactor - Rename modifier and shder functions
This change is to align names with changes in T76498
2020-05-08 10:34:42 +02:00
Antonio Vazquez
2bb9a465e6 Fix T76498: Refactoring - Rename BKE modifiers funtions 2020-05-08 10:34:35 +02:00
Antonio Vazquez
a5ffc6309e GPencil: Split Curve geometry functions to new file
This prepare the code for future curve editors
2020-05-06 18:14:05 +02:00
Philipp Oeser
f90c93b2c3 Merge branch 'blender-v2.83-release' 2020-05-06 12:40:25 +02:00
Philipp Oeser
7043f8b815 Fix T76416: Armature Deform parenting option doesn't work with Grease Pencil objects
If we parent with type `PAR_ARMATURE` (where vertexgroups are already
set up and named correctly according to the corresponding bones), we
still need an armature modifier. This just wasnt added.

In contrast to meshes [which add their armature modifier early in
`ED_object_parent_set`], grease pencil used to do this (adding the
armature modifier) in `ED_gpencil_add_armature_weights`.

Now split ED_gpencil_add_armature_weights in two:
- ED_gpencil_add_armature
- ED_gpencil_add_armature_weights (which calls ED_gpencil_add_armature)
- use ED_gpencil_add_armature for the PAR_ARMATURE case

Maniphest Tasks: T76416

Differential Revision: https://developer.blender.org/D7625
2020-05-06 12:26:56 +02:00
Sergey Sharybin
673f44fa16 Merge branch 'blender-v2.83-release' 2020-05-04 17:40:57 +02:00
Sergey Sharybin
1222f561a2 Revert "Fix T76313: Redo in Multires doesn't bring back stroke made after a subdivide"
The fix was actually missing few bits:

- Firstly, the operator itself is not to do UNDO push
- Secondly, multires sculpt/top level are not pushed to the undo
  node, so undo can not happen reliably.

It should be possible to incorporate some of the work from WIP patch
for propagation undo, but it needs more work.

Reverting code base to the previous state, since currently things
are actually a bit more confusing then they used to be.

This reverts commit 0c928087a3.
2020-05-04 17:38:15 +02:00
Sergey Sharybin
7b35a9818c Merge branch 'blender-v2.83-release' 2020-05-04 17:17:38 +02:00
Sergey Sharybin
0c928087a3 Fix T76313: Redo in Multires doesn't bring back stroke made after a subdivide
Differential Revision: https://developer.blender.org/D7620
2020-05-04 17:10:16 +02:00
Campbell Barton
d388c1c524 Cleanup: sort file lists 2020-05-03 13:45:40 +10:00
Nathan Craddock
03b911dd87 Merge branch 'blender-v2.83-release' 2020-05-01 22:12:47 -06:00