[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23514] trunk/blender/source/blender/ editors: 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).
Joseph Eagar
joeedh at gmail.com
Mon Sep 28 05:28:28 CEST 2009
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", "");
}
More information about the Bf-blender-cvs
mailing list