[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18773] branches/blender2.5/blender/source /blender/editors/mesh: vert to sphere - S + ctrl + shift keys

Shaul Kedem shaul_kedem at yahoo.com
Sun Feb 1 01:18:46 CET 2009


Revision: 18773
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18773
Author:   shul
Date:     2009-02-01 01:18:45 +0100 (Sun, 01 Feb 2009)

Log Message:
-----------
vert to sphere - S + ctrl + shift keys

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
    branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c	2009-01-31 23:57:04 UTC (rev 18772)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c	2009-02-01 00:18:45 UTC (rev 18773)
@@ -3625,7 +3625,7 @@
 	/* props */
 
 	
-	RNA_def_int(ot->srna, "percentage", 50, 0, 100, "percentage", "", 0, 100);
+	RNA_def_int(ot->srna, "percentage", 50, 0, 100, "Percentage", "", 0, 100);
 }
 
 void editmesh_select_by_material(EditMesh *em, int index) 
@@ -4499,12 +4499,11 @@
 
 }
 
-void vertices_to_sphere(Scene *scene, View3D *v3d, Object *obedit, EditMesh *em)
+void vertices_to_sphere(Scene *scene, View3D *v3d, Object *obedit, EditMesh *em, int perc)
 {
 	EditVert *eve;
 	float *curs, len, vec[3], cent[3], fac, facm, imat[3][3], bmat[3][3];
 	int tot;
-	short perc=100;
 	
 // XXX	if(button(&perc, 1, 100, "Percentage:")==0) return;
 	
@@ -4557,3 +4556,35 @@
 
 }
 
+static int vertices_to_sphere_exec(bContext *C, wmOperator *op)
+{
+	Object *obedit= CTX_data_edit_object(C);
+	View3D *v3d = CTX_wm_view3d(C);
+	Scene *scene = CTX_data_scene(C);
+	EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
+	
+	vertices_to_sphere(scene, v3d, obedit, em, RNA_int_get(op->ptr,"percentage"));
+		
+	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+	
+	return OPERATOR_FINISHED;	
+}
+
+void MESH_OT_vertices_to_sphere(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Vertices to Sphere";
+	ot->idname= "MESH_OT_vertices_to_sphere";
+	
+	/* api callbacks */
+	ot->exec= vertices_to_sphere_exec;
+	ot->poll= ED_operator_editmesh;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER/*|OPTYPE_UNDO*/;
+	
+	/* props */
+
+	
+	RNA_def_int(ot->srna, "percentage", 100, 0, 100, "Percentage", "", 0, 100);
+}

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h	2009-01-31 23:57:04 UTC (rev 18772)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h	2009-02-01 00:18:45 UTC (rev 18773)
@@ -190,6 +190,7 @@
 void MESH_OT_similar_edge_select(struct wmOperatorType *ot);
 void MESH_OT_similar_face_select(struct wmOperatorType *ot);
 void MESH_OT_selectrandom_mesh(struct wmOperatorType *ot);
+void MESH_OT_vertices_to_sphere(struct wmOperatorType *ot);
 
 extern EditEdge *findnearestedge(ViewContext *vc, int *dist);
 extern void EM_automerge(int update);

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c	2009-01-31 23:57:04 UTC (rev 18772)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c	2009-02-01 00:18:45 UTC (rev 18773)
@@ -140,6 +140,7 @@
 	WM_operatortype_append(MESH_OT_removedoublesflag);
 	WM_operatortype_append(MESH_OT_extrude_mesh);
 	WM_operatortype_append(MESH_OT_edit_faces);
+	WM_operatortype_append(MESH_OT_vertices_to_sphere);
 
 	WM_operatortype_append(MESH_OT_delete_mesh);
 
@@ -186,6 +187,7 @@
 	RNA_float_set(WM_keymap_add_item(keymap, "MESH_OT_select_sharp_edges", SKEY, KM_PRESS, (KM_CTRL|KM_SHIFT|KM_ALT), 0)->ptr,"sharpness",135.0);
 	
 	WM_keymap_add_item(keymap, "MESH_OT_selectrandom_mesh", SPACEKEY, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "MESH_OT_vertices_to_sphere", SKEY, KM_PRESS, KM_CTRL|KM_SHIFT , 0);
 	
 	/* temp hotkeys! */
 	WM_keymap_add_item(keymap, "MESH_OT_similar_vertex_select", GKEY, KM_PRESS, KM_SHIFT, 0);





More information about the Bf-blender-cvs mailing list