remove doubles uses an operator property for the merge distance. it no longer reports number of merged verts to the user, as this violates operator nonmodality and messes up last operator panel workflow.
This commit is contained in:
@@ -486,13 +486,14 @@ static int removedoublesflag_exec(bContext *C, wmOperator *op)
|
||||
EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
|
||||
char msg[100];
|
||||
|
||||
int cnt = removedoublesflag(em,1,0,ts->doublimit);
|
||||
int cnt = removedoublesflag(em,1,0,RNA_float_get(op->ptr, "limit"));
|
||||
|
||||
/*XXX this messes up last operator panel
|
||||
if(cnt)
|
||||
{
|
||||
sprintf(msg, "Removed %d vertices", cnt);
|
||||
BKE_report(op->reports, RPT_INFO, msg);
|
||||
}
|
||||
}*/
|
||||
|
||||
DAG_id_flush_update(obedit->data, OB_RECALC_DATA);
|
||||
WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data);
|
||||
@@ -514,6 +515,8 @@ void MESH_OT_remove_doubles(wmOperatorType *ot)
|
||||
|
||||
/* flags */
|
||||
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
|
||||
|
||||
RNA_def_float(ot->srna, "limit", 0.00001f, 0.000001f, 50.0f, "Merge Threshold", "Minimum distance between merged verts", 0.00001f, 10.0f);
|
||||
}
|
||||
|
||||
// XXX is this needed?
|
||||
|
||||
@@ -335,6 +335,12 @@ void ED_operatortypes_mesh(void)
|
||||
WM_operatortype_macro_define(ot, "MESH_OT_extrude");
|
||||
WM_operatortype_macro_define(ot, "TFM_OT_translate");
|
||||
|
||||
/*combining operators with invoke and exec portions doesn't work yet.
|
||||
|
||||
ot= WM_operatortype_append_macro("MESH_OT_loopcut", "Loopcut", OPTYPE_UNDO|OPTYPE_REGISTER);
|
||||
WM_operatortype_macro_define(ot, "MESH_OT_edgering_select");
|
||||
WM_operatortype_macro_define(ot, "MESH_OT_subdivide");
|
||||
*/
|
||||
}
|
||||
|
||||
/* note mesh keymap also for other space? */
|
||||
@@ -343,6 +349,8 @@ void ED_keymap_mesh(wmWindowManager *wm)
|
||||
ListBase *keymap= WM_keymap_listbase(wm, "EditMesh", 0, 0);
|
||||
wmKeymapItem *kmi;
|
||||
|
||||
//WM_keymap_add_item(keymap, "MESH_OT_loopcut", RKEY, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
/* selecting */
|
||||
/* standard mouse selection goes via space_view3d */
|
||||
WM_keymap_add_item(keymap, "MESH_OT_loop_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
|
||||
@@ -354,7 +362,7 @@ void ED_keymap_mesh(wmWindowManager *wm)
|
||||
RNA_boolean_set(kmi->ptr, "extend", 1);
|
||||
|
||||
WM_keymap_add_item(keymap, "MESH_OT_select_shortest_path", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
|
||||
WM_keymap_add_item(keymap, "MESH_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
|
||||
WM_keymap_add_item(keymap, "MESH_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0);
|
||||
WM_keymap_add_item(keymap, "MESH_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
@@ -471,7 +471,6 @@ typedef struct BooleanModifierData {
|
||||
|
||||
#define MOD_MDEF_INVERT_VGROUP (1<<0)
|
||||
#define MOD_MDEF_DYNAMIC_BIND (1<<1)
|
||||
#define MOD_MDEF_USE_FINAL (1<<2)
|
||||
|
||||
typedef struct MDefInfluence {
|
||||
int vertex;
|
||||
|
||||
Reference in New Issue
Block a user