Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-30Remove BKE_scene_object_base_flag_sync_from_objectDalai Felinto
Note the fix for T62865 is still working fine.
2019-04-30Refactor: Use object select API - ED_object_base_selectDalai Felinto
We had a mix of BKE_view_layer_base_select (harmless), and places where we simply set the BASE_SELECTED flag with no regard to its selectable state.
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Fix T63204: Toggle collection visibility with shiftDalai Felinto
Shift was always turning the collection visible. It now toggles, similar to what we had in 2.79.
2019-03-25Fix T62865: Make Single User after Objects to Scene must be done twice.Bastien Montagne
Selected status was not properly moved from new object to new created base. This prevented next steps (making obdata, materials etc. local) to ever happen.
2019-03-12Fix T62388: object.visible_get() not affected by object.hide_viewport.Brecht Van Lommel
After recent changes BASE_VISIBLE was not always disabled properly when the object is hidden. This refactors the code a bit to hopefully be more clear.
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-01Cleanup: Use const for static number.Campbell Barton
Also use double indent instead of mixed tab/spaces.
2019-02-28Split base flags on own and collection-definedSergey Sharybin
This allows to update base flags to a proper state then object's restriction flags are changed, without requiring to re-evaluate an entire tree of flags. Some old unused flags are were removed by this change, and also disabling menu items might not work the same as before. This is something we can bring back if it's really needed (the way how flags are handled did change since that interface code was done anyway, so code was looking weird anyway). Reviewers: brecht Differential Revision: https://developer.blender.org/D4420
2019-02-28Remove unused base flagSergey Sharybin
Was only set and read from a single location. Removing to keep things more manageable.
2019-02-27Move base flags evaluation to its own functionSergey Sharybin
No need to have iterator loop in the view layer evaluation, this only makes it more difficult to have base flags covered by the dependency graph. Other good thing is that we don't need to worry about whether base has been removed from the evaluated view layer or not. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4414
2019-02-22Fix T61788: Hidden objects reappear after renderingDalai Felinto
The change in outliner and viewport visibility (897e047374fa) was made assuming the bases of the render and viewport depsgraph were independent. Thus we were deliberately setting base visibility when rendering: ``` /* When rendering, visibility is controlled by the enable/disable option. */ if (mode == DAG_EVAL_RENDER) { base->flag |= BASE_VISIBLE; } ``` However, we were syncing data back to the original depsgraph, leading to hidden viewport objects to re-appear. Reviewers: sergey Differential Revision: https://developer.blender.org/D4391
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-09Cleanup: Use ID_IS_LINKED instead of id.libDalai Felinto
2019-02-09Outliner visibility: Prevent changing linked objects and collectionsDalai Felinto
We still change their base/layer collection visibility, just not what would change the original ID datablock.
2019-02-06Remove no-longer needed functionDalai Felinto
2019-02-06Fixup for outliner visibility not changing disable stateDalai Felinto
Show Inside (shift + click) was still forcing objects to be visible.
2019-02-06Outliner visibility: Respect original viewport enable/disable stateDalai Felinto
Note: We still change it to the collection we are directly isolating/making visible and its parents (in the case of isolating). But no longer its children. Feedback and discussion on D4011. The motivation is that if we don't keep those locked the disable state becomes useless.
2019-02-06Outliner visibility unification: Prevent master collection visibility to changeDalai Felinto
Also satinizing the checks for master collection. The outliner tree iterators already take care of not including the master collection there.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-06Cleanup: styleCampbell Barton
2019-02-06Outliner visibility unification: Implement 3 levels of viewport visibilityDalai Felinto
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.
2019-02-05Fix/workaround issues in pose and edit modeSergey Sharybin
[re-committing] Edit mode was unable to select, pose mode was unable to move bones.
2019-02-05Per view-layer collection visibilityDalai Felinto
[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.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
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.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-08Fix inconsistent naming and behavior for base visible/selected/editable.Brecht Van Lommel
Fixes T60251.
2019-01-03Fix T57177: redo select random operator selects hidden objects.Brecht Van Lommel
2018-12-28Cycles: restore old sample and material override settings for view layers.Brecht Van Lommel
Since there will be no view layer overrides in 2.80, this is needed still.
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-02Optimize ghash usageCampbell Barton
Avoid double hash calculation.
2018-12-01Fix T58412: in weight paint + pose mode certain armature operations crash.Alexander Gavrilov
The cause is that FOREACH_OBJECT_IN_MODE_BEGIN assumed that the active object is in the correct mode, which is wrong in this case. It also only considered objects of the same type as active, which had to be replaced with an explicit type parameter.
2018-11-29Debug: Assert to ensure layer iterator uses a 3D viewCampbell Barton
2018-11-28Outliner/visibility: revert changes for now until we find better solutions.Brecht Van Lommel
See T57857 for discussion. This reverts: "Outliner: Do not gray out empty collections" 4521d3e7074d2e08ca813e1f4a2297f5000f335b. "Remove eye column from the outliner" fd16b359977c8932ada8db4ff0e43d0402fdc280. Fix/workaround issues in pose and edit mode" 6d2e2e30d50c40f302b62d3601b5742d7c7056c6. "Per view-layer collection visibility" 4de6a210c69fe254518ca8d6c860782c54f03749.
2018-11-28Fix/workaround issues in pose and edit modeSergey Sharybin
Edit mode was unable to select, pose mode was unable to move bones.
2018-11-28Per view-layer collection visibilityDalai Felinto
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.
2018-11-27Fix crash iterating over empty view layerCampbell Barton
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-16RNA: LayerCollection.has_hidden_objectsDalai Felinto
With this we have a way to tell that a collection has visible objects but not all of its objects are visible.
2018-11-15Depsgraph: Save memory by ignoring invisible objectsSergey Sharybin
This finished old standing TODO which was attempting to ignore objects of all invisible collections. The difference here is that we remove invisible bases from view layers. This guarantees that the evaluated state is consistent and does not reference original objects.
2018-11-09Cleanup: fix layer_collection_sync() using int's for short values.Bastien Montagne
Collection flag and runtime_flag are shorts, not ints...
2018-11-08Cleanup: use explicit 'select_and_set_active' API nameCampbell Barton
Selection should be separated from active state and handled by higher level code (operators/editors) instead of happening automatically.
2018-11-05Fix (unreported) potential race condition in view_layer_bases_hash_create().Bastien Montagne
When you check for undone work before acquiring a lock that ensures you are the only one actually doing the work, you have to redo the check *after* acquiring said lock. Otherwise, there is room for nasty random race condition issues...
2018-11-05Fix various Freestyle rendering bugs.Brecht Van Lommel
2018-09-24Fix T56895: crash loading template with Load UI unchecked.Brecht Van Lommel
2018-09-03Fix T56622: crash and other bugs deleting scenes.Brecht Van Lommel
Simplify library remapping code to handle special collection/object links in postprocess. Previously base contained the actual object link which needed special handling in preprocess, now objects are linked through collection and the base cache can be updated in postprocess.
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel