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
path: root/source
diff options
context:
space:
mode:
authorAndrew Hale <TrumanBlending@gmail.com>2018-08-20 06:23:32 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-08-20 06:38:10 +0300
commitf52e31a46dc16275a31cb36d85d09fdf1a675a65 (patch)
treef8d6dd77b00949ded1c63969480a6a939626a125 /source
parent98efcdb1a0e31beff50922132e475695c3ae6af7 (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.h6
-rw-r--r--source/blender/bmesh/operators/bmo_subdivide.c3
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, &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);