[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25856] trunk/blender: Edge Crease Transform is back.

Martin Poirier theeth at yahoo.com
Sat Jan 9 21:42:38 CET 2010


Revision: 25856
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25856
Author:   theeth
Date:     2010-01-09 21:42:35 +0100 (Sat, 09 Jan 2010)

Log Message:
-----------
Edge Crease Transform is back. Now in edge menu (Ctrl-E) with Edge Slide and the rest.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_view3d.py
    trunk/blender/source/blender/editors/transform/transform_conversions.c
    trunk/blender/source/blender/editors/transform/transform_generics.c
    trunk/blender/source/blender/editors/transform/transform_ops.c

Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py	2010-01-09 19:00:41 UTC (rev 25855)
+++ trunk/blender/release/scripts/ui/space_view3d.py	2010-01-09 20:42:35 UTC (rev 25856)
@@ -1217,7 +1217,8 @@
 
         layout.separator()
 
-        layout.operator("TRANSFORM_OT_edge_slide", text="Edge Slide")
+        layout.operator("TRANSFORM_OT_edge_slide")
+        layout.operator("TRANSFORM_OT_edge_crease")
         layout.operator("mesh.loop_multi_select", text="Edge Loop")
 
         # uiItemO(layout, "Loopcut", 0, "mesh.loop_cut"); // CutEdgeloop(em, 1);

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2010-01-09 19:00:41 UTC (rev 25855)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2010-01-09 20:42:35 UTC (rev 25856)
@@ -332,7 +332,7 @@
 /* ********************* edge (for crease) ***** */
 
 static void createTransEdge(bContext *C, TransInfo *t) {
-#if 0	// TRANSFORM_FIX_ME
+	EditMesh *em = ((Mesh *)t->obedit->data)->edit_mesh;
 	TransData *td = NULL;
 	EditEdge *eed;
 	float mtx[3][3], smtx[3][3];
@@ -390,7 +390,6 @@
 			td++;
 		}
 	}
-#endif
 }
 
 /* ********************* pose mode ************* */
@@ -5148,11 +5147,11 @@
 	Scene *scene = CTX_data_scene(C);
 	Object *ob = OBACT;
 
-	if (t->options == CTX_TEXTURE) {
+	if (t->options & CTX_TEXTURE) {
 		t->flag |= T_TEXTURE;
 		createTransTexspace(C, t);
 	}
-	else if (t->options == CTX_EDGE) {
+	else if (t->options & CTX_EDGE) {
 		t->ext = NULL;
 		t->flag |= T_EDIT;
 		createTransEdge(C, t);

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2010-01-09 19:00:41 UTC (rev 25855)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2010-01-09 20:42:35 UTC (rev 25856)
@@ -919,6 +919,11 @@
 		t->flag |= T_MODAL;
 	}
 
+	/* Crease needs edge flag */
+	if (t->mode == TFM_CREASE) {
+		t->options |= CTX_EDGE;
+	}
+
 	t->spacetype = sa->spacetype;
 	if(t->spacetype == SPACE_VIEW3D)
 	{

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c	2010-01-09 19:00:41 UTC (rev 25855)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c	2010-01-09 20:42:35 UTC (rev 25856)
@@ -67,6 +67,7 @@
 char OP_TRACKBALL[] = "TRANSFORM_OT_trackball";
 char OP_MIRROR[] = "TRANSFORM_OT_mirror";
 char OP_EDGE_SLIDE[] = "TRANSFORM_OT_edge_slide";
+char OP_EDGE_CREASE[] = "TRANSFORM_OT_edge_crease";
 char OP_SEQ_SLIDE[] = "TRANSFORM_OT_seq_slide";
 
 void TRANSFORM_OT_translate(struct wmOperatorType *ot);
@@ -80,6 +81,7 @@
 void TRANSFORM_OT_trackball(struct wmOperatorType *ot);
 void TRANSFORM_OT_mirror(struct wmOperatorType *ot);
 void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot);
+void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot);
 void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot);
 
 TransformModeItem transform_modes[] =
@@ -95,6 +97,7 @@
 	{OP_TRACKBALL, TFM_TRACKBALL, TRANSFORM_OT_trackball},
 	{OP_MIRROR, TFM_MIRROR, TRANSFORM_OT_mirror},
 	{OP_EDGE_SLIDE, TFM_EDGE_SLIDE, TRANSFORM_OT_edge_slide},
+	{OP_EDGE_CREASE, TFM_CREASE, TRANSFORM_OT_edge_crease},
 	{OP_SEQ_SLIDE, TFM_SEQ_SLIDE, TRANSFORM_OT_seq_slide},
 	{NULL, 0}
 };
@@ -697,6 +700,26 @@
 	Properties_Snapping(ot, 0, 0);
 }
 
+void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name   = "Edge Crease";
+	ot->description= "Change the crease of edges.";
+	ot->idname = OP_EDGE_CREASE;
+	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+
+	/* api callbacks */
+	ot->invoke = transform_invoke;
+	ot->exec   = transform_exec;
+	ot->modal  = transform_modal;
+	ot->cancel  = transform_cancel;
+	ot->poll   = ED_operator_editmesh;
+
+	RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
+
+	Properties_Snapping(ot, 0, 0);
+}
+
 void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot)
 {
 	/* identifiers */





More information about the Bf-blender-cvs mailing list