Revision: 23514
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23514
Author:   joeedh
Date:     2009-09-28 05:28:28 +0200 (Mon, 28 Sep 2009)

Log Message:
-----------
added missing notifyer/depsgraph call to loopcut, fixed tweaking the edge slide 
operator in the last operator panel, and uncommented a line in the remove 
doubles op that was making it not work (and tweaked the rna limits a bit there, 
too).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/mesh/loopcut.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform_ops.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2009-09-28 
03:19:52 UTC (rev 23513)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2009-09-28 
03:28:28 UTC (rev 23514)
@@ -483,10 +483,9 @@
 {
        Object *obedit= CTX_data_edit_object(C);
        EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
-       /*char msg[100];
+       /*char msg[100];*/
+       int cnt = removedoublesflag(em,1,0,RNA_float_get(op->ptr, "limit"));
 
-       int cnt = removedoublesflag(em,1,0,RNA_float_get(op->ptr, "limit"));*/
-
        /*XXX this messes up last operator panel
        if(cnt)
        {
@@ -515,7 +514,7 @@
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 
-       RNA_def_float(ot->srna, "limit", 0.00001f, 0.000001f, 50.0f, "Merge 
Threshold", "Minimum distance between merged verts", 0.00001f, 10.0f);
+       RNA_def_float(ot->srna, "limit", 0.0001f, 0.000001f, 50.0f, "Merge 
Threshold", "Minimum distance between merged verts", 0.00001f, 2.0f);
 }
 
 // XXX is this needed?

Modified: trunk/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/loopcut.c 2009-09-28 03:19:52 UTC 
(rev 23513)
+++ trunk/blender/source/blender/editors/mesh/loopcut.c 2009-09-28 03:28:28 UTC 
(rev 23514)
@@ -265,7 +265,10 @@
                        EditMesh *em = BKE_mesh_get_editmesh(lcd->ob->data);
                        esubdivideflag(lcd->ob, em, SELECT, 0.0f, 
                                       0.0f, 0, 1, SUBDIV_SELECT_LOOPCUT);
+                       
+                       DAG_id_flush_update(lcd->ob->data, OB_RECALC_DATA);
                }
+               WM_event_add_notifier(C, NC_GEOM|ND_DATA, lcd->ob->data);
        }
 }
 

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c  2009-09-28 
03:19:52 UTC (rev 23513)
+++ trunk/blender/source/blender/editors/transform/transform.c  2009-09-28 
03:28:28 UTC (rev 23514)
@@ -4069,7 +4069,12 @@
        //short mval[2], mvalo[2];
        float labda = 0.0f, totvec=0.0;
 
-       view3d_get_object_project_mat(v3d, t->obedit, projectMat);
+       if (!v3d) {
+               /*ok, let's try to survive this*/
+               Mat4One(projectMat);
+       } else {
+               view3d_get_object_project_mat(v3d, t->obedit, projectMat);
+       }
 
        //mvalo[0] = -1; mvalo[1] = -1;
        numsel =0;
@@ -4354,9 +4359,11 @@
                                        sv->down = swap;
                                }
                                
-                               view3d_project_float(t->ar, tempsv->up->v1->co, 
co, projectMat);
-                               view3d_project_float(t->ar, tempsv->up->v2->co, 
co2, projectMat);
-                               
+                               if (v3d) {
+                                       view3d_project_float(t->ar, 
tempsv->up->v1->co, co, projectMat);
+                                       view3d_project_float(t->ar, 
tempsv->up->v2->co, co2, projectMat);
+                               }
+
                                if (ev == tempsv->up->v1) {
                                        VecSubf(vec, co, co2);
                                } else {
@@ -4365,9 +4372,11 @@
 
                                VecAddf(start, start, vec);
 
-                               view3d_project_float(t->ar, 
tempsv->down->v1->co, co, projectMat);
-                               view3d_project_float(t->ar, 
tempsv->down->v2->co, co2, projectMat);
-                               
+                               if (v3d) {
+                                       view3d_project_float(t->ar, 
tempsv->down->v1->co, co, projectMat);
+                                       view3d_project_float(t->ar, 
tempsv->down->v2->co, co2, projectMat);
+                               }
+
                                if (ev == tempsv->down->v1) {
                                        VecSubf(vec, co2, co);
                                } else {
@@ -4520,8 +4529,6 @@
                for (uvlay_idx=0; uvlay_idx<sld->uvlay_tot; uvlay_idx++) {
                        BLI_ghash_free(sld->uvhash[uvlay_idx], NULL, NULL);
                }
-               MEM_freeN(sld->slideuv);
-               MEM_freeN(sld->uvhash);
 
                suv = sld->suv_last-1;
                while (suv >= sld->slideuv) {
@@ -4530,6 +4537,9 @@
                        }
                        suv--;
                }
+
+               MEM_freeN(sld->slideuv);
+               MEM_freeN(sld->uvhash);
        }
 
        MEM_freeN(sld);
@@ -4703,7 +4713,12 @@
        CLAMP(final, -1.0f, 1.0f);
 
        /*do stuff here*/
-       doEdgeSlide(t, final);
+       if (t->customData)
+               doEdgeSlide(t, final);
+       else {
+               strcpy(str, "Invalid Edge Selection");
+               t->state = TRANS_CANCEL;
+       }
 
        recalcData(t);
 

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c      
2009-09-28 03:19:52 UTC (rev 23513)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c      
2009-09-28 03:28:28 UTC (rev 23514)
@@ -554,8 +554,8 @@
 void TFM_OT_edge_slide(struct wmOperatorType *ot)
 {
        /* identifiers */
-       ot->name   = "Tilt";
-       ot->description= "Tilt selected control vertices of 3d curve."; 
+       ot->name   = "Edge Slide";
+       ot->description= "Slide an edge loop along a mesh."; 
        ot->idname = OP_EDGE_SLIDE;
        ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
 
@@ -566,7 +566,7 @@
        ot->cancel  = transform_cancel;
        ot->poll   = ED_operator_editmesh;
 
-       RNA_def_float_factor(ot->srna, "value", 0, 0, 1, "Factor", "", 0, 1);
+       RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", 
-1.0f, 1.0f);
 
        RNA_def_boolean(ot->srna, "mirror", 0, "Mirror Editing", "");
 }


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to