[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18972] branches/blender2.5/blender/source /blender/editors/mesh: added error reporting to edit mesh

Shaul Kedem shaul_kedem at yahoo.com
Sat Feb 14 22:31:36 CET 2009


Revision: 18972
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18972
Author:   shul
Date:     2009-02-14 22:31:34 +0100 (Sat, 14 Feb 2009)

Log Message:
-----------
added error reporting to edit mesh

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.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/meshtools.c

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c	2009-02-14 18:31:19 UTC (rev 18971)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c	2009-02-14 21:31:34 UTC (rev 18972)
@@ -43,6 +43,7 @@
 #include "DNA_object_force.h"
 #include "DNA_scene_types.h"
 #include "DNA_particle_types.h"
+#include "DNA_windowmanager_types.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_editVert.h"

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c	2009-02-14 18:31:19 UTC (rev 18971)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c	2009-02-14 21:31:34 UTC (rev 18972)
@@ -59,6 +59,7 @@
 #include "BKE_mesh.h"
 #include "BKE_object.h"
 #include "BKE_utildefines.h"
+#include "BKE_report.h"
 
 #include "BIF_retopo.h"
 
@@ -75,7 +76,6 @@
 /* bpymenu removed XXX */
 
 /* XXX */
-static void error() {}
 #define add_numbut(a, b, c, d, e, f, g) {}
 /* XXX */
 
@@ -245,7 +245,7 @@
 /* ********************** */
 
 /* selected faces get hidden edges */
-int make_fgon(EditMesh *em, int make)
+int make_fgon(EditMesh *em, wmOperator *op, int make)
 {
 	EditFace *efa;
 	EditEdge *eed;
@@ -317,13 +317,13 @@
 		if(eve->f1==1) break;
 	}
 	if(eve) {
-		error("Cannot make polygon with interior vertices");
+		BKE_report(op->reports, RPT_ERROR, "Cannot make a polygon with interior vertices");
 		return 0;
 	}
 	
 	// check for faces
 	if(nor==NULL) {
-		error("No faces selected to make FGon");
+		BKE_report(op->reports, RPT_ERROR, "No faces were selected to make FGon");
 		return 0;
 	}
 
@@ -345,7 +345,7 @@
 	Object *obedit= CTX_data_edit_object(C);
 	EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
 
-	if( make_fgon(em, 1) ) {
+	if( make_fgon(em, op, 1) ) {
 		DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);	
 	
 		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
@@ -374,7 +374,7 @@
 	Object *obedit= CTX_data_edit_object(C);
 	EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
 	
-	if( make_fgon(em, 0) ) {
+	if( make_fgon(em, op, 0) ) {
 		DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA);	
 		
 		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
@@ -664,7 +664,7 @@
 // XXX	DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
 }
 
-static void addedgeface_mesh(EditMesh *em)
+static void addedgeface_mesh(EditMesh *em, wmOperator *op)
 {
 	EditVert *eve, *neweve[4];
 	EditEdge *eed;
@@ -698,7 +698,7 @@
 		return;
 	}
 	else if(amount<2) {
-		error("Incorrect number of vertices to make edge/face");
+		BKE_report(op->reports, RPT_ERROR, "More vertices are needed to make an edge/face");
 		return;
 	}
 
@@ -710,7 +710,7 @@
 			efa= addfacelist(em, neweve[0], neweve[1], neweve[2], 0, NULL, NULL);
 			EM_select_face(efa, 1);
 		}
-		else error("The selected vertices already form a face");
+		else BKE_report(op->reports, RPT_ERROR, "The selected vertices already form a face");
 	}
 	else if(amount==4) {
 		/* this test survives when theres 2 triangles */
@@ -766,9 +766,9 @@
 					}
 				}
 			}
-			else error("The selected vertices already form a face");
+			else BKE_report(op->reports, RPT_ERROR, "The selected vertices already form a face");
 		}
-		else error("The selected vertices already form a face");
+		else BKE_report(op->reports, RPT_ERROR, "The selected vertices already form a face");
 	}
 	
 	if(efa) {
@@ -785,7 +785,7 @@
 	Object *obedit= CTX_data_edit_object(C);
 	EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
 	
-	addedgeface_mesh(em);
+	addedgeface_mesh(em, op);
 	
 	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
 	

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c	2009-02-14 18:31:19 UTC (rev 18971)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c	2009-02-14 21:31:34 UTC (rev 18972)
@@ -44,6 +44,7 @@
 #include "DNA_modifier_types.h"
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
+#include "DNA_windowmanager_types.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c	2009-02-14 18:31:19 UTC (rev 18971)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c	2009-02-14 21:31:34 UTC (rev 18972)
@@ -46,6 +46,7 @@
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_view3d_types.h"
+#include "DNA_windowmanager_types.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"
@@ -198,7 +199,7 @@
 		}
 	}
 }
