Age | Commit message (Collapse) | Author |
|
This reverts commit 03c8b048a166584a72ceff08432401cd7047648c.
This commit re-introduced T76837.
While there is a comment explaining why this function is needed,
the naming of the poll function does make this confusing.
The API could be changed to avoid confusion here.
|
|
|
|
Duplication and deletion code of modifiers was totally wrong for
particle system, that special weird thing needs its own custom
management.
Note that for now I chose not to duplicate the particle settings ID when
duplicating the modifier...
|
|
Instead of manually checking the pinned object, use the existing
ED_object_active_context function. This requires adding const
to the context in that function.
|
|
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/object` module.
No functional changes.
|
|
Prevent operators that should not perform on override data to be
callable in those cases.
|
|
|
|
This way "New Collection" is always assigned the same shortcut (N).
Whereas previously it would be automatically assigned the leftover key
from the list of available collections.
Nice side effect is that since N is next to M in most keyboard layouts,
moving to a new collection is super fast by hitting M then N.
{F8630575, size=full}
Paper-cut pointed out by DerekWatts on [devtalk](https://devtalk.blender.org/t/blender-ui-paper-cuts/2596/4211) (thanks!):
{F8630492, size=full}
Reviewed By: HooglyBoogly
Differential Revision: https://developer.blender.org/D8067
|
|
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.
|
|
Grease pencil mode switching functions already call this.
|
|
|
|
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.
|
|
|
|
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 5159b8e1eadb3.
|
|
|
|
|
|
Re-apply changes from 54ea3562406c633dc69f59697cca3cd1cded3bcd,
with a poll function that uses the same active object as the operator,
matching other mode switching functions.
|
|
This reverts commit 54ea3562406c633dc69f59697cca3cd1cded3bcd it
introduced crashes when trying to go to edit mode when the active
object was hidden.
Fix T76837
|
|
|
|
|
|
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.
|
|
This was from 66da2f537ae80 but never did anything,
as a NULL object always exited at the beginning of the operator.
|
|
|
|
|
|
|
|
Also some minor improvements:
- Only run once per object data instance.
- Correction for mesh smooth flag being used on curves.
- Move curve operation into utility function.
|
|
|
|
|
|
Note this only changes cases where the variable was declared inside
the for loop. To handle it outside as well is a different challenge.
Differential Revision: https://developer.blender.org/D7320
|
|
Spatial & topology mirror table each used a single function
taking a char as an identifier.
Split these into begin/end/lookup functions.
|
|
The files are now split up into the following sections:
- `BKE_anim_path.h` and `anim_path.c` for path/curve functions.
- `BKE_anim_visualization.h` and `anim_visualizationanim_path.c` for
animation visualization (mostly motion paths).
- `BKE_duplilist.h` for DupliList function declarations. These were
already implemented in `object_dupli.c`, so they were rather out of
place being declared in `BKE_anim.h` in the first place.
No functional changes.
|
|
The looptri is repeated in the linked Meshes but the pointer
is only referenced in the evaluated ones.
This reverts commit 64982e213f014123d1b0406cf9ae893910a6a3d3.
|
|
No functional changes.
Differential Revision: https://developer.blender.org/D7173
|
|
|
|
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes.
Also, a huge code cleanup has been done at all levels.
Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development.
Differential Revision: https://developer.blender.org/D6293
|
|
|
|
`invoke_props_dialog` and `invoke_popup` had a width and a height field. The height field was ignored as the height is determined based on the content. This change removes the field from the BPY + WM_api
Reviewed By: Campbell Barton, Jacques Lucke
Differential Revision: https://developer.blender.org/D6694
|
|
|
|
This is an oversight of a fix for T69834, where I didn't realize the
ED_object_editmode_exit_ex() function is called for all objects as an
opposite of only the ones which were in edit mode.
Seems a simple fix: just move tag into a check that object was in the
edit mode prior to tag.
Differential Revision: https://developer.blender.org/D6808
|
|
|
|
This was caused by a missing tag of the mesh datablock.
|
|
In Blender 2.80 Shift + H (`object_hide_view_set(unselected=True)`) used to
(temporarily) hide objects only if their collection was visible in the current
view layer.
This behavior was changed in rB0812949bbc3d7acfd1f20a47087ff973110aa177 (D5992)
by using `BASE_VISIBLE_DEPSGRAPH` for the decision which object's (temporary)
visibility should remain unchanged. Since the view layer visibility and depsgraph
visibility has been decoupled in said commit, the correct condition
to check is `BASE_VISIBLE_VIEWLAYER`.
This patch is a fix for T72302
Differential Revision: https://developer.blender.org/D6583
|
|
Also corrects the return value, where objects that don't have an
edit-mode returned true, making it seem as if object data was flushed.
|
|
This was an old bug which could be caused by saving after separating.
Changes from 79b703bb635e made this fail reliably.
Update shape key indices when they may be used again later.
|
|
This introduces object mode tagging for data which hasn't yet been
written back to the ID data.
Now when selecting other sculpt objects, the original objects data is
flushed back to the ID before writing a memfile undo step.
|
|
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
|
|
|
|
This change makes it so motion paths are using minimal possible
dependency graph which is sufficient to evaluate required motion
path targets.
Disclaimer: granularity is done on ID level, but it is possible
to go more granular if really needed.
Brings time down to 0.5 sec when updating motion path for the
Rain animation file used for benchmarks in the previous commits.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D5874
|
|
Allows to have a higher versatility in the API.
Should be no functional changes.
|
|
Support per-viewport collection visibility options.
Note 1: There is no way to show a collection that was not visible before
due to depsgraph. Otherwise we would risk having all the collections in
the depsgraph and I believe this is not the idea.
An alternative would be to have a new depsgraph for viewports that are
not local. Something to keep in mind if we do per-viewport current frame
in the future.
So for now what we do is to only allow collections visibility to be
disabled/hidden in this mode.
Note 2: hide_viewport (the eye icon) doesn't really matter for
depsgraph. So after the merge we can still ignore it to show the
collections locally in a viewport with no problems for the depsgraph.
Reviewers: brecht, sergey
Subscribers: billreynish
Related task: T61327
Differential Revision: https://developer.blender.org/D5611
|