[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13446] trunk/blender/source/blender: === Mirror Tool ===

Martin Poirier theeth at yahoo.com
Tue Jan 29 03:38:33 CET 2008


Revision: 13446
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13446
Author:   theeth
Date:     2008-01-29 03:38:26 +0100 (Tue, 29 Jan 2008)

Log Message:
-----------
=== Mirror Tool ===

Fix calls to new mirror in UV window (it would segfault with invalid arguments).

Reported by Matt in the tracker (#8176)

Modified Paths:
--------------
    trunk/blender/source/blender/include/BIF_editsima.h
    trunk/blender/source/blender/src/editsima.c
    trunk/blender/source/blender/src/header_image.c

Modified: trunk/blender/source/blender/include/BIF_editsima.h
===================================================================
--- trunk/blender/source/blender/include/BIF_editsima.h	2008-01-29 02:24:37 UTC (rev 13445)
+++ trunk/blender/source/blender/include/BIF_editsima.h	2008-01-29 02:38:26 UTC (rev 13446)
@@ -65,7 +65,6 @@
 void select_invert_tface_uv(void);
 void select_swap_tface_uv(void);
 void mirrormenu_tface_uv(void);
-void mirror_tface_uv(char mirroraxis);
 void hide_tface_uv(int swap);
 void reveal_tface_uv(void);
 void stitch_limit_uv_tface(void);

Modified: trunk/blender/source/blender/src/editsima.c
===================================================================
--- trunk/blender/source/blender/src/editsima.c	2008-01-29 02:24:37 UTC (rev 13445)
+++ trunk/blender/source/blender/src/editsima.c	2008-01-29 02:38:26 UTC (rev 13446)
@@ -240,17 +240,12 @@
 	}
 }
 
-void mirror_tface_uv(char mirroraxis)
-{
-	if (mirroraxis == 'x')
-		Mirror(1); /* global x */
-	else if (mirroraxis == 'y')
-		Mirror(2); /* global y */
-}
-
 void mirrormenu_tface_uv(void)
 {
+	float mat[3][3];
 	short mode= 0;
+	
+	Mat3One(mat);
 
 	if( is_uv_tface_editing_allowed()==0 ) return;
 
@@ -258,8 +253,16 @@
 
 	if(mode==-1) return;
 
-	if(mode==1) mirror_tface_uv('x');
-	else if(mode==2) mirror_tface_uv('y');
+	if (mode == 1) {
+		initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
+		BIF_setSingleAxisConstraint(mat[0], " on X axis");
+		Transform();
+	}
+	else {
+		initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
+		BIF_setSingleAxisConstraint(mat[1], " on Y axis");
+		Transform();
+	}
 
 	BIF_undo_push("Mirror UV");
 }

Modified: trunk/blender/source/blender/src/header_image.c
===================================================================
--- trunk/blender/source/blender/src/header_image.c	2008-01-29 02:24:37 UTC (rev 13445)
+++ trunk/blender/source/blender/src/header_image.c	2008-01-29 02:38:26 UTC (rev 13446)
@@ -52,6 +52,7 @@
 #include "DNA_userdef_types.h"
 #include "DNA_customdata_types.h" /* for UV layer menu */
 
+#include "BLI_arithb.h"
 #include "BLI_blenlib.h"
 
 #include "BDR_drawmesh.h"
@@ -870,12 +871,20 @@
 
 static void do_image_uvs_mirrormenu(void *arg, int event)
 {
+	float mat[3][3];
+	
+	Mat3One(mat);
+	
 	switch(event) {
 	case 0: /* X axis */
-		mirror_tface_uv('x');
+		initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
+		BIF_setSingleAxisConstraint(mat[0], " on global X axis");
+		Transform();
 		break;
 	case 1: /* Y axis */
-		mirror_tface_uv('y');
+		initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
+		BIF_setSingleAxisConstraint(mat[1], " on global Y axis");
+		Transform();
 		break;
 	}
 	





More information about the Bf-blender-cvs mailing list