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. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs