Image/UV Editor: Remove show other option
authorDalai Felinto <dfelinto@gmail.com>
Mon, 10 Sep 2018 13:41:36 +0000 (10:41 -0300)
committerDalai Felinto <dfelinto@gmail.com>
Mon, 10 Sep 2018 13:43:30 +0000 (10:43 -0300)
This is no longer useful now that we have multi-object editing support.

release/scripts/startup/bl_ui/space_image.py
source/blender/editors/uvedit/uvedit_draw.c
source/blender/makesdna/DNA_space_types.h
source/blender/makesrna/intern/rna_space.c

index 6c295db8bfa3d797154d0ff358d50f5443b234dc..552d4802dd13b089d4b5a0f62327cae1ef1cddeb 100644 (file)
@@ -89,7 +89,6 @@ class IMAGE_MT_view(Menu):
         if show_uvedit:
             layout.prop(toolsettings, "show_uv_local_view")
 
-        layout.prop(uv, "show_other_objects")
         layout.prop(uv, "show_metadata")
 
         if paint.brush and (context.image_paint_object or sima.mode == 'PAINT'):
@@ -782,15 +781,6 @@ class IMAGE_PT_view_display_uv_edit_overlays_advanced(Panel):
         sima = context.space_data
         uvedit = sima.uv_editor
 
-        col = layout.column()
-        col.prop(uvedit, "show_other_objects", text="Other Objects")
-
-        sub = col.column()
-        sub.active = uvedit.show_other_objects
-        sub.prop(uvedit, "other_uv_filter", text="Filter")
-
-        col.separator()
-
         col = layout.column()
         col.prop(uvedit, "show_stretch", text="Stretch")
 
index 446e8d66fd00cd43c258005233a83b3dd213278d..8b2c98ad5ccead07d52d0008a24665813ec68660 100644 (file)
@@ -424,110 +424,11 @@ static void draw_uvs_lineloop_bmfaces(BMesh *bm, const int cd_loop_uv_offset, co
        GPU_batch_discard(loop_batch);
 }
 