-void CutEdgeloop(Object *obedit, EditMesh *em, int numcuts)
+void CutEdgeloop(Object *obedit, wmOperator *op, EditMesh *em, int numcuts)
 {
 	ViewContext vc; // XXX
 	EditEdge *nearest=NULL, *eed;
@@ -375,9 +376,9 @@
 	/* if this was a single cut, enter edgeslide mode */
 	if(numcuts == 1 && hasHidden == 0){
 		if(cuthalf)
-			EdgeSlide(em, 1,0.0);
+			EdgeSlide(em, op, 1,0.0);
 		else {
-			if(EdgeSlide(em, 0,0.0) == -1){
+			if(EdgeSlide(em, op, 0,0.0) == -1){
 				BIF_undo();
 			}
 		}
@@ -476,7 +477,7 @@
 	float  threshold;
 	int  i;
 	
-	//threshold = 0.000001; /*tolerance for vertex intersection*/
+	threshold = 0.000001; /*tolerance for vertex intersection*/
 	// XXX	threshold = scene->toolsettings->select_thresh / 100;
 	
 	/* Get screen coords of verts */

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c	2009-02-14 18:31:19 UTC (rev 18971)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c	2009-02-14 21:31:34 UTC (rev 18972)
@@ -67,6 +67,7 @@
 #include "BKE_material.h"
 #include "BKE_texture.h"
 #include "BKE_utildefines.h"
+#include "BKE_report.h"
 
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
@@ -92,7 +93,6 @@
 
 /* XXX */
 static void waitcursor() {}
-static void error() {}
 static int pupmenu() {return 0;}
 
 /* ****************************** MIRROR **************** */
@@ -1379,7 +1379,7 @@
 	}
 }
 
-void EM_mesh_copy_face(EditMesh *em, short type)
+void EM_mesh_copy_face(EditMesh *em, wmOperator *op, short type)
 {
 	short change=0;
 	
@@ -1405,7 +1405,7 @@
 		break;
 	case 2:	/* copy image */
 		if (!tf_act) {
-			error("mesh has no uv/image layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
 			return;
 		}
 		for(efa=em->faces.first; efa; efa=efa->next) {
@@ -1426,7 +1426,7 @@
 
 	case 3: /* copy UV's */
 		if (!tf_act) {
-			error("mesh has no uv/image layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
 			return;
 		}
 		for(efa=em->faces.first; efa; efa=efa->next) {
@@ -1439,7 +1439,7 @@
 		break;
 	case 4: /* mode's */
 		if (!tf_act) {
-			error("mesh has no uv/image layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
 			return;
 		}
 		for(efa=em->faces.first; efa; efa=efa->next) {
@@ -1452,7 +1452,7 @@
 		break;
 	case 5: /* copy transp's */
 		if (!tf_act) {
-			error("mesh has no uv/image layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh has no uv/image layers");
 			return;
 		}
 		for(efa=em->faces.first; efa; efa=efa->next) {
@@ -1466,7 +1466,7 @@
 
 	case 6: /* copy vcols's */
 		if (!mcol_act) {
-			error("mesh has no color layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh has no color layers");
 			return;
 		} else {
 			/* guess the 4th color if needs be */
@@ -1508,7 +1508,7 @@
 }
 
 
-void EM_mesh_copy_face_layer(EditMesh *em, short type) 
+void EM_mesh_copy_face_layer(EditMesh *em, wmOperator *op, short type) 
 {
 	short change=0;
 	
@@ -1523,7 +1523,7 @@
 	case 8:
 	case 9:
 		if (CustomData_number_of_layers(&em->fdata, CD_MTFACE)<2) {
-			error("mesh does not have multiple uv/image layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh does not have multiple uv/image layers");
 			return;
 		} else {
 			int layer_orig_idx, layer_idx;
@@ -1550,7 +1550,7 @@
 
 	case 10: /* select vcol layers - make sure this stays in sync with above code */
 		if (CustomData_number_of_layers(&em->fdata, CD_MCOL)<2) {
-			error("mesh does not have multiple color layers");
+			BKE_report(op->reports, RPT_ERROR, "mesh does not have multiple color layers");
 			return;
 		} else {
 			int layer_orig_idx, layer_idx;
@@ -1639,7 +1639,7 @@
 
 
 /* ctrl+c in mesh editmode */
-void mesh_copy_menu(EditMesh *em)
+void mesh_copy_menu(EditMesh *em, wmOperator *op)
 {
 	EditSelection *ese;
 	int ret;
@@ -1671,9 +1671,9 @@
 		if (ret<1) return;
 		
 		if (ret<=6) {
-			EM_mesh_copy_face(em, ret);
+			EM_mesh_copy_face(em, op, ret);
 		} else {
-			EM_mesh_copy_face_layer(em, ret);
+			EM_mesh_copy_face_layer(em, op, ret);
 		}
 	}
 }
@@ -2725,7 +2725,7 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 }
 
-void select_faces_by_numverts(EditMesh *em, int numverts)
+void select_faces_by_numverts(EditMesh *em, wmOperator *op, int numverts)
 {
 	EditFace *efa;
 
@@ -2737,7 +2737,7 @@
 	if(numverts==5)
 		EM_set_flag_all(em, SELECT);
 	else if(em->selectmode!=SCE_SELECT_FACE) {
-		error("Only works in face selection mode");
+		BKE_report(op->reports, RPT_ERROR, "Only works in face selection mode");
 		return;
 	}
 	
@@ -2772,7 +2772,7 @@
 	/* 'standard' behaviour - check if selected, then apply relevant selection */
 	
 	if(em->selectmode==SCE_SELECT_FACE) {
-		error("Doesn't work in face selection mode");
+		BKE_report(op->reports, RPT_ERROR, "Doesn't work in face selection mode");
 		return OPERATOR_CANCELLED;
 	}
 
@@ -2872,7 +2872,7 @@
 }
 
 
-static void select_linked_flat_faces(EditMesh *em, float sharpness)
+static void select_linked_flat_faces(EditMesh *em, wmOperator *op, float sharpness)
 {
 	/* Find faces that are linked to selected faces that are 
 	 * relatively flat (angle between faces is higher than
@@ -2886,7 +2886,7 @@
 	float fsharpness;
 	
 	if(em->selectmode!=SCE_SELECT_FACE) {
-		error("Only works in face selection mode");

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list