diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-01 21:38:04 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-01 21:38:04 +0400 |
commit | 522b73a63519903f57b65f57d94006f50bcab1ae (patch) | |
tree | 3ff915cdc1d15bb7d3c944a0ef6b094e43d07dca /source/blender/bmesh/operators/bmo_subdivide.c | |
parent | 1f473a78b80aa4de53d304e4700b98d4a0ae8f1e (diff) |
bmesh api:
* name bmesh operator func's BMO_slot_buffer_* rather then BMO_slot_* since it wasnt obvious some only dealt with buffer, some both.
* more typechecks and asserts of BMO_ functions (I lost some time calling a map with a buffer function that failed silently).
* small speedup for extrude check - test if the edge is wire _before_ doign a hash lookup.
Diffstat (limited to 'source/blender/bmesh/operators/bmo_subdivide.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_subdivide.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/source/blender/bmesh/operators/bmo_subdivide.c b/source/blender/bmesh/operators/bmo_subdivide.c index 53cd7148005..234749c9786 100644 --- a/source/blender/bmesh/operators/bmo_subdivide.c +++ b/source/blender/bmesh/operators/bmo_subdivide.c @@ -740,8 +740,7 @@ void bmo_esubd_exec(BMesh *bmesh, BMOperator *op) } /* first go through and tag edge */ - BMO_slot_from_flag(bmesh, op, "edges", - SUBD_SPLIT, BM_EDGE); + BMO_slot_buffer_from_flag(bmesh, op, "edges", SUBD_SPLIT, BM_EDGE); params.numcuts = numcuts; params.op = op; @@ -1006,13 +1005,10 @@ void bmo_esubd_exec(BMesh *bmesh, BMOperator *op) BLI_array_free(splits); BLI_array_free(loops); - BMO_slot_from_flag(bmesh, op, "outinner", - ELE_INNER, BM_ALL); - BMO_slot_from_flag(bmesh, op, "outsplit", - ELE_SPLIT, BM_ALL); + BMO_slot_buffer_from_flag(bmesh, op, "outinner", ELE_INNER, BM_ALL); + BMO_slot_buffer_from_flag(bmesh, op, "outsplit", ELE_SPLIT, BM_ALL); - BMO_slot_from_flag(bmesh, op, "geomout", - ELE_INNER|ELE_SPLIT|SUBD_SPLIT, BM_ALL); + BMO_slot_buffer_from_flag(bmesh, op, "geomout", ELE_INNER|ELE_SPLIT|SUBD_SPLIT, BM_ALL); } /* editmesh-emulating functio */ @@ -1100,7 +1096,7 @@ void bmo_edgebisect_exec(BMesh *bm, BMOperator *op) bm_subdivide_multicut(bm, e, ¶ms, e->v1, e->v2); } - BMO_slot_from_flag(bm, op, "outsplit", ELE_SPLIT, BM_ALL); + BMO_slot_buffer_from_flag(bm, op, "outsplit", ELE_SPLIT, BM_ALL); BM_data_layer_free_n(bm, &bm->vdata, CD_SHAPEKEY, skey); } |