Age | Commit message (Collapse) | Author |
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Now collection and objects can be either:
* Disabled for all the view layers.
* Hidden for a view layer but not necessarily for all others.
* Visible for a view layer but not necessarily for all others.
Regarding icons: Whatever we decide to use for the "Hidden for all view
layers" needs to be a toggle-like icon. Because when viewing "Scenes"
instead of "View Layer" in the outliner we should be able to edit the
collection "Hidden for all the view layers" as an on/off option.
The operators are accessible via a Visibility context menu or shortcuts:
* Ctrl + Click: Isolate collection (use shift to extend).
* Alt + Click: Disable collection.
* Shift + Click: Hide/Show collection and its children (objects and collections)
Things yet to be tackled:
* Object outliner context menu can also get a Visibility sub-menu.
* Get better icons for viewport enable/disable.
Note:
* When using emulate 3 button mouse alt+click is used for 2d panning.
In this case users have to use the operator from the menu.
See T57857 for discussion.
Patch: https://developer.blender.org/D4011
Reviewers: brecht and sergey
Thanks to the reviewers and William Reynish and Julien Kasper in
particular for the feedback.
|
|
[re-committing]
We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.
If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.
Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.
Development Note:
Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.
If this proves to be too slow, we can change.
|
|
No local work copy is expected to need preview data, at least it should
not. Part of copy flags cleanup, done in separate commit in case
something goes wrong here...
|
|
Those two first sets of flags should represent some common use cases.
The goal here is to reduce verbosity of calls to BKE_id_copy_ex, and
help make it more obvious the 'common behaviours' of ID copying across
codebase.
|
|
Time to follow conventions for that one as well.
|
|
This was used in *one* place only... much better to have a dedicated
helper for that kind of things. ;)
|
|
Following removal from C source code.
See: 8c68ed6df16d8893
|
|
Needed for clan-format not to wrap onto one line.
|
|
Missed when removing contributors.
|
|
Manual edits to object or its dependencies should reset the
point cache. Added special relations for this now.
|
|
Quite often we need to create nodes which defines various
evaluation stages.
|
|
|
|
Hopefully, this is the last one.
|
|
All done in separate commits, so it's easier to bisect just in case.
|
|
|
|
|
|
|
|
Affects object data datablocks. Similar to previous commit.
Should not have any functional changes, just some sanitization
to make code more clear.
|
|
Makes it more explicit and avoids strings comparisons during build.
|
|
For ears it was already how we evaluate modifiers. There is no
need to go more granular than is actually needed. And no need
to use some obscure prefix for operation.
|
|
|
|
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
|
|
SYNCHRONIZE is a Windows macro.
|
|
Missing relation to object transform. Needed to convert vertex
position from local target object space to a local space of the
bone.
|
|
The issue was caused by dependency graph resetting particles
when evaluating copy-on-write version of object. Solved by
only doing reset from dependency graph on user edits.
Other issue was caused by modifier itself trying to compare
topology and reset particles when number of vertices or faces
changed. This isn't reliable, since topology might change even
with same number of elements. But also, since copy-on-written
object initially always have those fields zero-ed the reset
was happening on every F12.
The latter issue is solved by moving reset from modifier stack
to places where we exit edit/paint modes which might be changing
topology.
There is still weird issue of particles generated at some
weird location after tapping tab twice, but this is not a new
issue in 2.8 branch and is to be looked separately.
|
|
Some summary of changes:
- Don't use DEG prefix for types and enumerator values:
the code is already inside DEG namespace.
- Put code where it locally belongs to: avoid having one
single header file with all sort of definitions in it.
- Take advantage of modern C++11 enabled by default.
|
|
Was happening when value of one shape key was driving property of
another shape key of same datablock.
Solved by making shape key blocks properties more granular.
|
|
Makes it more explicit whether RNA property is used as a source
dependency for something else, or whether some other dependency
is being hooked up to evaluate that property.
|
|
|
|
Dependency graph will poke some IDs for recalc after finishing building.
Those shouldn't be considered as a user edit.
|
|
Matches enumerator items and type name.
|
|
This removes a bunch of animation/driver evaluations and recalc flags that
should be redundant in the new depsgraph, and were incorrectly affecting
the evaluated scene in a permanent way.
Still two cases that could be removed if the depsgraph is improved, in
BKE_object_handle_data_update and BKE_cachefile_update_frame.
For physics subframe interpolation there are also still calls to
BKE_object_where_is_calc that should ideally be removed as well, though
they are not known to cause keyframing bugs.
Differential Revision: https://developer.blender.org/D4274
|
|
Some features are incompatible with multithreading and reliable evaluation
of dependencies. We are now removing them as part of a bigger cleanup to
fix bugs in keyframing and invalid animation evaluations.
* Dupliframes have been removed. This was a hack added before there were
more powerful features like the array modifier.
* Slow parent has been removed, never worked in 2.8. It was always
unreliable for use in production due to depending on whatever frame was
previously evaluated, which was not always the previous frame.
* Particle instanced objects used to have their transform evaluated at
the particle time. Now it always gets the current time transform.
* Boids can no longer do predictive avoidance of force field objects,
but still for other particles.
Differential Revision: https://developer.blender.org/D4274
|
|
Both the driven properties and driver targets were called targets, now make
a distinction.
|
|
Was missing relation from particle keyed targets to the
particle system, which caused some race conditions.
|
|
Was visible when constraint object is not directly visible via
view layers, need to indirectly pull it into the graph.
|
|
Part of the issue was a missing relation. Other part wes
aboud object's inverse matrix never being updated.
|
|
|
|
Done using:
source/tools/utils_maintenance/c_sort_blocks.py
|
|
Was missing conversion of ID_RECALC_GEOEMTRY to curve's operation.
|
|
Freestyle Python scripts need to get the evaluated view layer and scene,
not the original one.
|
|
|
|
Reviewers: sergey, brecht
Maniphest Tasks: T60417
Differential Revision: https://developer.blender.org/D4193
|
|
Differential Revision: https://developer.blender.org/D4223
|
|
Missing dependency graph relations caused race conditions.
|
|
Without this clang-format may wrap them onto a single line.
|
|
Matches `BASE_FROM_SET`.
|