-static void draw_uvs_lineloop_mpoly(Mesh *me, MPoly *mpoly, unsigned int pos)
+static void draw_uvs_texpaint(Scene *scene, Object *ob)
 {
-       MLoopUV *mloopuv;
-       int i;
-
-       immBegin(GPU_PRIM_LINE_LOOP, mpoly->totloop);
-
-       mloopuv = &me->mloopuv[mpoly->loopstart];
-       for (i = mpoly->totloop; i != 0; i--, mloopuv++) {
-               immVertex2fv(pos, mloopuv->uv);
-       }
-
-       immEnd();
-}
-
-static void draw_uvs_other_mesh(Object *ob, const Image *curimage,
-                                const int other_uv_filter, unsigned int pos)
-{
-       Mesh *me = ob->data;
-       MPoly *mpoly = me->mpoly;
-       int a;
-       BLI_bitmap *mat_test_array;
-       bool ok = false;
-       int totcol = 0;
-
-       if (me->mloopuv == NULL) {
-               return;
-       }
-
-       if (curimage && ob->totcol == 0) {
-               return;
-       }
-
-       totcol = max_ii(ob->totcol, 1);
-       mat_test_array = BLI_BITMAP_NEW_ALLOCA(totcol);
-
-       for (a = 0; a < totcol; a++) {
-               Image *image;
-
-               /* if no materials, assume a default material with no image */
-               if (ob->totcol)
-                       ED_object_get_active_image(ob, a + 1, &image, NULL, NULL, NULL);
-               else
-                       image = NULL;
-
-               if (image == curimage) {
-                       BLI_BITMAP_ENABLE(mat_test_array, a);
-                       ok = true;
-               }
-       }
-
-       if (ok == false) {
-               return;
-       }
-
-       for (a = me->totpoly; a != 0; a--, mpoly++) {
-               if (other_uv_filter == SI_FILTER_ALL) {
-                       /* Nothing to compare, all UV faces are visible. */
-               }
-               else if (other_uv_filter == SI_FILTER_SAME_IMAGE) {
-                       const int mat_nr = mpoly->mat_nr;
-                       if ((mat_nr >= totcol) ||
-                           (BLI_BITMAP_TEST(mat_test_array, mat_nr)) == 0)
-                       {
-                               continue;
-                       }
-               }
-
-               draw_uvs_lineloop_mpoly(me, mpoly, pos);
-       }
-}
-
-static void draw_uvs_other(ViewLayer *view_layer, Object *obedit, const Image *curimage,
-                           const int other_uv_filter)
-{
-       uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
-
-       immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
-
-       immUniformThemeColor(TH_UV_OTHERS);
-
-       for (Base *base = view_layer->object_bases.first; base; base = base->next) {
-               if (((base->flag & BASE_SELECTED) != 0) &&
-                   ((base->flag & BASE_VISIBLE) != 0))
-               {
-                       Object *ob = base->object;
-                       if ((ob->type == OB_MESH) && (ob != obedit) && ((Mesh *)ob->data)->mloopuv) {
-                               draw_uvs_other_mesh(ob, curimage, other_uv_filter, pos);
-                       }
-               }
-       }
-       immUnbindProgram();
-}
-
-static void draw_uvs_texpaint(SpaceImage *sima, Scene *scene, ViewLayer *view_layer, Object *ob)
-{
-       Image *curimage = ED_space_image(sima);
        Mesh *me = ob->data;
        Material *ma;
 
-       if (sima->flag & SI_DRAW_OTHER) {
-               draw_uvs_other(view_layer, ob, curimage, sima->other_uv_filter);
-       }
-
        ma = give_current_material(ob, ob->actcol);
 
        if (me->mloopuv) {
@@ -582,7 +483,7 @@ static void draw_uvs_looptri(BMEditMesh *em, unsigned int *r_loop_index, const i
 }
 
 /* draws uv's in the image space */
-static void draw_uvs(SpaceImage *sima, Scene *scene, ViewLayer *view_layer, Object *obedit, Depsgraph *depsgraph)
+static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit, Depsgraph *depsgraph)
 {
        ToolSettings *ts;
        Mesh *me = obedit->data;
@@ -610,20 +511,6 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, ViewLayer *view_layer, Obje
        else
                interpedges = (ts->uv_selectmode == UV_SELECT_VERTEX);
 
-       /* draw other uvs */
-       if (sima->flag & SI_DRAW_OTHER) {
-               Image *curimage;
-
-               if (efa_act) {
-                       ED_object_get_active_image(obedit, efa_act->mat_nr + 1, &curimage, NULL, NULL, NULL);
-               }
-               else {
-                       curimage = ima;
-               }
-
-               draw_uvs_other(view_layer, obedit, curimage, sima->other_uv_filter);
-       }
-
        /* 1. draw shadow mesh */
 
        if (sima->flag & SI_DRAWSHADOW) {
@@ -1070,12 +957,12 @@ void ED_uvedit_draw_main(
                        Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(view_layer, &objects_len);
                        for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
                                Object *ob_iter = objects[ob_index];
-                               draw_uvs(sima, scene, view_layer, ob_iter, depsgraph);
+                               draw_uvs(sima, scene, ob_iter, depsgraph);
                        }
                        MEM_freeN(objects);
                }
                else {
-                       draw_uvs_texpaint(sima, scene, view_layer, obact);
+                       draw_uvs_texpaint(scene, obact);
                }
 
                if (show_uvedit && !(toolsettings->use_uv_sculpt))
index f38669a757aeaeb732b9c8cfd508c01e135ce4c5..630d0f622b6755048a81007c0eaaf4172ceac0ab 100644 (file)
@@ -917,8 +917,7 @@ typedef struct SpaceImage {
        char dt_uvstretch;
        char around;
 
-       /* Filter settings when editor shows other object's UVs. */
-       int other_uv_filter;
+       int pad2;
 
        int flag;
 
@@ -988,7 +987,7 @@ typedef enum eSpaceImage_Flag {
        SI_SMOOTH_UV          = (1 << 20),
        SI_DRAW_STRETCH       = (1 << 21),
        SI_SHOW_GPENCIL       = (1 << 22),
-       SI_DRAW_OTHER         = (1 << 23),
+/*     SI_DEPRECATED6        = (1 << 23), */  /* deprecated */
 
        SI_COLOR_CORRECTION   = (1 << 24),
 
index 04cb01cabee8f0ada788f3a307970b38e0364c96..e5f6b36bb1ff66ee343616589c138fffb570c75f 100644 (file)
@@ -2190,13 +2190,6 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
                {0, NULL, 0, NULL, NULL}
        };
 
-       static const EnumPropertyItem other_uv_filter_items[] = {
-               {SI_FILTER_ALL, "ALL", 0, "All", "No filter, show all islands from other objects"},
-               {SI_FILTER_SAME_IMAGE, "SAME_IMAGE", ICON_IMAGE_DATA, "Same Image",
-                "Only show others' UV islands whose active image matches image of the active face"},
-               {0, NULL, 0, NULL, NULL}
-       };
-
        srna = RNA_def_struct(brna, "SpaceUVEditor", NULL);
        RNA_def_struct_sdna(srna, "SpaceImage");
        RNA_def_struct_nested(brna, srna, "SpaceImageEditor");
@@ -2240,11 +2233,6 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Display Modified Edges", "Display edges after modifiers are applied");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
 
-       prop = RNA_def_property(srna, "show_other_objects", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_DRAW_OTHER);
-       RNA_def_property_ui_text(prop, "Display Other Objects", "Display other selected objects that share the same image");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
-
        prop = RNA_def_property(srna, "show_metadata", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_DRAW_METADATA);
        RNA_def_property_ui_text(prop, "Show Metadata", "Display metadata properties of the image");
@@ -2284,13 +2272,6 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Live Unwrap",
                                 "Continuously unwrap the selected UV island while transforming pinned vertices");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
-
-       /* Other UV filtering */
-       prop = RNA_def_property(srna, "other_uv_filter", PROP_ENUM, PROP_NONE);
-       RNA_def_property_enum_items(prop, other_uv_filter_items);
-       RNA_def_property_ui_text(prop, "Other UV filter",
-                                "Filter applied on the other object's UV to limit displayed");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
 }
 
 static void rna_def_space_outliner(BlenderRNA *brna)