Commit: 652eaf7723de34b7b717a7fe2fb4a5757614fb0a
Author: Campbell Barton
Date:   Wed Sep 10 16:02:24 2014 +1000
Branches: master
https://developer.blender.org/rB652eaf7723de34b7b717a7fe2fb4a5757614fb0a

Fix for mesh-inset modifying hidden faces

===================================================================

M       source/blender/bmesh/intern/bmesh_opdefines.c
M       source/blender/bmesh/operators/bmo_inset.c
M       source/blender/editors/mesh/editmesh_inset.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_opdefines.c 
b/source/blender/bmesh/intern/bmesh_opdefines.c
index 74bd911..d8be55c 100644
--- a/source/blender/bmesh/intern/bmesh_opdefines.c
+++ b/source/blender/bmesh/intern/bmesh_opdefines.c
@@ -1795,6 +1795,7 @@ static BMOpDefine bmo_inset_region_def = {
        "inset_region",
        /* slots_in */
        {{"faces", BMO_OP_SLOT_ELEMENT_BUF, {BM_FACE}},    /* input faces */
+        {"faces_exclude", BMO_OP_SLOT_ELEMENT_BUF, {BM_FACE}},
         {"use_boundary", BMO_OP_SLOT_BOOL},
         {"use_even_offset", BMO_OP_SLOT_BOOL},
         {"use_interpolate", BMO_OP_SLOT_BOOL},
diff --git a/source/blender/bmesh/operators/bmo_inset.c 
b/source/blender/bmesh/operators/bmo_inset.c
index d1d7129..1b72a31 100644
--- a/source/blender/bmesh/operators/bmo_inset.c
+++ b/source/blender/bmesh/operators/bmo_inset.c
@@ -587,6 +587,7 @@ void bmo_inset_region_exec(BMesh *bm, BMOperator *op)
        else {
                BM_mesh_elem_hflag_enable_all(bm, BM_FACE, BM_ELEM_TAG, false);
                BMO_slot_buffer_hflag_disable(bm, op->slots_in, "faces", 
BM_FACE, BM_ELEM_TAG, false);
+               BMO_slot_buffer_hflag_disable(bm, op->slots_in, 
"faces_exclude", BM_FACE, BM_ELEM_TAG, false);
        }
 
        /* first count all inset edges we will split */
diff --git a/source/blender/editors/mesh/editmesh_inset.c 
b/source/blender/editors/mesh/editmesh_inset.c
index a4942d0..a90a002 100644
--- a/source/blender/editors/mesh/editmesh_inset.c
+++ b/source/blender/editors/mesh/editmesh_inset.c
@@ -214,17 +214,21 @@ static bool edbm_inset_calc(wmOperator *op)
 
        if (use_individual) {
                EDBM_op_init(em, &bmop, op,
-                            "inset_individual faces=%hf use_even_offset=%b  
use_relative_offset=%b"
+                            "inset_individual faces=%hf use_even_offset=%b  
use_relative_offset=%b "
                             "use_interpolate=%b thickness=%f depth=%f",
                             BM_ELEM_SELECT, use_even_offset, 
use_relative_offset, use_interpolate,
                             thickness, depth);
        }
        else {
                EDBM_op_init(em, &bmop, op,
-                            "inset_region faces=%hf use_boundary=%b 
use_even_offset=%b use_relative_offset=%b"
-                            " use_interpolate=%b thickness=%f depth=%f 
use_outset=%b use_edge_rail=%b",
+                            "inset_region faces=%hf use_boundary=%b 
use_even_offset=%b use_relative_offset=%b "
+                            "use_interpolate=%b thickness=%f depth=%f 
use_outset=%b use_edge_rail=%b",
                             BM_ELEM_SELECT, use_boundary, use_even_offset, 
use_relative_offset, use_interpolate,
                             thickness, depth, use_outset, use_edge_rail);
+
+               if (use_outset) {
+                       BMO_slot_buffer_from_enabled_hflag(em->bm, &bmop, 
bmop.slots_in, "faces_exclude", BM_FACE, BM_ELEM_HIDDEN);
+               }
        }
        BMO_op_exec(em->bm, &bmop);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to