Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-07-21 04:58:02 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-07-21 04:58:02 +0400
commit90d215535ec4160740fb19f90e453cb1ea053ffd (patch)
tree867f1a10586e5f2ab552356bdb9e9cd555546796 /source/blender/bmesh/operators/bmo_extrude.c
parent16516238e2b25ce53144c2dcea5323dc7313b724 (diff)
add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
Diffstat (limited to 'source/blender/bmesh/operators/bmo_extrude.c')
-rw-r--r--source/blender/bmesh/operators/bmo_extrude.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c
index b8993b41caf..7b59a4a9101 100644
--- a/source/blender/bmesh/operators/bmo_extrude.c
+++ b/source/blender/bmesh/operators/bmo_extrude.c
@@ -118,7 +118,9 @@ void bmo_extrude_discrete_faces_exec(BMesh *bm, BMOperator *op)
BLI_array_free(edges);
- BMO_op_callf(bm, "delete geom=%ff context=%i", EXT_DEL, DEL_ONLYFACES);
+ BMO_op_callf(bm, op->flag,
+ "delete geom=%ff context=%i",
+ EXT_DEL, DEL_ONLYFACES);
BMO_slot_buffer_from_enabled_flag(bm, op, "faceout", BM_FACE, EXT_KEEP);
}
@@ -195,7 +197,7 @@ void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op)
BMO_elem_flag_enable(bm, e->v2, EXT_INPUT);
}
- BMO_op_initf(bm, &dupeop, "duplicate geom=%fve", EXT_INPUT);
+ BMO_op_initf(bm, &dupeop, op->flag, "duplicate geom=%fve", EXT_INPUT);
BMO_op_exec(bm, &dupeop);
/* disable root flag on all new skin nodes */
@@ -273,7 +275,7 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
int found, fwd, delorig = FALSE;
/* initialize our sub-operators */
- BMO_op_init(bm, &dupeop, "duplicate");
+ BMO_op_init(bm, &dupeop, op->flag, "duplicate");
BMO_slot_buffer_flag_enable(bm, op, "edgefacein", BM_EDGE | BM_FACE, EXT_INPUT);
@@ -341,7 +343,8 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
}
if (delorig == TRUE) {
- BMO_op_initf(bm, &delop, "delete geom=%fvef context=%i",
+ BMO_op_initf(bm, &delop, op->flag,
+ "delete geom=%fvef context=%i",
EXT_DEL, DEL_ONLYTAGGED);
}
@@ -647,13 +650,13 @@ void bmo_solidify_face_region_exec(BMesh *bm, BMOperator *op)
thickness = BMO_slot_float_get(op, "thickness");
/* Flip original faces (so the shell is extruded inward) */
- BMO_op_init(bm, &reverseop, "reverse_faces");
+ BMO_op_init(bm, &reverseop, op->flag, "reverse_faces");
BMO_slot_copy(op, &reverseop, "geom", "faces");
BMO_op_exec(bm, &reverseop);
BMO_op_finish(bm, &reverseop);
/* Extrude the region */
- BMO_op_initf(bm, &extrudeop, "extrude_face_region alwayskeeporig=%b", TRUE);
+ BMO_op_initf(bm, &extrudeop, op->flag, "extrude_face_region alwayskeeporig=%b", TRUE);
BMO_slot_copy(op, &extrudeop, "geom", "edgefacein");
BMO_op_exec(bm, &extrudeop);