Commit: bf6338c48184e528880e48043964ae7b4189ae57
Author: Darshan Kadu
Date: Fri Jun 30 16:25:08 2017 +0530
Branches: soc-2017-vertex_paint
https://developer.blender.org/rBbf6338c48184e528880e48043964ae7b4189ae57
added the weight to paint converter as option in paint in verte xpainting and
weight in weight painting
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d.py
b/release/scripts/startup/bl_ui/space_view3d.py
index 643a4b8cc00..42a6d3138a7 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -1779,6 +1779,7 @@ class VIEW3D_MT_paint_vertex(Menu):
layout.operator("paint.vertex_color_set")
layout.operator("paint.vertex_color_smooth")
layout.operator("paint.vertex_color_dirt")
+ layout.operator("paint.weight_to_vertex_convert")
layout.separator()
@@ -1869,6 +1870,7 @@ class VIEW3D_MT_paint_weight(Menu):
layout.separator()
layout.operator("paint.weight_set")
+ layout.operator("paint.weight_to_vertex_convert")
# ********** Sculpt menu **********
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c
b/source/blender/editors/sculpt_paint/paint_vertex.c
index 25ffd312ced..24ef4fd6315 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -124,6 +124,13 @@ int vertex_paint_mode_poll(bContext *C)
return ob && ob->mode == OB_MODE_VERTEX_PAINT && ((Mesh
*)ob->data)->totpoly;
}
+int vertex_weight_paint_mode_poll(bContext *C)
+{
+ Object *ob = CTX_data_active_object(C);
+
+ return ob && (ob->mode == OB_MODE_VERTEX_PAINT || ob->mode ==
OB_MODE_WEIGHT_PAINT) && ((Mesh *)ob->data)->totpoly;
+}
+
int vertex_paint_poll(bContext *C)
{
if (vertex_paint_mode_poll(C) &&
@@ -4584,8 +4591,9 @@ void PAINT_OT_weight_gradient(wmOperatorType *ot)
WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
}
-static bool weight_to_vert_convert(Object *ob)
+static bool weight_to_vert_convert(bContext *C)
{
+ Object *ob = CTX_data_active_object(C);
Mesh *me;
const MPoly *mp;
int vgroup_active;
@@ -4611,13 +4619,15 @@ static bool weight_to_vert_convert(Object *ob)
j++;
} while (j <= mp->totloop - 1);
}
+
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
return true;
}
static int weight_to_vert_convert_exec(bContext *C, wmOperator *op)
{
- Object *obact = CTX_data_active_object(C);
- if (weight_to_vert_convert(obact)) {
+ if (weight_to_vert_convert(C)) {
return OPERATOR_FINISHED;
}
return OPERATOR_CANCELLED;
@@ -4626,13 +4636,13 @@ static int weight_to_vert_convert_exec(bContext *C,
wmOperator *op)
void PAINT_OT_weight_to_vertex_convert(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "Weight to Vertex Converter";
+ ot->name = "Weight to Vertex Convert";
ot->idname = "PAINT_OT_weight_to_vertex_convert";
ot->description = "Converts the weight color into the black and white
vertex color";
/* api callback */
ot->exec = weight_to_vert_convert_exec;
- ot->poll = weight_paint_poll;
+ ot->poll = vertex_weight_paint_mode_poll;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs