[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24119] trunk/blender: Shape Propagate to all back in vertex menu
Campbell Barton
ideasman42 at gmail.com
Tue Oct 27 16:40:56 CET 2009
Revision: 24119
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24119
Author: campbellbarton
Date: 2009-10-27 16:40:56 +0100 (Tue, 27 Oct 2009)
Log Message:
-----------
Shape Propagate to all back in vertex menu
Modified Paths:
--------------
trunk/blender/release/scripts/ui/space_view3d.py
trunk/blender/source/blender/editors/mesh/editmesh_tools.c
trunk/blender/source/blender/editors/mesh/mesh_intern.h
trunk/blender/source/blender/editors/mesh/mesh_ops.c
Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py 2009-10-27 15:25:27 UTC (rev 24118)
+++ trunk/blender/release/scripts/ui/space_view3d.py 2009-10-27 15:40:56 UTC (rev 24119)
@@ -808,7 +808,7 @@
layout.itemO("mesh.faces_shade_smooth")
layout.itemO("mesh.faces_shade_flat")
layout.itemO("mesh.blend_from_shape")
- # layout.itemO("mesh.shape_propagate_to_all")
+ layout.itemO("mesh.shape_propagate_to_all")
layout.itemO("mesh.select_vertex_path")
class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu):
@@ -833,7 +833,7 @@
layout.itemO("mesh.blend_from_shape")
layout.itemO("object.vertex_group_blend")
- # uiItemO(layout, "Propagate to All Shapes", 0, "mesh.shape_propagate_to_all");
+ layout.itemO("mesh.shape_propagate_to_all")
class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu):
__label__ = "Edges"
Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2009-10-27 15:25:27 UTC (rev 24118)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2009-10-27 15:40:56 UTC (rev 24119)
@@ -5023,14 +5023,12 @@
/************************ Shape Operators *************************/
-#if 0
-void shape_propagate(Scene *scene, Object *obedit, EditMesh *em, wmOperator *op)
+static void shape_propagate(Object *obedit, EditMesh *em, wmOperator *op)
{
EditVert *ev = NULL;
Mesh* me = (Mesh*)obedit->data;
Key* ky = NULL;
KeyBlock* kb = NULL;
- Base* base=NULL;
if(me->key){
@@ -5055,18 +5053,50 @@
return;
}
+#if 0
//TAG Mesh Objects that share this data
for(base = scene->base.first; base; base = base->next){
if(base->object && base->object->data == me){
base->object->recalc = OB_RECALC_DATA;
}
}
+#endif
DAG_id_flush_update(obedit->data, OB_RECALC_DATA);
return;
}
-#endif
+
+static int shape_propagate_to_all_exec(bContext *C, wmOperator *op)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ Mesh *me= obedit->data;
+ EditMesh *em= BKE_mesh_get_editmesh(me);
+
+ shape_propagate(obedit, em, op);
+
+ DAG_id_flush_update(&me->id, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_GEOM|ND_DATA, me);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void MESH_OT_shape_propagate_to_all(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Shape Propagate";
+ ot->description= "Apply selected vertex locations to all other shape keys.";
+ ot->idname= "MESH_OT_shape_propagate_to_all";
+
+ /* api callbacks */
+ ot->exec= shape_propagate_to_all_exec;
+ ot->poll= ED_operator_editmesh;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
static int blend_from_shape_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
Modified: trunk/blender/source/blender/editors/mesh/mesh_intern.h
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_intern.h 2009-10-27 15:25:27 UTC (rev 24118)
+++ trunk/blender/source/blender/editors/mesh/mesh_intern.h 2009-10-27 15:40:56 UTC (rev 24119)
@@ -226,6 +226,7 @@
void MESH_OT_delete(struct wmOperatorType *ot);
void MESH_OT_rip(struct wmOperatorType *ot);
+void MESH_OT_shape_propagate_to_all(struct wmOperatorType *ot);
void MESH_OT_blend_from_shape(struct wmOperatorType *ot);
/* ******************* mesh_layers.c */
Modified: trunk/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_ops.c 2009-10-27 15:25:27 UTC (rev 24118)
+++ trunk/blender/source/blender/editors/mesh/mesh_ops.c 2009-10-27 15:40:56 UTC (rev 24119)
@@ -139,6 +139,7 @@
WM_operatortype_append(MESH_OT_knife_cut);
WM_operatortype_append(MESH_OT_rip);
WM_operatortype_append(MESH_OT_blend_from_shape);
+ WM_operatortype_append(MESH_OT_shape_propagate_to_all);
WM_operatortype_append(MESH_OT_uv_texture_add);
WM_operatortype_append(MESH_OT_uv_texture_remove);
More information about the Bf-blender-cvs
mailing list