diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-09-04 16:08:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-09-04 17:11:27 +0300 |
commit | fc115e1ab23a9c458ea1496f160e14009e68cd54 (patch) | |
tree | f61d7a4d8c09d5ebf6839299ec00998976f31f3f | |
parent | 0f50caf5560f9c2f9af393eefdf2b209210dbfba (diff) |
Cleanup: remove legacy layer and dupli code.
34 files changed, 103 insertions, 616 deletions
diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index bd470f1a794..e295b85afd2 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -845,7 +845,6 @@ static void import_endjob(void *user_data) for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) { Object *ob = (*iter)->object(); - ob->lay = data->scene->lay; BKE_collection_object_add(data->bmain, lc->collection, ob); diff --git a/source/blender/blenkernel/BKE_anim.h b/source/blender/blenkernel/BKE_anim.h index 2f7d0eaba03..998f0dd09b8 100644 --- a/source/blender/blenkernel/BKE_anim.h +++ b/source/blender/blenkernel/BKE_anim.h @@ -73,16 +73,6 @@ struct ListBase *object_duplilist(struct Depsgraph *depsgraph, struct Scene *sce void free_object_duplilist(struct ListBase *lb); int count_duplilist(struct Object *ob); -typedef struct DupliExtraData { - float obmat[4][4]; - unsigned int lay; -} DupliExtraData; - -typedef struct DupliApplyData { - int num_objects; - DupliExtraData *extra; -} DupliApplyData; - typedef struct DupliObject { struct DupliObject *next, *prev; struct Object *ob; @@ -103,8 +93,4 @@ typedef struct DupliObject { unsigned int random_id; } DupliObject; -DupliApplyData *duplilist_apply(struct Depsgraph *depsgraph, struct Object *ob, struct Scene *scene, struct ListBase *duplilist); -void duplilist_restore(struct ListBase *duplilist, DupliApplyData *apply_data); -void duplilist_free_apply_data(DupliApplyData *apply_data); - #endif diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index acf175b5ced..aaaaf620afa 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -339,13 +339,6 @@ struct ScrArea *BKE_screen_find_big_area(struct bScreen *sc, const int spacetype struct ScrArea *BKE_screen_area_map_find_area_xy(const struct ScrAreaMap *areamap, const int spacetype, int x, int y); struct ScrArea *BKE_screen_find_area_xy(struct bScreen *sc, const int spacetype, int x, int y); -unsigned int BKE_screen_view3d_layer_active_ex( - const struct View3D *v3d, const struct Scene *scene, bool use_localvd) ATTR_NONNULL(2); -unsigned int BKE_screen_view3d_layer_active( - const struct View3D *v3d, const struct Scene *scene) ATTR_NONNULL(2); - -unsigned int BKE_screen_view3d_layer_all(const struct bScreen *sc) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1); - void BKE_screen_gizmo_tag_refresh(struct bScreen *sc); void BKE_screen_view3d_sync(struct View3D *v3d, struct Scene *scene); @@ -362,7 +355,6 @@ void BKE_screen_view3d_shading_init(struct View3DShading *shading); /* screen */ void BKE_screen_free(struct bScreen *sc); void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL(); -unsigned int BKE_screen_visible_layers(struct bScreen *screen, struct Scene *scene); struct ScrEdge *BKE_screen_find_edge(struct bScreen *sc, struct ScrVert *v1, struct ScrVert *v2); void BKE_screen_sort_scrvert(struct ScrVert **v1, struct ScrVert **v2); diff --git a/source/blender/blenkernel/intern/object_dupli.c b/source/blender/blenkernel/intern/object_dupli.c index 9f6cdcd5179..b5c2e7f3d96 100644 --- a/source/blender/blenkernel/intern/object_dupli.c +++ b/source/blender/blenkernel/intern/object_dupli.c @@ -1259,59 +1259,3 @@ int count_duplilist(Object *ob) } return 1; } - -DupliApplyData *duplilist_apply(Depsgraph *depsgraph, Object *ob, Scene *scene, ListBase *duplilist) -{ - DupliApplyData *apply_data = NULL; - int num_objects = BLI_listbase_count(duplilist); - - if (num_objects > 0) { - DupliObject *dob; - int i; - apply_data = MEM_mallocN(sizeof(DupliApplyData), "DupliObject apply data"); - apply_data->num_objects = num_objects; - apply_data->extra = MEM_mallocN(sizeof(DupliExtraData) * (size_t) num_objects, - "DupliObject apply extra data"); - - for (dob = duplilist->first, i = 0; dob; dob = dob->next, ++i) { - /* make sure derivedmesh is calculated once, before drawing */ - if (scene && !(dob->ob->transflag & OB_DUPLICALCDERIVED) && dob->ob->type == OB_MESH) { - mesh_get_derived_final(depsgraph, scene, dob->ob, scene->customdata_mask); - dob->ob->transflag |= OB_DUPLICALCDERIVED; - } - } - - for (dob = duplilist->first, i = 0; dob; dob = dob->next, ++i) { - /* copy obmat from duplis */ - copy_m4_m4(apply_data->extra[i].obmat, dob->ob->obmat); - copy_m4_m4(dob->ob->obmat, dob->mat); - - /* copy layers from the main duplicator object */ - apply_data->extra[i].lay = dob->ob->lay; - dob->ob->lay = ob->lay; - } - } - return apply_data; -} - -void duplilist_restore(ListBase *duplilist, DupliApplyData *apply_data) -{ - DupliObject *dob; - int i; - /* Restore object matrices. - * NOTE: this has to happen in reverse order, since nested - * dupli objects can repeatedly override the obmat. - */ - for (dob = duplilist->last, i = apply_data->num_objects - 1; dob; dob = dob->prev, --i) { - copy_m4_m4(dob->ob->obmat, apply_data->extra[i].obmat); - dob->ob->transflag &= ~OB_DUPLICALCDERIVED; - - dob->ob->lay = apply_data->extra[i].lay; - } -} - -void duplilist_free_apply_data(DupliApplyData *apply_data) -{ - MEM_freeN(apply_data->extra); - MEM_freeN(apply_data); -} diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 5f72036c3a8..44253bb90c5 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -546,8 +546,6 @@ void BKE_scene_init(Scene *sce) BLI_assert(MEMCMP_STRUCT_OFS_IS_ZERO(sce, id)); - sce->lay = sce->layact = 1; - sce->r.mode = R_OSA; sce->r.cfra = 1; sce->r.sfra = 1; diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index 58a47dc2822..299c9290eae 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -475,26 +475,6 @@ void BKE_screen_free(bScreen *sc) MEM_SAFE_FREE(sc->tool_tip); } -/* for depsgraph */ -unsigned int BKE_screen_visible_layers(bScreen *screen, Scene *scene) -{ - ScrArea *sa; - unsigned int layer = 0; - - if (screen) { - /* get all used view3d layers */ - for (sa = screen->areabase.first; sa; sa = sa->next) - if (sa->spacetype == SPACE_VIEW3D) - layer |= ((View3D *)sa->spacedata.first)->lay; - } - - if (!layer) - return scene->lay; - - return layer; -} - - /* ***************** Screen edges & verts ***************** */ ScrEdge *BKE_screen_find_edge(bScreen *sc, ScrVert *v1, ScrVert *v2) @@ -767,56 +747,9 @@ ScrArea *BKE_screen_find_area_xy(bScreen *sc, const int spacetype, int x, int y) return BKE_screen_area_map_find_area_xy(AREAMAP_FROM_SCREEN(sc), spacetype, x, y); } - -/** - * Utility function to get the active layer to use when adding new objects. - */ -unsigned int BKE_screen_view3d_layer_active_ex(const View3D *v3d, const Scene *scene, bool use_localvd) -{ - unsigned int lay; - if ((v3d == NULL) || (v3d->scenelock && !v3d->localvd)) { - lay = scene->layact; - } - else { - lay = v3d->layact; - } - - if (use_localvd) { - if (v3d && v3d->localvd) { - lay |= v3d->lay; - } - } - - return lay; -} -unsigned int BKE_screen_view3d_layer_active(const struct View3D *v3d, const struct Scene *scene) -{ - return BKE_screen_view3d_layer_active_ex(v3d, scene, true); -} - -/** - * Accumulate all visible layers on this screen. - */ -unsigned int BKE_screen_view3d_layer_all(const bScreen *sc) -{ - const ScrArea *sa; - unsigned int lay = 0; - for (sa = sc->areabase.first; sa; sa = sa->next) { - if (sa->spacetype == SPACE_VIEW3D) { - View3D *v3d = sa->spacedata.first; - lay |= v3d->lay; - } - } - - return lay; -} - void BKE_screen_view3d_sync(View3D *v3d, struct Scene *scene) { - int bit; - if (v3d->scenelock && v3d->localvd == NULL) { - v3d->lay = scene->lay; v3d->camera = scene->camera; if (v3d->camera == NULL) { @@ -830,15 +763,6 @@ void BKE_screen_view3d_sync(View3D *v3d, struct Scene *scene) } } } - - if ((v3d->lay & v3d->layact) == 0) { - for (bit = 0; bit < 32; bit++) { - if (v3d->lay & (1u << bit)) { - v3d->layact = (1u << bit); - break; - } - } - } } } diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 936f13fe382..116e5be7477 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -3367,7 +3367,7 @@ static ImBuf *seq_render_scene_strip(const SeqRenderData *context, Sequence *seq if (re == NULL) re = RE_NewSceneRender(scene); - RE_BlenderFrame(re, context->bmain, scene, view_layer, camera, scene->lay, frame, false); + RE_BlenderFrame(re, context->bmain, scene, view_layer, camera, frame, false); /* restore previous state after it was toggled on & off by RE_BlenderFrame */ G.is_rendering = is_rendering; diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c index 1f5cefd47d7..6904cab81e1 100644 --- a/source/blender/blenkernel/intern/softbody.c +++ b/source/blender/blenkernel/intern/softbody.c @@ -964,7 +964,7 @@ static int query_external_colliders(Depsgraph *depsgraph, Collection *collection /* +++ the aabb "force" section*/ -static int sb_detect_aabb_collisionCached(float UNUSED(force[3]), unsigned int UNUSED(par_layer), struct Object *vertexowner, float UNUSED(time)) +static int sb_detect_aabb_collisionCached(float UNUSED(force[3]), struct Object *vertexowner, float UNUSED(time)) { Object *ob; SoftBody *sb=vertexowner->soft; @@ -1025,7 +1025,7 @@ static int sb_detect_aabb_collisionCached(float UNUSED(force[3]), unsigned int U /* +++ the face external section*/ static int sb_detect_face_pointCached(float face_v1[3], float face_v2[3], float face_v3[3], float *damp, - float force[3], unsigned int UNUSED(par_layer), struct Object *vertexowner, float time) + float force[3], struct Object *vertexowner, float time) { Object *ob; GHash *hash; @@ -1126,7 +1126,7 @@ static int sb_detect_face_pointCached(float face_v1[3], float face_v2[3], float static int sb_detect_face_collisionCached(float face_v1[3], float face_v2[3], float face_v3[3], float *damp, - float force[3], unsigned int UNUSED(par_layer), struct Object *vertexowner, float time) + float force[3], struct Object *vertexowner, float time) { Object *ob; GHash *hash; @@ -1263,7 +1263,7 @@ static void scan_for_ext_face_forces(Object *ob, float timenow) zero_v3(feedback); if (sb_detect_face_collisionCached( sb->bpoint[bf->v1].pos, sb->bpoint[bf->v2].pos, sb->bpoint[bf->v3].pos, - &damp, feedback, ob->lay, ob, timenow)) + &damp, feedback, ob, timenow)) { madd_v3_v3fl(sb->bpoint[bf->v1].force, feedback, tune); madd_v3_v3fl(sb->bpoint[bf->v2].force, feedback, tune); @@ -1281,7 +1281,7 @@ static void scan_for_ext_face_forces(Object *ob, float timenow) zero_v3(feedback); if (sb_detect_face_pointCached( sb->bpoint[bf->v1].pos, sb->bpoint[bf->v2].pos, sb->bpoint[bf->v3].pos, - &damp, feedback, ob->lay, ob, timenow)) + &damp, feedback, ob, timenow)) { madd_v3_v3fl(sb->bpoint[bf->v1].force, feedback, tune); madd_v3_v3fl(sb->bpoint[bf->v2].force, feedback, tune); @@ -1310,7 +1310,7 @@ static void scan_for_ext_face_forces(Object *ob, float timenow) /* +++ the spring external section*/ static int sb_detect_edge_collisionCached(float edge_v1[3], float edge_v2[3], float *damp, - float force[3], unsigned int UNUSED(par_layer), struct Object *vertexowner, float time) + float force[3], struct Object *vertexowner, float time) { Object *ob; GHash *hash; @@ -1447,7 +1447,7 @@ static void _scan_for_ext_spring_forces(Scene *scene, Object *ob, float timenow, /* +++ springs colliding */ if (ob->softflag & OB_SB_EDGECOLL) { if ( sb_detect_edge_collisionCached (sb->bpoint[bs->v1].pos, sb->bpoint[bs->v2].pos, - &damp, feedback, ob->lay, ob, timenow)) { + &damp, feedback, ob, timenow)) { add_v3_v3(bs->ext_force, feedback); bs->flag |= BSF_INTERSECT; //bs->cf=damp; @@ -1606,7 +1606,7 @@ static int choose_winner(float*w, float* pos, float*a, float*b, float*c, float*c static int sb_detect_vertex_collisionCached( float opco[3], float facenormal[3], float *damp, - float force[3], unsigned int UNUSED(par_layer), struct Object *vertexowner, + float force[3], struct Object *vertexowner, float time, float vel[3], float *intrusion) { Object *ob= NULL; @@ -1802,8 +1802,8 @@ static int sb_deflect_face(Object *ob, float *actpos, float *facenormal, float * float s_actpos[3]; int deflected; copy_v3_v3(s_actpos, actpos); - deflected= sb_detect_vertex_collisionCached(s_actpos, facenormal, cf, force, ob->lay, ob, time, vel, intrusion); - //deflected= sb_detect_vertex_collisionCachedEx(s_actpos, facenormal, cf, force, ob->lay, ob, time, vel, intrusion); + deflected= sb_detect_vertex_collisionCached(s_actpos, facenormal, cf, force, ob, time, vel, intrusion); + //deflected= sb_detect_vertex_collisionCachedEx(s_actpos, facenormal, cf, force, ob, time, vel, intrusion); return(deflected); } @@ -2217,7 +2217,7 @@ static void softbody_calc_forcesEx(struct Depsgraph *depsgraph, Scene *scene, Ob if (do_deflector) { float defforce[3]; - do_deflector = sb_detect_aabb_collisionCached(defforce, ob->lay, ob, timenow); + do_deflector = sb_detect_aabb_collisionCached(defforce, ob, timenow); } sb_cf_threads_run(scene, ob, forcetime, timenow, sb->totpoint, NULL, effectors, do_deflector, fieldfactor, windfactor); @@ -2278,7 +2278,7 @@ static void softbody_calc_forces(struct Depsgraph *depsgraph, Scene *scene, Obje if (do_deflector) { float defforce[3]; - do_deflector = sb_detect_aabb_collisionCached(defforce, ob->lay, ob, timenow); + do_deflector = sb_detect_aabb_collisionCached(defforce, ob, timenow); } bp = sb->bpoint; diff --git a/source/blender/editors/curve/editcurve_add.c b/source/blender/editors/curve/editcurve_add.c index 7f788b447f6..71b4091bccc 100644 --- a/source/blender/editors/curve/editcurve_add.c +++ b/source/blender/editors/curve/editcurve_add.c @@ -478,14 +478,13 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) Nurb *nu; bool newob = false; bool enter_editmode; - unsigned int layer; float dia; float loc[3], rot[3]; float mat[4][4]; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; if (!isSurf) { /* adding curve */ @@ -493,7 +492,7 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) const char *name = get_curve_defname(type); Curve *cu; - obedit = ED_object_add_type(C, OB_CURVE, name, loc, rot, true, layer); + obedit = ED_object_add_type(C, OB_CURVE, name, loc, rot, true); newob = true; cu = (Curve *)obedit->data; @@ -509,7 +508,7 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) else { /* adding surface */ if (obedit == NULL || obedit->type != OB_SURF) { const char *name = get_surf_defname(type); - obedit = ED_object_add_type(C, OB_SURF, name, loc, rot, true, layer); + obedit = ED_object_add_type(C, OB_SURF, name, loc, rot, true); newob = true; } else { diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c index 1db4777ad98..b78c292236a 100644 --- a/source/blender/editors/gpencil/gpencil_utils.c +++ b/source/blender/editors/gpencil/gpencil_utils.c @@ -1165,11 +1165,11 @@ void ED_gpencil_reset_layers_parent(Depsgraph *depsgraph, Object *obact, bGPdata /* GP Object Stuff */ /* Helper function to create new OB_GPENCIL Object */ -Object *ED_add_gpencil_object(bContext *C, Scene *scene, const float loc[3]) +Object *ED_add_gpencil_object(bContext *C, Scene *UNUSED(scene), const float loc[3]) { float rot[3] = {0.0f}; - Object *ob = ED_object_add_type(C, OB_GPENCIL, NULL, loc, rot, false, scene->lay); + Object *ob = ED_object_add_type(C, OB_GPENCIL, NULL, loc, rot, false); /* define size */ BKE_object_obdata_size_init(ob, GP_OBGPENCIL_DEFAULT_SIZE); diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index a39523983ba..3fd520810ea 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -183,12 +183,12 @@ void ED_object_add_generic_props(struct wmOperatorType *ot, bool do_editmode); void ED_object_add_mesh_props(struct wmOperatorType *ot); bool ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, const char view_align_axis, float loc[3], float rot[3], - bool *enter_editmode, unsigned int *layer, bool *is_view_aligned); + bool *enter_editmode, bool *is_view_aligned); struct Object *ED_object_add_type( struct bContext *C, int type, const char *name, const float loc[3], const float rot[3], - bool enter_editmode, unsigned int layer) + bool enter_editmode) ATTR_NONNULL(1) ATTR_RETURNS_NONNULL; void ED_object_single_users(struct Main *bmain, struct Scene *scene, const bool full, const bool copy_groups); diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c index 66ad057e3ec..b2f0ecc55c6 100644 --- a/source/blender/editors/mesh/editmesh_add.c +++ b/source/blender/editors/mesh/editmesh_add.c @@ -67,14 +67,14 @@ typedef struct MakePrimitiveData { static Object *make_prim_init( bContext *C, const char *idname, - const float loc[3], const float rot[3], const unsigned int layer, + const float loc[3], const float rot[3], MakePrimitiveData *r_creation_data) { Object *obedit = CTX_data_edit_object(C); r_creation_data->was_editmode = false; if (obedit == NULL || obedit->type != OB_MESH) { - obedit = ED_object_add_type(C, OB_MESH, idname, loc, rot, false, layer); + obedit = ED_object_add_type(C, OB_MESH, idname, loc, rot, false); /* create editmode */ ED_object_editmode_enter(C, EM_IGNORE_LAYER); /* rare cases the active layer is messed up */ @@ -112,12 +112,11 @@ static int add_primitive_plane_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Plane"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Plane"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -163,12 +162,11 @@ static int add_primitive_cube_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cube"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cube"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -222,15 +220,14 @@ static int add_primitive_circle_exec(bContext *C, wmOperator *op) float loc[3], rot[3]; bool enter_editmode; int cap_end, cap_tri; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); cap_end = RNA_enum_get(op->ptr, "fill_type"); cap_tri = (cap_end == 2); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Circle"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Circle"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -281,15 +278,14 @@ static int add_primitive_cylinder_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const int end_fill_type = RNA_enum_get(op->ptr, "end_fill_type"); const bool cap_end = (end_fill_type != 0); const bool cap_tri = (end_fill_type == 2); const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cylinder"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cylinder"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -344,15 +340,14 @@ static int add_primitive_cone_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const int end_fill_type = RNA_enum_get(op->ptr, "end_fill_type"); const bool cap_end = (end_fill_type != 0); const bool cap_tri = (end_fill_type == 2); const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cone"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Cone"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -406,12 +401,11 @@ static int add_primitive_grid_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Grid"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Grid"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -466,13 +460,12 @@ static int add_primitive_monkey_exec(bContext *C, wmOperator *op) float loc[3], rot[3]; float dia; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Y', loc, rot, &enter_editmode, &layer, NULL); + ED_object_add_generic_get_opts(C, op, 'Y', loc, rot, &enter_editmode, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Suzanne"), loc, rot, layer, &creation_data); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Suzanne"), loc, rot, &creation_data); dia = RNA_float_get(op->ptr, "radius"); mul_mat3_m4_fl(creation_data.mat, dia); @@ -521,12 +514,11 @@ static int add_primitive_uvsphere_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Sphere"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Sphere"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { @@ -577,12 +569,11 @@ static int add_primitive_icosphere_exec(bContext *C, wmOperator *op) BMEditMesh *em; float loc[3], rot[3]; bool enter_editmode; - unsigned int layer; const bool calc_uvs = RNA_boolean_get(op->ptr, "calc_uvs"); WM_operator_view3d_unit_defaults(C, op); - ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL); - obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Icosphere"), loc, rot, layer, &creation_data); + ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL); + obedit = make_prim_init(C, CTX_DATA_(BLT_I18NCONTEXT_ID_MESH, "Icosphere"), loc, rot, &creation_data); em = BKE_editmesh_from_object(obedit); if (calc_uvs) { diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 80ce7f26905..db22f719cab 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -301,9 +301,6 @@ void ED_object_add_generic_props(wmOperatorType *ot, bool do_editmode) "Rotation", "Rotation for the newly added object", DEG2RADF(-360.0f), DEG2RADF(360.0f)); RNA_def_property_flag(prop, PROP_SKIP_SAVE); - - prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", ""); - RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); } void ED_object_add_mesh_props(wmOperatorType *ot) @@ -313,10 +310,8 @@ void ED_object_add_mesh_props(wmOperatorType *ot) bool ED_object_add_generic_get_opts(bContext *C, wmOperator *op, const char view_align_axis, float loc[3], float rot[3], - bool *enter_editmode, unsigned int *layer, bool *is_view_aligned) + bool *enter_editmode, bool *is_view_aligned) { - View3D *v3d = CTX_wm_view3d(C); - unsigned int _layer; PropertyRNA *prop; /* Switch to Edit mode? optional prop */ @@ -333,37 +328,6 @@ bool ED_object_add_generic_get_opts(bContext *C, wmOperator *op, const char view } } - /* Get layers! */ - { - int a; - bool layer_values[20]; - if (!layer) - layer = &_layer; - - prop = RNA_struct_find_property(op->ptr, "layers"); - if (RNA_property_is_set(op->ptr, prop)) { - RNA_property_boolean_get_array(op->ptr, prop, layer_values); - *layer = 0; - for (a = 0; a < 20; a++) { - if (layer_values[a]) - *layer |= (1 << a); - } - } - else { - Scene *scene = CTX_data_scene(C); - *layer = BKE_screen_view3d_layer_active_ex(v3d, scene, false); - for (a = 0; a < 20; a++) { - layer_values[a] = (*layer & (1 << a)) != 0; - } - RNA_property_boolean_set_array(op->ptr, prop, layer_values); - } - - /* in local view we additionally add local view layers, - * not part of operator properties */ - if (v3d && v3d->localvd) - *layer |= v3d->lay; - } - /* Location! */ { float _loc[3]; @@ -405,11 +369,6 @@ bool ED_object_add_generic_get_opts(bContext *C, wmOperator *op, const char view RNA_float_get_array(op->ptr, "rotation", rot); } - if (layer && *layer == 0) { - BKE_report(op->reports, RPT_ERROR, "Property 'layer' has no values set"); - return false; - } - return true; } @@ -419,7 +378,7 @@ Object *ED_object_add_type( bContext *C, int type, const char *name, const float loc[3], const float rot[3], - bool enter_editmode, unsigned int UNUSED(layer)) + bool enter_editmode) { Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); @@ -431,7 +390,7 @@ Object *ED_object_add_type( ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); } - /* deselects all, sets scene->basact */ + /* deselects all, sets active object */ ob = BKE_object_add(bmain, scene, view_layer, type, name); /* editor level activate, notifiers */ ED_object_base_activate(C, view_layer->basact); @@ -464,15 +423,14 @@ static int object_add_exec(bContext *C, wmOperator *op) { Object *ob; bool enter_editmode; - unsigned int layer; float loc[3], rot[3], radius; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; radius = RNA_float_get(op->ptr, "radius"); - ob = ED_object_add_type(C, RNA_enum_get(op->ptr, "type"), NULL, loc, rot, enter_editmode, layer); + ob = ED_object_add_type(C, RNA_enum_get(op->ptr, "type"), NULL, loc, rot, enter_editmode); if (ob->type == OB_LATTICE) { /* lattice is a special case! @@ -516,19 +474,18 @@ static int lightprobe_add_exec(bContext *C, wmOperator *op) LightProbe *probe; int type; bool enter_editmode; - unsigned int layer; float loc[3], rot[3]; float radius; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; type = RNA_enum_get(op->ptr, "type"); radius = RNA_float_get(op->ptr, "radius"); const char *name = CTX_DATA_(BLT_I18NCONTEXT_ID_OBJECT, "Light Probe"); - ob = ED_object_add_type(C, OB_LIGHTPROBE, name, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_LIGHTPROBE, name, loc, rot, false); BKE_object_obdata_size_init(ob, radius); probe = (LightProbe *)ob->data; @@ -588,13 +545,12 @@ static int effector_add_exec(bContext *C, wmOperator *op) Object *ob; int type; bool enter_editmode; - unsigned int layer; float loc[3], rot[3]; float mat[4][4]; float dia; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; type = RNA_enum_get(op->ptr, "type"); @@ -603,7 +559,7 @@ static int effector_add_exec(bContext *C, wmOperator *op) if (type == PFIELD_GUIDE) { Curve *cu; const char *name = CTX_DATA_(BLT_I18NCONTEXT_ID_OBJECT, "CurveGuide"); - ob = ED_object_add_type(C, OB_CURVE, name, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_CURVE, name, loc, rot, false); cu = ob->data; cu->flag |= CU_PATH | CU_3D; @@ -615,7 +571,7 @@ static int effector_add_exec(bContext *C, wmOperator *op) } else { const char *name = CTX_DATA_(BLT_I18NCONTEXT_ID_OBJECT, "Field"); - ob = ED_object_add_type(C, OB_EMPTY, name, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_EMPTY, name, loc, rot, false); BKE_object_obdata_size_init(ob, dia); if (ELEM(type, PFIELD_WIND, PFIELD_VORTEX)) ob->empty_drawtype = OB_SINGLE_ARROW; @@ -658,16 +614,15 @@ static int object_camera_add_exec(bContext *C, wmOperator *op) Object *ob; Camera *cam; bool enter_editmode; - unsigned int layer; float loc[3], rot[3]; /* force view align for cameras */ RNA_boolean_set(op->ptr, "view_align", true); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; - ob = ED_object_add_type(C, OB_CAMERA, NULL, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_CAMERA, NULL, loc, rot, false); if (v3d) { if (v3d->camera == NULL) @@ -714,17 +669,16 @@ static int object_metaball_add_exec(bContext *C, wmOperator *op) Object *obedit = CTX_data_edit_object(C); bool newob = false; bool enter_editmode; - unsigned int layer; float loc[3], rot[3]; float mat[4][4]; float dia; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; if (obedit == NULL || obedit->type != OB_MBALL) { - obedit = ED_object_add_type(C, OB_MBALL, NULL, loc, rot, true, layer); + obedit = ED_object_add_type(C, OB_MBALL, NULL, loc, rot, true); newob = true; } else { @@ -773,17 +727,16 @@ static int object_add_text_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); bool enter_editmode; - unsigned int layer; float loc[3], rot[3]; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; if (obedit && obedit->type == OB_FONT) return OPERATOR_CANCELLED; - obedit = ED_object_add_type(C, OB_FONT, NULL, loc, rot, enter_editmode, layer); + obedit = ED_object_add_type(C, OB_FONT, NULL, loc, rot, enter_editmode); BKE_object_obdata_size_init(obedit, RNA_float_get(op->ptr, "radius")); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, obedit); @@ -818,16 +771,15 @@ static int object_armature_add_exec(bContext *C, wmOperator *op) RegionView3D *rv3d = CTX_wm_region_view3d(C); bool newob = false; bool enter_editmode; - unsigned int layer; float loc[3], rot[3], dia; bool view_aligned = rv3d && (U.flag & USER_ADD_VIEWALIGNED); WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, NULL)) return OPERATOR_CANCELLED; if ((obedit == NULL) || (obedit->type != OB_ARMATURE)) { - obedit = ED_object_add_type(C, OB_ARMATURE, NULL, loc, rot, true, layer); + obedit = ED_object_add_type(C, OB_ARMATURE, NULL, loc, rot, true); ED_object_editmode_enter(C, 0); newob = true; } @@ -877,14 +829,13 @@ static int object_empty_add_exec(bContext *C, wmOperator *op) { Object *ob; int type = RNA_enum_get(op->ptr, "type"); - unsigned int layer; float loc[3], rot[3]; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL)) return OPERATOR_CANCELLED; - ob = ED_object_add_type(C, OB_EMPTY, NULL, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_EMPTY, NULL, loc, rot, false); BKE_object_empty_draw_type_set(ob, type); BKE_object_obdata_size_init(ob, RNA_float_get(op->ptr, "radius")); @@ -939,13 +890,12 @@ static int empty_drop_named_image_invoke(bContext *C, wmOperator *op, const wmEv } else { /* add new empty */ - unsigned int layer; float rot[3]; - if (!ED_object_add_generic_get_opts(C, op, 'Z', NULL, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', NULL, rot, NULL, NULL)) return OPERATOR_CANCELLED; - ob = ED_object_add_type(C, OB_EMPTY, NULL, NULL, rot, false, layer); + ob = ED_object_add_type(C, OB_EMPTY, NULL, NULL, rot, false); /* add under the mouse */ ED_object_location_from_view(C, ob->loc); @@ -997,7 +947,6 @@ static int object_gpencil_add_exec(bContext *C, wmOperator *op) const int type = RNA_enum_get(op->ptr, "type"); float loc[3], rot[3]; - unsigned int layer; bool newob = false; /* Hack: Force view-align to be on by default @@ -1012,7 +961,7 @@ static int object_gpencil_add_exec(bContext *C, wmOperator *op) /* Note: We use 'Y' here (not 'Z'), as */ WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Y', loc, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Y', loc, rot, NULL, NULL)) return OPERATOR_CANCELLED; /* add new object if not currently editing a GP object, @@ -1022,7 +971,7 @@ static int object_gpencil_add_exec(bContext *C, wmOperator *op) const char *ob_name = (type == GP_MONKEY) ? "Suzanne" : NULL; float radius = RNA_float_get(op->ptr, "radius"); - ob = ED_object_add_type(C, OB_GPENCIL, ob_name, loc, rot, true, layer); + ob = ED_object_add_type(C, OB_GPENCIL, ob_name, loc, rot, true); gpd = ob->data; newob = true; @@ -1121,14 +1070,13 @@ static int object_light_add_exec(bContext *C, wmOperator *op) Object *ob; Lamp *la; int type = RNA_enum_get(op->ptr, "type"); - unsigned int layer; float loc[3], rot[3]; WM_operator_view3d_unit_defaults(C, op); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL)) return OPERATOR_CANCELLED; - ob = ED_object_add_type(C, OB_LAMP, get_light_defname(type), loc, rot, false, layer); + ob = ED_object_add_type(C, OB_LAMP, get_light_defname(type), loc, rot, false); float size = RNA_float_get(op->ptr, "radius"); /* Better defaults for light size. */ @@ -1185,7 +1133,6 @@ static int collection_instance_add_exec(bContext *C, wmOperator *op) { Main *bmain = CTX_data_main(C); Collection *collection; - unsigned int layer; float loc[3], rot[3]; if (RNA_struct_property_is_set(op->ptr, "name")) { @@ -1207,7 +1154,7 @@ static int collection_instance_add_exec(bContext *C, wmOperator *op) else collection = BLI_findlink(&CTX_data_main(C)->collection, RNA_enum_get(op->ptr, "collection")); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL)) return OPERATOR_CANCELLED; if (collection) { @@ -1220,7 +1167,7 @@ static int collection_instance_add_exec(bContext *C, wmOperator *op) active_lc = BKE_layer_collection_activate_parent(view_layer, active_lc); } - Object *ob = ED_object_add_type(C, OB_EMPTY, collection->id.name + 2, loc, rot, false, layer); + Object *ob = ED_object_add_type(C, OB_EMPTY, collection->id.name + 2, loc, rot, false); ob->dup_group = collection; ob->transflag |= OB_DUPLICOLLECTION; id_us_plus(&collection->id); @@ -1268,14 +1215,13 @@ void OBJECT_OT_collection_instance_add(wmOperatorType *ot) static int object_speaker_add_exec(bContext *C, wmOperator *op) { Object *ob; - unsigned int layer; float loc[3], rot[3]; Scene *scene = CTX_data_scene(C); - if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &layer, NULL)) + if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL)) return OPERATOR_CANCELLED; - ob = ED_object_add_type(C, OB_SPEAKER, NULL, loc, rot, false, layer); + ob = ED_object_add_type(C, OB_SPEAKER, NULL, loc, rot, false); /* to make it easier to start using this immediately in NLA, a default sound clip is created * ready to be moved around to retime the sound and/or make new sound clips diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c index ef81d0c5a0f..d2a85de8fe1 100644 --- a/source/blender/editors/object/object_constraint.c +++ b/source/blender/editors/object/object_constraint.c @@ -1699,17 +1699,12 @@ static bool get_new_constraint_target(bContext *C, int con_type, Object **tar_ob Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); - Base *base = BASACT(view_layer), *newbase = NULL; + Base *base = BASACT(view_layer); Object *obt; /* add new target object */ obt = BKE_object_add(bmain, scene, view_layer, OB_EMPTY, NULL); - /* set layers OK */ - newbase = BASACT(view_layer); - newbase->lay = base->lay; - obt->lay = newbase->lay; - /* transform cent to global coords for loc */ if (pchanact) { /* since by default, IK targets the tip of the last bone, use the tip of the active PoseChannel diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c index 392fde4ceec..ff9cc65180b 100644 --- a/source/blender/editors/object/object_hook.c +++ b/source/blender/editors/object/object_hook.c @@ -450,14 +450,12 @@ static bool hook_op_edit_poll(bContext *C) static Object *add_hook_object_new(Main *bmain, Scene *scene, ViewLayer *view_layer, Object *obedit) { - Base *base, *basedit; + Base *basedit; Object *ob; ob = BKE_object_add(bmain, scene, view_layer, OB_EMPTY, NULL); basedit = BKE_view_layer_base_find(view_layer, obedit); - base = view_layer->basact; - base->lay = ob->lay = obedit->lay; BLI_assert(view_layer->basact->object == ob); /* icky, BKE_object_add sets new base as active. diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 9632eec5420..f3072163f1f 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -111,7 +111,6 @@ typedef struct RenderJob { Depsgraph *depsgraph; Render *re; struct Object *camera_override; - int lay_override; bool v3d_override; bool anim, write_still; Image *image; @@ -307,7 +306,6 @@ static int screen_render_exec(bContext *C, wmOperator *op) Image *ima; View3D *v3d = CTX_wm_view3d(C); Main *mainp = CTX_data_main(C); - unsigned int lay_override; const bool is_animation = RNA_boolean_get(op->ptr, "animation"); const bool is_write_still = RNA_boolean_get(op->ptr, "write_still"); struct Object *camera_override = v3d ? V3D_CAMERA_LOCAL(v3d) : NULL; @@ -326,7 +324,6 @@ static int screen_render_exec(bContext *C, wmOperator *op) } re = RE_NewSceneRender(scene); - lay_override = (v3d && v3d->lay != scene->lay) ? v3d->lay : 0; G.is_break = false; RE_test_break_cb(re, NULL, render_break); @@ -345,9 +342,9 @@ static int screen_render_exec(bContext *C, wmOperator *op) BLI_threaded_malloc_begin(); if (is_animation) - RE_BlenderAnim(re, mainp, scene, camera_override, lay_override, scene->r.sfra, scene->r.efra, scene->r.frame_step); + RE_BlenderAnim(re, mainp, scene, camera_override, scene->r.sfra, scene->r.efra, scene->r.frame_step); else - RE_BlenderFrame(re, mainp, scene, single_layer, camera_override, lay_override, scene->r.cfra, is_write_still); + RE_BlenderFrame(re, mainp, scene, single_layer, camera_override, scene->r.cfra, is_write_still); BLI_threaded_malloc_end(); RE_SetReports(re, NULL); @@ -620,9 +617,9 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro RE_SetReports(rj->re, rj->reports); if (rj->anim) - RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay_override, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step); + RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step); else - RE_BlenderFrame(rj->re, rj->main, rj->scene, rj->single_layer, rj->camera_override, rj->lay_override, rj->scene->r.cfra, rj->write_still); + RE_BlenderFrame(rj->re, rj->main, rj->scene, rj->single_layer, rj->camera_override, rj->scene->r.cfra, rj->write_still); RE_SetReports(rj->re, NULL); } @@ -928,7 +925,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even /* TODO(sergey): Render engine should be using own depsgraph. */ rj->depsgraph = CTX_data_depsgraph(C); rj->camera_override = camera_override; - rj->lay_override = 0; rj->anim = is_animation; rj->write_still = is_write_still && !is_animation; rj->iuser.scene = scene; @@ -948,15 +944,8 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even } if (v3d) { - if (scene->lay != v3d->lay) { - rj->lay_override = v3d->lay; + if (camera_override && camera_override != scene->camera) rj->v3d_override = true; - } - else if (camera_override && camera_override != scene->camera) - rj->v3d_override = true; - - if (v3d->localvd) - rj->lay_override |= v3d->localvd->lay; } /* Lock the user interface depending on render settings. */ diff --git a/source/blender/editors/space_outliner/outliner_collections.c b/source/blender/editors/space_outliner/outliner_collections.c index 34128942382..f0feb7515ba 100644 --- a/source/blender/editors/space_outliner/outliner_collections.c +++ b/source/blender/editors/space_outliner/outliner_collections.c @@ -557,7 +557,7 @@ static int collection_instance_exec(bContext *C, wmOperator *UNUSED(op)) /* Effectively instance the collections. */ GSET_ITER(collections_to_edit_iter, data.collections_to_edit) { Collection *collection = BLI_gsetIterator_getKey(&collections_to_edit_iter); - Object *ob = ED_object_add_type(C, OB_EMPTY, collection->id.name + 2, scene->cursor.location, NULL, false, scene->layact); + Object *ob = ED_object_add_type(C, OB_EMPTY, collection->id.name + 2, scene->cursor.location, NULL, false); ob->dup_group = collection; ob->transflag |= OB_DUPLICOLLECTION; id_lib_extern(&collection->id); diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 674f4e1f778..a8e530540a1 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -316,9 +316,7 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene) v3d = MEM_callocN(sizeof(View3D), "initview3d"); v3d->spacetype = SPACE_VIEW3D; - v3d->lay = v3d->layact = 1; if (scene) { - v3d->lay = v3d->layact = scene->lay; v3d->camera = scene->camera; } v3d->scenelock = true; @@ -432,7 +430,6 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl) if (v3dn->localvd) { v3dn->localvd = NULL; v3dn->properties_storage = NULL; - v3dn->lay = v3do->localvd->lay & 0xFFFFFF; } if (v3dn->shading.type == OB_RENDER) @@ -766,25 +763,6 @@ static void *view3d_main_region_duplicate(void *poin) return NULL; } -static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, const Scene *UNUSED(scene)) -{ - wmWindow *win = wmn->wm->winactive; - unsigned int lay_used = 0; - - if (!win) return; - - const bScreen *screen = WM_window_get_active_screen(win); - for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { - if (sa->spacetype == SPACE_VIEW3D) { - if (BLI_findindex(&sa->regionbase, ar) != -1) { - View3D *v3d = sa->spacedata.first; - v3d->lay_used = lay_used; - break; - } - } - } -} - static void view3d_main_region_listener( wmWindow *UNUSED(win), ScrArea *sa, ARegion *ar, wmNotifier *wmn, const Scene *scene) @@ -821,8 +799,6 @@ static void view3d_main_region_listener( switch (wmn->data) { case ND_SCENEBROWSE: case ND_LAYER_CONTENT: - if (wmn->reference) - view3d_recalc_used_layers(ar, wmn, wmn->reference); ED_region_tag_redraw(ar); WM_gizmomap_tag_refresh(gzmap); break; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index fe1877f62fa..1091b7a7f63 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1598,7 +1598,6 @@ ImBuf *ED_view3d_draw_offscreen_imbuf_simple( ar.regiontype = RGN_TYPE_WINDOW; v3d.camera = camera; - v3d.lay = scene->lay; v3d.shading.type = drawtype; v3d.flag2 = V3D_RENDER_OVERRIDE; diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 83cabd2a60e..854bf01b158 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -69,160 +69,6 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event); #define B_SEL_EDGE 111 #define B_SEL_FACE 112 -/* XXX quickly ported across */ -static void handle_view3d_lock(bContext *C) -{ - Scene *scene = CTX_data_scene(C); - ScrArea *sa = CTX_wm_area(C); - View3D *v3d = CTX_wm_view3d(C); - - if (v3d != NULL && sa != NULL) { - if (v3d->localvd == NULL && v3d->scenelock && sa->spacetype == SPACE_VIEW3D) { - /* copy to scene */ - scene->lay = v3d->lay; - scene->layact = v3d->layact; - scene->camera = v3d->camera; - - /* notifiers for scene update */ - WM_event_add_notifier(C, NC_SCENE | ND_LAYER, scene); - } - } -} - -/** - * layer code is on three levels actually: - * - here for operator - * - uiTemplateLayers in interface/ code for buttons - * - ED_view3d_view_layer_set for RNA - */ -static void view3d_layers_editmode_ensure(View3D *v3d, Object *obedit) -{ - /* sanity check - when in editmode disallow switching the editmode layer off since its confusing - * an alternative would be to always draw the editmode object. */ - if (obedit && (obedit->lay & v3d->lay) == 0) { - int bit; - for (bit = 0; bit < 32; bit++) { - if (obedit->lay & (1u << bit)) { - v3d->lay |= (1u << bit); - break; - } - } - } -} - -static int view3d_layers_exec(bContext *C, wmOperator *op) -{ - ScrArea *sa = CTX_wm_area(C); - View3D *v3d = sa->spacedata.first; - Object *obedit = CTX_data_edit_object(C); - int nr = RNA_int_get(op->ptr, "nr"); - const bool toggle = RNA_boolean_get(op->ptr, "toggle"); - - if (nr < 0) - return OPERATOR_CANCELLED; - - if (nr == 0) { - /* all layers */ - if (!v3d->lay_prev) - v3d->lay_prev = 1; - - if (toggle && v3d->lay == ((1 << 20) - 1)) { - /* return to active layer only */ - v3d->lay = v3d->lay_prev; - - view3d_layers_editmode_ensure(v3d, obedit); - } - else { - v3d->lay_prev = v3d->lay; - v3d->lay |= (1 << 20) - 1; - } - } - else { - int bit; - nr--; - - if (RNA_boolean_get(op->ptr, "extend")) { - if (toggle && v3d->lay & (1 << nr) && (v3d->lay & ~(1 << nr))) - v3d->lay &= ~(1 << nr); - else - v3d->lay |= (1 << nr); - } - else { - v3d->lay = (1 << nr); - } - - view3d_layers_editmode_ensure(v3d, obedit); - - /* set active layer, ensure to always have one */ - if (v3d->lay & (1 << nr)) - v3d->layact = 1 << nr; - else if ((v3d->lay & v3d->layact) == 0) { - for (bit = 0; bit < 32; bit++) { - if (v3d->lay & (1u << bit)) { - v3d->layact = (1u << bit); - break; - } - } - } - } - - if (v3d->scenelock) handle_view3d_lock(C); - - DEG_on_visible_update(CTX_data_main(C), false); - - ED_area_tag_redraw(sa); - - return OPERATOR_FINISHED; -} - -/* applies shift and alt, lazy coding or ok? :) */ -/* the local per-keymap-entry keymap will solve it */ -static int view3d_layers_invoke(bContext *C, wmOperator *op, const wmEvent *event) -{ - if (event->ctrl || event->oskey) - return OPERATOR_PASS_THROUGH; - - if (event->shift) - RNA_boolean_set(op->ptr, "extend", true); - else - RNA_boolean_set(op->ptr, "extend", false); - - if (event->alt) { - const int nr = RNA_int_get(op->ptr, "nr") + 10; - RNA_int_set(op->ptr, "nr", nr); - } - view3d_layers_exec(C, op); - - return OPERATOR_FINISHED; -} - -static bool view3d_layers_poll(bContext *C) -{ - return (ED_operator_view3d_active(C) && CTX_wm_view3d(C)->localvd == NULL); -} - -void VIEW3D_OT_layers(wmOperatorType *ot) -{ - /* identifiers */ - ot->name = "Layers"; - ot->description = "Toggle layer(s) visibility"; - ot->idname = "VIEW3D_OT_layers"; - - /* api callbacks */ - ot->invoke = view3d_layers_invoke; - ot->exec = view3d_layers_exec; - ot->poll = view3d_layers_poll; - - /* flags */ - ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; - - RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "The layer number to set, zero for all layers", 0, 20); - RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers"); - RNA_def_boolean(ot->srna, "toggle", 1, "Toggle", "Toggle the layer"); -} - -/** \} */ - /* -------------------------------------------------------------------- */ /** \name Toggle Matcap Flip Operator * \{ */ diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index c53382a60ad..bda3c337d04 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -208,7 +208,6 @@ void view3d_operatortypes(void) WM_operatortype_append(VIEW3D_OT_walk); WM_operatortype_append(VIEW3D_OT_navigate); WM_operatortype_append(VIEW3D_OT_ruler); - WM_operatortype_append(VIEW3D_OT_layers); WM_operatortype_append(VIEW3D_OT_copybuffer); WM_operatortype_append(VIEW3D_OT_pastebuffer); diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index 07776bfc1b7..610b81c97a5 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -860,7 +860,6 @@ Object *BlenderStrokeRenderer::NewMesh() const ob = BKE_object_add_only_object(freestyle_bmain, OB_MESH, name); BLI_snprintf(name, MAX_ID_NAME, "0%08xME", mesh_id); ob->data = BKE_mesh_add(freestyle_bmain, name); - ob->lay = 1; Collection *collection_master = BKE_collection_master(freestyle_scene); BKE_collection_object_add(freestyle_bmain, collection_master, ob); diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h index e6b1bda7cf5..3dcd31fbd7b 100644 --- a/source/blender/makesdna/DNA_layer_types.h +++ b/source/blender/makesdna/DNA_layer_types.h @@ -40,7 +40,7 @@ typedef struct Base { short pad; short sx, sy; struct Object *object; - unsigned int lay; + unsigned int lay DNA_DEPRECATED; int flag_legacy; } Base; diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 1f6f7cd9bf2..a000a083ff6 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -216,7 +216,7 @@ typedef struct Object { */ float imat_ren[4][4]; - unsigned int lay; /* copy of Base's layer in the scene */ + unsigned int lay DNA_DEPRECATED; /* copy of Base's layer in the scene */ short flag; /* copy of Base */ short colbits DNA_DEPRECATED; /* deprecated, use 'matbits' */ diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 63a6a191b9e..eb1a17a044c 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1488,8 +1488,8 @@ typedef struct Scene { View3DCursor cursor; /* 3d cursor location */ - unsigned int lay; /* bitflags for layer visibility */ - int layact; /* active layer */ + unsigned int lay DNA_DEPRECATED; /* bitflags for layer visibility */ + int layact DNA_DEPRECATED; /* active layer */ unsigned int pad1; short flag; /* various settings */ diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 65b6192b9c8..bf5a5cf846f 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -216,8 +216,8 @@ typedef struct View3D { char bundle_drawtype; /* display style for bundle */ char pad[3]; - unsigned int lay_prev; /* for active layer toggle */ - unsigned int lay_used; /* used while drawing */ + unsigned int lay_prev DNA_DEPRECATED; /* for active layer toggle */ + unsigned int lay_used DNA_DEPRECATED; /* used while drawing */ int object_type_exclude_viewport; int object_type_exclude_select; @@ -232,8 +232,8 @@ typedef struct View3D { char ob_centre_bone[64]; /* optional string for armature bone to define center, MAXBONENAME */ - unsigned int lay; - int layact; + unsigned int lay DNA_DEPRECATED; + int layact DNA_DEPRECATED; short ob_centre_cursor; /* optional bool for 3d cursor to define center */ short scenelock; diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 6fbd7abaa39..086c914c6ae 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -2153,12 +2153,6 @@ static void rna_def_object(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "Mode", "Object interaction mode"); - prop = RNA_def_property(srna, "layers_local_view", PROP_BOOLEAN, PROP_LAYER_MEMBER); - RNA_def_property_boolean_sdna(prop, NULL, "lay", 0x01000000); - RNA_def_property_array(prop, 8); - RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Local View Layers", "3D local view layers the object is on"); - /* for data access */ prop = RNA_def_property(srna, "bound_box", PROP_FLOAT, PROP_NONE); RNA_def_property_multi_array(prop, 2, boundbox_dimsize); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 84910b6b1b3..7f2eeba9850 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -653,20 +653,6 @@ void rna_Scene_set_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) } } -static void rna_Scene_layer_set(PointerRNA *ptr, const bool *values) -{ - Scene *scene = (Scene *)ptr->data; - - scene->lay = ED_view3d_view_layer_set(scene->lay, values, &scene->layact); -} - -static int rna_Scene_active_layer_get(PointerRNA *ptr) -{ - Scene *scene = (Scene *)ptr->data; - - return (int)(log(scene->layact) / M_LN2); -} - static void rna_Scene_view3d_update(Main *bmain, Scene *UNUSED(scene_unused), PointerRNA *ptr) { wmWindowManager *wm = bmain->wm.first; @@ -675,17 +661,6 @@ static void rna_Scene_view3d_update(Main *bmain, Scene *UNUSED(scene_unused), Po WM_windows_scene_data_sync(&wm->windows, scene); } -static void rna_Scene_layer_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr)) -{ - /* XXX We would need do_time=true here, else we can have update issues like [#36289]... - * However, this has too much drawbacks (like slower layer switch, undesired updates...). - * That's TODO for future DAG updates. - */ - DEG_on_visible_update(bmain, false); - - /* No need to sync scene data here (WM_windows_scene_data_sync), handled through notifier. */ -} - static void rna_Scene_fps_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr)) { BKE_sound_update_fps(scene); @@ -6013,22 +5988,6 @@ void RNA_def_scene(BlenderRNA *brna) NULL, NULL, NULL, NULL); rna_def_scene_objects(brna, prop); - /* Layers */ - prop = RNA_def_property(srna, "layers", PROP_BOOLEAN, PROP_LAYER_MEMBER); - /* this seems to be too much trouble with depsgraph updates/etc. currently (20110420) */ - RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); - RNA_def_property_boolean_sdna(prop, NULL, "lay", 1); - RNA_def_property_array(prop, 20); - RNA_def_property_boolean_funcs(prop, NULL, "rna_Scene_layer_set"); - RNA_def_property_ui_text(prop, "Layers", "Visible layers - Shift-Click/Drag to select multiple layers"); - RNA_def_property_update(prop, NC_SCENE | ND_LAYER, "rna_Scene_layer_update"); - - /* active layer */ - prop = RNA_def_property(srna, "active_layer", PROP_INT, PROP_NONE); - RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); - RNA_def_property_int_funcs(prop, "rna_Scene_active_layer_get", NULL, NULL); - RNA_def_property_ui_text(prop, "Active Layer", "Active scene layer index"); - /* Frame Range Stuff */ prop = RNA_def_property(srna, "frame_current", PROP_INT, PROP_TIME); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 2e50111b01b..9629b4a877b 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -516,9 +516,12 @@ static void rna_SpaceView3D_lock_camera_and_layers_set(PointerRNA *ptr, bool val if (value) { Scene *scene = ED_screen_scene_find(sc, G_MAIN->wm.first); - int bit; + /* TODO: restore local view. */ +#if 0 + int bit; v3d->lay = scene->lay; + /* seek for layact */ bit = 0; while (bit < 32) { @@ -528,6 +531,7 @@ static void rna_SpaceView3D_lock_camera_and_layers_set(PointerRNA *ptr, bool val } bit++; } +#endif v3d->camera = scene->camera; } } @@ -582,25 +586,6 @@ static float rna_View3DOverlay_GridScaleUnit_get(PointerRNA *ptr) return ED_view3d_grid_scale(scene, v3d, NULL); } -static void rna_SpaceView3D_layer_set(PointerRNA *ptr, const bool *values) -{ - View3D *v3d = (View3D *)(ptr->data); - - v3d->lay = ED_view3d_view_layer_set(v3d->lay, values, &v3d->layact); -} - -static int rna_SpaceView3D_active_layer_get(PointerRNA *ptr) -{ - View3D *v3d = (View3D *)(ptr->data); - - return (int)(log(v3d->layact) / M_LN2); -} - -static void rna_SpaceView3D_layer_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr)) -{ - DEG_on_visible_update(bmain, false); -} - static PointerRNA rna_SpaceView3D_region_3d_get(PointerRNA *ptr) { View3D *v3d = (View3D *)(ptr->data); @@ -3106,30 +3091,6 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_ui_icon(prop, ICON_LOCKVIEW_OFF, 1); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); - prop = RNA_def_property(srna, "layers", PROP_BOOLEAN, PROP_LAYER_MEMBER); - RNA_def_property_boolean_sdna(prop, NULL, "lay", 1); - RNA_def_property_array(prop, 20); - RNA_def_property_boolean_funcs(prop, NULL, "rna_SpaceView3D_layer_set"); - RNA_def_property_ui_text(prop, "Visible Layers", "Layers visible in this 3D View"); - RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_SpaceView3D_layer_update"); - - prop = RNA_def_property(srna, "active_layer", PROP_INT, PROP_NONE); - RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); - RNA_def_property_int_funcs(prop, "rna_SpaceView3D_active_layer_get", NULL, NULL); - RNA_def_property_ui_text(prop, "Active Layer", "Active 3D view layer index"); - - prop = RNA_def_property(srna, "layers_local_view", PROP_BOOLEAN, PROP_LAYER_MEMBER); - RNA_def_property_boolean_sdna(prop, NULL, "lay", 0x01000000); - RNA_def_property_array(prop, 8); - RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Local View Layers", "Local view layers visible in this 3D View"); - - prop = RNA_def_property(srna, "layers_used", PROP_BOOLEAN, PROP_LAYER_MEMBER); - RNA_def_property_boolean_sdna(prop, NULL, "lay_used", 1); - RNA_def_property_array(prop, 20); - RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Used Layers", "Layers that contain something"); - prop = RNA_def_property(srna, "region_3d", PROP_POINTER, PROP_NONE); RNA_def_property_struct_type(prop, "RegionView3D"); RNA_def_property_pointer_funcs(prop, "rna_SpaceView3D_region_3d_get", NULL, NULL, NULL); diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index df8953857ee..cf52bb11d59 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -263,7 +263,7 @@ void RE_GetViewPlane(struct Render *re, rctf *r_viewplane, rcti *r_disprect); /* make or free the dbase */ void RE_Database_CameraOnly( struct Render *re, struct Main *bmain, struct Scene *scene, - unsigned int lay, int use_camera_view); + int use_camera_view); /* set the render threads based on the commandline and autothreads setting */ void RE_init_threadcount(Render *re); @@ -278,9 +278,9 @@ bool RE_WriteRenderViewsMovie( /* only RE_NewRender() needed, main Blender render calls */ void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct ViewLayer *single_layer, struct Object *camera_override, - unsigned int lay_override, int frame, const bool write_still); + int frame, const bool write_still); void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, - unsigned int lay_override, int sfra, int efra, int tfra); + int sfra, int efra, int tfra); #ifdef WITH_FREESTYLE void RE_RenderFreestyleStrokes(struct Render *re, struct Main *bmain, struct Scene *scene, int render); void RE_RenderFreestyleExternal(struct Render *re); diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 5d5d12f028a..1467f8d9804 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -118,7 +118,6 @@ struct Render { ListBase view_layers; int active_view_layer; struct Object *camera_override; - unsigned int lay, layer_override; ThreadRWMutex partsmutex; ListBase parts; diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 09ab3e39d5f..2623d2c2c0f 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -702,7 +702,6 @@ int RE_engine_render(Render *re, int do_all) if (re->r.scemode & R_BUTS_PREVIEW) engine->flag |= RE_ENGINE_PREVIEW; engine->camera_override = re->camera_override; - engine->layer_override = re->layer_override; engine->resolution_x = re->winx; engine->resolution_y = re->winy; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index c6b372a53e5..b6fe518b906 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1202,7 +1202,6 @@ static void render_scene(Render *re, Scene *sce, int cfra) /* still unsure entity this... */ resc->main = re->main; resc->scene = sce; - resc->lay = sce->lay; /* ensure scene has depsgraph, base flags etc OK */ BKE_scene_set_background(re->main, sce); @@ -1911,7 +1910,7 @@ const char *RE_GetActiveRenderView(Render *re) /* evaluating scene options for general Blender render */ static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, Scene *scene, - ViewLayer *single_layer, Object *camera_override, unsigned int lay_override, + ViewLayer *single_layer, Object *camera_override, int anim, int anim_init) { int winx, winy; @@ -1941,9 +1940,6 @@ static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, re->main = bmain; re->scene = scene; re->camera_override = camera_override; - re->lay = lay_override ? lay_override : scene->lay; - re->layer_override = lay_override; - re->i.localview = (re->lay & 0xFF000000) != 0; re->viewname[0] = '\0'; /* not too nice, but it survives anim-border render */ @@ -1992,7 +1988,7 @@ void RE_SetReports(Render *re, ReportList *reports) /* general Blender frame render call */ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, ViewLayer *single_layer, Object *camera_override, - unsigned int lay_override, int frame, const bool write_still) + int frame, const bool write_still) { BLI_callback_exec(re->main, (ID *)scene, BLI_CB_EVT_RENDER_INIT); @@ -2002,7 +1998,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, ViewLayer *single_la scene->r.cfra = frame; if (render_initialize_from_main(re, &scene->r, bmain, scene, single_layer, - camera_override, lay_override, 0, 0)) + camera_override, 0, 0)) { MEM_reset_peak_memory(); @@ -2045,7 +2041,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, ViewLayer *single_la void RE_RenderFreestyleStrokes(Render *re, Main *bmain, Scene *scene, int render) { re->result_ok= 0; - if (render_initialize_from_main(re, &scene->r, bmain, scene, NULL, NULL, scene->lay, 0, 0)) { + if (render_initialize_from_main(re, &scene->r, bmain, scene, NULL, NULL, 0, 0)) { if (render) do_render_3d(re); } @@ -2347,7 +2343,7 @@ static void re_movie_free_all(Render *re, bMovieHandle *mh, int totvideos) /* saves images to disk */ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, - unsigned int lay_override, int sfra, int efra, int tfra) + int sfra, int efra, int tfra) { RenderData rd = scene->r; bMovieHandle *mh = NULL; @@ -2361,7 +2357,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri BLI_callback_exec(re->main, (ID *)scene, BLI_CB_EVT_RENDER_INIT); /* do not fully call for each frame, it initializes & pops output window */ - if (!render_initialize_from_main(re, &rd, bmain, scene, NULL, camera_override, lay_override, 0, 1)) + if (!render_initialize_from_main(re, &rd, bmain, scene, NULL, camera_override, 0, 1)) return; if (is_movie) { @@ -2448,7 +2444,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri /* only border now, todo: camera lens. (ton) */ render_initialize_from_main(re, &rd, bmain, scene, - NULL, camera_override, lay_override, 1, 0); + NULL, camera_override, 1, 0); if (nfra != scene->r.cfra) { /* Skip this frame, but could update for physics and particles system. */ @@ -2612,7 +2608,6 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce) re->main = bmain; re->scene = sce; - re->lay = sce->lay; camera = RE_GetCamera(re); RE_SetCamera(re, camera); diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c index 5e9cec660e1..d2f45071496 100644 --- a/source/creator/creator_args.c +++ b/source/creator/creator_args.c @@ -1409,7 +1409,7 @@ static int arg_handle_render_frame(int argc, const char **argv, void *data) } for (int frame = frame_range_arr[i][0]; frame <= frame_range_arr[i][1]; frame++) { - RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step); + RE_BlenderAnim(re, bmain, scene, NULL, frame, frame, scene->r.frame_step); } } RE_SetReports(re, NULL); @@ -1443,7 +1443,7 @@ static int arg_handle_render_animation(int UNUSED(argc), const char **UNUSED(arg BLI_threaded_malloc_begin(); BKE_reports_init(&reports, RPT_STORE); RE_SetReports(re, &reports); - RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step); + RE_BlenderAnim(re, bmain, scene, NULL, scene->r.sfra, scene->r.efra, scene->r.frame_step); RE_SetReports(re, NULL); BKE_reports_clear(&reports); BLI_threaded_malloc_end(); |