diff options
author | Andrew Hale <TrumanBlending@gmail.com> | 2018-08-20 06:23:32 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-08-20 06:38:10 +0300 |
commit | f52e31a46dc16275a31cb36d85d09fdf1a675a65 (patch) | |
tree | f8d6dd77b00949ded1c63969480a6a939626a125 /source | |
parent | 98efcdb1a0e31beff50922132e475695c3ae6af7 (diff) |
Fix BMesh edge_bisect, edge_percent being ignored
Also fix float/int/bool access methods
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_operator_api_inline.h | 6 | ||||
-rw-r--r-- | source/blender/bmesh/operators/bmo_subdivide.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/bmesh/intern/bmesh_operator_api_inline.h b/source/blender/bmesh/intern/bmesh_operator_api_inline.h index eb1c161f19d..a453cfa1769 100644 --- a/source/blender/bmesh/intern/bmesh_operator_api_inline.h +++ b/source/blender/bmesh/intern/bmesh_operator_api_inline.h @@ -168,7 +168,7 @@ BLI_INLINE float BMO_slot_map_float_get(BMOpSlot *slot, const void *element) data = BMO_slot_map_data_get(slot, element); if (data) { - return **(float **)data; + return *(float *)data; } else { return 0.0f; @@ -183,7 +183,7 @@ BLI_INLINE int BMO_slot_map_int_get(BMOpSlot *slot, const void *element) data = BMO_slot_map_data_get(slot, element); if (data) { - return **(int **)data; + return *(int *)data; } else { return 0; @@ -198,7 +198,7 @@ BLI_INLINE bool BMO_slot_map_bool_get(BMOpSlot *slot, const void *element) data = BMO_slot_map_data_get(slot, element); if (data) { - return **(bool **)data; + return *(bool *)data; } else { return false; diff --git a/source/blender/bmesh/operators/bmo_subdivide.c b/source/blender/bmesh/operators/bmo_subdivide.c index 90cbe9a5d76..c8ba2134a73 100644 --- a/source/blender/bmesh/operators/bmo_subdivide.c +++ b/source/blender/bmesh/operators/bmo_subdivide.c @@ -1363,6 +1363,9 @@ void bmo_bisect_edges_exec(BMesh *bm, BMOperator *op) bmo_subd_init_shape_info(bm, ¶ms); + /* tag edges in map */ + BMO_slot_map_to_flag(bm, op->slots_in, "edge_percents", BM_EDGE, EDGE_PERCENT); + /* go through and split edges */ BMO_ITER (e, &siter, op->slots_in, "edges", BM_EDGE) { bm_subdivide_multicut(bm, e, ¶ms, e->v1, e->v2); |