forked from bartvdbraak/blender
Fix T44560: Merge Collapse tool - UVs operator panel option ignored with Collapse but not with other merge types.
Was missing parameter for collapse bmesh operator...
This commit is contained in:
parent
f84135ee65
commit
74d31279cd
@ -359,6 +359,7 @@ static BMOpDefine bmo_collapse_def = {
|
||||
"collapse",
|
||||
/* slots_in */
|
||||
{{"edges", BMO_OP_SLOT_ELEMENT_BUF, {BM_EDGE}}, /* input edges */
|
||||
{"uvs", BMO_OP_SLOT_BOOL}, /* also collapse UVs and such */
|
||||
{{'\0'}},
|
||||
},
|
||||
{{{'\0'}}}, /* no output */
|
||||
|
@ -494,7 +494,7 @@ void bmo_dissolve_limit_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
static void bm_mesh_edge_collapse_flagged(BMesh *bm, const int flag, const short oflag)
|
||||
{
|
||||
BMO_op_callf(bm, flag, "collapse edges=%fe", oflag);
|
||||
BMO_op_callf(bm, flag, "collapse edges=%fe uvs=%b", oflag, true);
|
||||
}
|
||||
|
||||
void bmo_dissolve_degenerate_exec(BMesh *bm, BMOperator *op)
|
||||
|
@ -380,8 +380,11 @@ void bmo_collapse_exec(BMesh *bm, BMOperator *op)
|
||||
float min[3], max[3], center[3];
|
||||
unsigned int i, tot;
|
||||
BMOpSlot *slot_targetmap;
|
||||
|
||||
BMO_op_callf(bm, op->flag, "collapse_uvs edges=%s", op, "edges");
|
||||
|
||||
if (BMO_slot_bool_get(op->slots_in, "uvs")) {
|
||||
BMO_op_callf(bm, op->flag, "collapse_uvs edges=%s", op, "edges");
|
||||
}
|
||||
|
||||
BMO_op_init(bm, &weldop, op->flag, "weld_verts");
|
||||
slot_targetmap = BMO_slot_get(weldop.slots_in, "targetmap");
|
||||
|
||||
|
@ -492,7 +492,7 @@ static int edbm_collapse_edge_exec(bContext *C, wmOperator *op)
|
||||
Object *obedit = CTX_data_edit_object(C);
|
||||
BMEditMesh *em = BKE_editmesh_from_object(obedit);
|
||||
|
||||
if (!EDBM_op_callf(em, op, "collapse edges=%he", BM_ELEM_SELECT))
|
||||
if (!EDBM_op_callf(em, op, "collapse edges=%he uvs=%b", BM_ELEM_SELECT, true))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
EDBM_update_generic(em, true, true);
|
||||
@ -2049,9 +2049,7 @@ static int edbm_merge_exec(bContext *C, wmOperator *op)
|
||||
ok = merge_firstlast(em, true, uvs, op);
|
||||
break;
|
||||
case 5:
|
||||
ok = true;
|
||||
if (!EDBM_op_callf(em, op, "collapse edges=%he", BM_ELEM_SELECT))
|
||||
ok = false;
|
||||
ok = EDBM_op_callf(em, op, "collapse edges=%he uvs=%b", BM_ELEM_SELECT, uvs);
|
||||
break;
|
||||
default:
|
||||
BLI_assert(0);
|
||||
|
Loading…
Reference in New Issue
Block a user