Differential D10240 Diff 34191 source/blender/editors/space_outliner/tree/tree_display_view_layer.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_outliner/tree/tree_display_view_layer.cc
| Show First 20 Lines • Show All 137 Lines • ▼ Show 20 Lines | else { | ||||
| ten->name = id->name + 2; | ten->name = id->name + 2; | ||||
| ten->directdata = lc; | ten->directdata = lc; | ||||
| /* Open by default, except linked collections, which may contain many elements. */ | /* Open by default, except linked collections, which may contain many elements. */ | ||||
| TreeStoreElem *tselem = TREESTORE(ten); | TreeStoreElem *tselem = TREESTORE(ten); | ||||
| if (!(tselem->used || ID_IS_LINKED(id) || ID_IS_OVERRIDE_LIBRARY(id))) { | if (!(tselem->used || ID_IS_LINKED(id) || ID_IS_OVERRIDE_LIBRARY(id))) { | ||||
| tselem->flag &= ~TSE_CLOSED; | tselem->flag &= ~TSE_CLOSED; | ||||
| } | } | ||||
| if (exclude || (lc->runtime_flag & LAYER_COLLECTION_VISIBLE_VIEW_LAYER) == 0) { | |||||
| ten->flag |= TE_DISABLED; | |||||
| } | |||||
| } | } | ||||
| add_layer_collections_recursive(ten->subtree, lc->layer_collections, *ten); | add_layer_collections_recursive(ten->subtree, lc->layer_collections, *ten); | ||||
| if (!exclude && show_objects_) { | if (!exclude && show_objects_) { | ||||
| add_layer_collection_objects(ten->subtree, *lc, *ten); | add_layer_collection_objects(ten->subtree, *lc, *ten); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| void TreeDisplayViewLayer::add_layer_collection_objects(ListBase &tree, | void TreeDisplayViewLayer::add_layer_collection_objects(ListBase &tree, | ||||
| LayerCollection &lc, | LayerCollection &lc, | ||||
| TreeElement &ten) | TreeElement &ten) | ||||
| { | { | ||||
| for (CollectionObject *cob : List<CollectionObject>(lc.collection->gobject)) { | for (CollectionObject *cob : List<CollectionObject>(lc.collection->gobject)) { | ||||
| Base *base = BKE_view_layer_base_find(view_layer_, cob->ob); | Base *base = BKE_view_layer_base_find(view_layer_, cob->ob); | ||||
| TreeElement *te_object = outliner_add_element( | TreeElement *te_object = outliner_add_element( | ||||
| &space_outliner_, &tree, base->object, &ten, 0, 0); | &space_outliner_, &tree, base->object, &ten, 0, 0); | ||||
| te_object->directdata = base; | te_object->directdata = base; | ||||
| if (!(base->flag & BASE_VISIBLE_VIEWLAYER)) { | |||||
| te_object->flag |= TE_DISABLED; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| void TreeDisplayViewLayer::add_layer_collection_objects_children(TreeElement &collection_tree_elem) | void TreeDisplayViewLayer::add_layer_collection_objects_children(TreeElement &collection_tree_elem) | ||||
| { | { | ||||
| /* Call helper to add children. */ | /* Call helper to add children. */ | ||||
| ObjectsChildrenBuilder child_builder{space_outliner_}; | ObjectsChildrenBuilder child_builder{space_outliner_}; | ||||
| child_builder(collection_tree_elem); | child_builder(collection_tree_elem); | ||||
| ▲ Show 20 Lines • Show All 106 Lines • Show Last 20 Lines | |||||