Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/space_view3d.c
| Show First 20 Lines • Show All 1,317 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| /* fallback to the scene layer, allows duplicate and other object operators to run outside the 3d view */ | /* fallback to the scene layer, allows duplicate and other object operators to run outside the 3d view */ | ||||
| if (CTX_data_dir(member)) { | if (CTX_data_dir(member)) { | ||||
| CTX_data_dir_set(result, view3d_context_dir); | CTX_data_dir_set(result, view3d_context_dir); | ||||
| } | } | ||||
| else if (CTX_data_equals(member, "active_base")) { | else if (CTX_data_equals(member, "active_base")) { | ||||
| Scene *scene = CTX_data_scene(C); | Scene *scene = CTX_data_scene(C); | ||||
| SceneLayer *sl = CTX_data_scene_layer(C); | ViewLayer *sl = CTX_data_view_layer(C); | ||||
| if (sl->basact) { | if (sl->basact) { | ||||
| Object *ob = sl->basact->object; | Object *ob = sl->basact->object; | ||||
| /* if hidden but in edit mode, we still display, can happen with animation */ | /* if hidden but in edit mode, we still display, can happen with animation */ | ||||
| if ((sl->basact->flag & BASE_VISIBLED) != 0 || (ob->mode & OB_MODE_EDIT)) { | if ((sl->basact->flag & BASE_VISIBLED) != 0 || (ob->mode & OB_MODE_EDIT)) { | ||||
| CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, sl->basact); | CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, sl->basact); | ||||
| } | } | ||||
| } | } | ||||
| return 1; | return 1; | ||||
| } | } | ||||
| else if (CTX_data_equals(member, "active_object")) { | else if (CTX_data_equals(member, "active_object")) { | ||||
| SceneLayer *sl = CTX_data_scene_layer(C); | ViewLayer *sl = CTX_data_view_layer(C); | ||||
| if (sl->basact) { | if (sl->basact) { | ||||
| Object *ob = sl->basact->object; | Object *ob = sl->basact->object; | ||||
| /* if hidden but in edit mode, we still display, can happen with animation */ | /* if hidden but in edit mode, we still display, can happen with animation */ | ||||
| if ((sl->basact->flag & BASE_VISIBLED) != 0 || (ob->mode & OB_MODE_EDIT) != 0) { | if ((sl->basact->flag & BASE_VISIBLED) != 0 || (ob->mode & OB_MODE_EDIT) != 0) { | ||||
| CTX_data_id_pointer_set(result, &ob->id); | CTX_data_id_pointer_set(result, &ob->id); | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines | |||||