Fix BMesh edge_bisect, edge_percent being ignored

Also fix float/int/bool access methods
This commit is contained in:
Andrew Hale 2018-08-20 13:23:32 +10:00 committed by Campbell Barton
parent 98efcdb1a0
commit f52e31a46d
2 changed files with 6 additions and 3 deletions

View File

@ -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;

View File

@ -1363,6 +1363,9 @@ void bmo_bisect_edges_exec(BMesh *bm, BMOperator *op)
bmo_subd_init_shape_info(bm, &params);
/* 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, &params, e->v1, e->v2);