Changeset View
Changeset View
Standalone View
Standalone View
source/blender/alembic/intern/alembic_capi.cc
| Show First 20 Lines • Show All 834 Lines • ▼ Show 20 Lines | else { | ||||
| /* Add object to scene. */ | /* Add object to scene. */ | ||||
| Base *base; | Base *base; | ||||
| LayerCollection *lc; | LayerCollection *lc; | ||||
| ViewLayer *view_layer = data->view_layer; | ViewLayer *view_layer = data->view_layer; | ||||
| BKE_view_layer_base_deselect_all(view_layer); | BKE_view_layer_base_deselect_all(view_layer); | ||||
| lc = BKE_layer_collection_get_active(view_layer); | lc = BKE_layer_collection_get_active(view_layer); | ||||
| if (lc == NULL) { | |||||
| BLI_assert(BLI_listbase_count_at_most(&view_layer->layer_collections, 1) == 0); | |||||
| /* when there is no collection linked to this ViewLayer, create one */ | |||||
| SceneCollection *sc = BKE_collection_add(&data->scene->id, NULL, COLLECTION_TYPE_NONE, NULL); | |||||
| lc = BKE_collection_link(view_layer, sc); | |||||
| } | |||||
| for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) { | for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) { | ||||
| Object *ob = (*iter)->object(); | Object *ob = (*iter)->object(); | ||||
| ob->lay = data->scene->lay; | ob->lay = data->scene->lay; | ||||
| BKE_collection_object_add(&data->scene->id, lc->scene_collection, ob); | BKE_collection_object_add(data->bmain, lc->collection, ob); | ||||
| base = BKE_view_layer_base_find(view_layer, ob); | base = BKE_view_layer_base_find(view_layer, ob); | ||||
| BKE_view_layer_base_select(view_layer, base); | BKE_view_layer_base_select(view_layer, base); | ||||
| DEG_id_tag_update_ex(data->bmain, &ob->id, | DEG_id_tag_update_ex(data->bmain, &ob->id, | ||||
| OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME | DEG_TAG_BASE_FLAGS_UPDATE); | OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME | DEG_TAG_BASE_FLAGS_UPDATE); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 181 Lines • Show Last 20 Lines | |||||