[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18757] branches/blender2.5/blender/source /blender/editors/mesh: 2.5
Ton Roosendaal
ton at blender.org
Fri Jan 30 20:14:51 CET 2009
Revision: 18757
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18757
Author: ton
Date: 2009-01-30 20:14:50 +0100 (Fri, 30 Jan 2009)
Log Message:
-----------
2.5
Edit Mesh: Fkey back, add edge-face or fill 'edge net'
Make fgon will be different operator.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.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_add.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-01-30 19:14:50 UTC (rev 18757)
@@ -77,7 +77,6 @@
/* XXX */
static void BIF_undo_push() {}
static void error() {}
-static int pupmenu() {return 0;}
#define add_numbut(a, b, c, d, e, f, g) {}
/* XXX */
@@ -265,7 +264,7 @@
/* ********************** */
/* selected faces get hidden edges */
-static void make_fgon(EditMesh *em, int make)
+void make_fgon(EditMesh *em, int make)
{
EditFace *efa;
EditEdge *eed;
@@ -631,7 +630,7 @@
// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
}
-void addedgeface_mesh(EditMesh *em)
+static void addedgeface_mesh(EditMesh *em)
{
EditVert *eve, *neweve[4];
EditEdge *eed;
@@ -662,19 +661,7 @@
return;
}
else if(amount > 4) {
-
- /* Python Menu removed XXX */
- int ret;
-
- /* facemenu, will add python items */
- char facemenu[4096]= "Make Faces%t|Auto%x1|Make FGon%x2|Clear FGon%x3";
-
- ret= pupmenu(facemenu);
-
- if(ret==1) addfaces_from_edgenet(em);
- else if(ret==2) make_fgon(em, 1);
- else if(ret==3) make_fgon(em, 0);
-
+ addfaces_from_edgenet(em);
return;
}
else if(amount<2) {
@@ -757,13 +744,39 @@
fix_new_face(em, efa);
recalc_editnormals(em);
- BIF_undo_push("Add face");
}
+ }
+
+static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
-// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
+ addedgeface_mesh(em);
+
+ ED_undo_push(C, "Make Edge/Face"); // Note this will become depricated
+ WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+
+ DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);
+
+ return OPERATOR_FINISHED;
}
+void MESH_OT_add_edge_face(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Make Edge/Face";
+ ot->idname= "MESH_OT_add_edge_face";
+
+ /* api callbacks */
+ ot->exec= addedgeface_mesh_exec;
+ ot->poll= ED_operator_editmesh;
+}
+
+
+/* ************************ primitives ******************* */
+
// HACK: these can also be found in cmoview.tga.c, but are here so that they can be found by linker
// this hack is only used so that scons+mingw + split-sources hack works
// ------------------------------- start copied code
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c 2009-01-30 19:14:50 UTC (rev 18757)
@@ -110,7 +110,6 @@
/* local prototypes ---------------*/
static void free_tagged_edges_faces(EditMesh *em, EditEdge *eed, EditFace *efa);
int EdgeLoopDelete(EditMesh *em);
-void addedgeface_mesh(EditMesh *em);
/********* qsort routines *********/
@@ -6648,30 +6647,6 @@
ot->poll= ED_operator_editmesh;
}
-static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
-{
- Object *obedit= CTX_data_edit_object(C);
- EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
-
- addedgeface_mesh(em);
-
- ED_undo_push(C, "Make Edge/Face"); // Note this will become depricated
- WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-
- return OPERATOR_FINISHED;
-}
-
-void MESH_OT_addedgeface_mesh(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Make Edge/Face";
- ot->idname= "MESH_OT_addedgeface_mesh";
-
- /* api callbacks */
- ot->exec= addedgeface_mesh_exec;
- ot->poll= ED_operator_editmesh;
-}
-
static int mesh_set_smooth_faces_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
@@ -6735,7 +6710,6 @@
p+= sprintf(p, "|%s %%x%d", "quads to tris", 5);
p+= sprintf(p, "|%s %%x%d", "tris to quads", 4);
p+= sprintf(p, "|%s %%x%d", "flip triangle edges", 3);
- p+= sprintf(p, "|%s %%x%d", "make edge/face", 2);
p+= sprintf(p, "|%s %%x%d", "set smooth", 1);
p+= sprintf(p, "|%s %%x%d", "set solid", 0);
@@ -6765,9 +6739,6 @@
case 3: /* Flip triangle edges */
edge_flip_exec(C,op);
break;
- case 2: /* Make Edge/Face */
- addedgeface_mesh_exec(C,op);
- break;
case 1: /* Set Smooth */
mesh_set_smooth_faces_exec(C,op);
break;
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-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-01-30 19:14:50 UTC (rev 18757)
@@ -107,6 +107,7 @@
void MESH_OT_add_primitive_uv_sphere(struct wmOperatorType *ot);
void MESH_OT_add_primitive_ico_sphere(struct wmOperatorType *ot);
void MESH_OT_dupli_extrude_cursor(struct wmOperatorType *ot);
+void MESH_OT_add_edge_face(struct wmOperatorType *ot);
/* ******************* editmesh_lib.c */
void EM_stats_update(EditMesh *em);
@@ -228,7 +229,6 @@
void MESH_OT_convert_quads_to_tris(struct wmOperatorType *ot);
void MESH_OT_convert_tris_to_quads(struct wmOperatorType *ot);
void MESH_OT_edge_flip(struct wmOperatorType *ot);
-void MESH_OT_addedgeface_mesh(struct wmOperatorType *ot);
void MESH_OT_mesh_set_smooth_faces(struct wmOperatorType *ot);
void MESH_OT_mesh_set_solid_faces(struct wmOperatorType *ot);
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-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c 2009-01-30 19:14:50 UTC (rev 18757)
@@ -140,6 +140,8 @@
WM_operatortype_append(MESH_OT_separate);
WM_operatortype_append(MESH_OT_dupli_extrude_cursor);
WM_operatortype_append(MESH_OT_loop_select);
+ WM_operatortype_append(MESH_OT_add_edge_face);
+
}
/* note mesh keymap also for other space? */
@@ -185,6 +187,7 @@
WM_keymap_add_item(keymap, "MESH_OT_edit_faces", PKEY, KM_PRESS, KM_CTRL, 0);
/* add */
+ WM_keymap_add_item(keymap, "MESH_OT_add_edge_face", FKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "MESH_OT_add_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "OBJECT_OT_mesh_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "MESH_OT_separate", PKEY, KM_PRESS, KM_SHIFT, 0);
More information about the Bf-blender-cvs
mailing list