[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49041] branches/soc-2012-bratwurst/source /blender: UV unwrap mirrored

Antony Riakiotakis kalast at gmail.com
Wed Jul 18 22:01:01 CEST 2012


Revision: 49041
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49041
Author:   psy-fi
Date:     2012-07-18 20:00:59 +0000 (Wed, 18 Jul 2012)
Log Message:
-----------
UV unwrap mirrored
=====================
* Dummy GUI/RNA operator properties

Modified Paths:
--------------
    branches/soc-2012-bratwurst/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    branches/soc-2012-bratwurst/source/blender/makesdna/DNA_scene_types.h

Modified: branches/soc-2012-bratwurst/source/blender/editors/uvedit/uvedit_unwrap_ops.c
===================================================================
--- branches/soc-2012-bratwurst/source/blender/editors/uvedit/uvedit_unwrap_ops.c	2012-07-18 18:53:03 UTC (rev 49040)
+++ branches/soc-2012-bratwurst/source/blender/editors/uvedit/uvedit_unwrap_ops.c	2012-07-18 20:00:59 UTC (rev 49041)
@@ -809,6 +809,7 @@
 	short abf = scene->toolsettings->unwrapper == 0;
 	short fillholes = scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES;
 	short use_subsurf = scene->toolsettings->uvcalc_flag & UVCALC_USESUBSURF;
+	short use_mirror = scene->toolsettings->uvcalc_flag & UVCALC_USEMIRROR_MOD;
 
 	if (!ED_uvedit_test(obedit)) {
 		return;
@@ -1138,6 +1139,7 @@
 	const short fill_holes = scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES;
 	const short correct_aspect = !(scene->toolsettings->uvcalc_flag & UVCALC_NO_ASPECT_CORRECT);
 	const short use_subsurf = scene->toolsettings->uvcalc_flag & UVCALC_USESUBSURF;
+	const short use_mirror = scene->toolsettings->uvcalc_flag & UVCALC_USEMIRROR_MOD;
 
 	if (use_subsurf)
 		handle = construct_param_handle_subsurfed(scene, em, fill_holes, sel, correct_aspect);
@@ -1165,6 +1167,7 @@
 	int fill_holes = RNA_boolean_get(op->ptr, "fill_holes");
 	int correct_aspect = RNA_boolean_get(op->ptr, "correct_aspect");
 	int use_subsurf = RNA_boolean_get(op->ptr, "use_subsurf_data");
+	int use_mirror = RNA_boolean_get(op->ptr, "use_mirror_mod");
 	int subsurf_level = RNA_int_get(op->ptr, "uv_subsurf_level");
 	float obsize[3], unitsize[3] = {1.0f, 1.0f, 1.0f};
 	short implicit = 0;
@@ -1199,6 +1202,9 @@
 	if (use_subsurf) scene->toolsettings->uvcalc_flag |= UVCALC_USESUBSURF;
 	else scene->toolsettings->uvcalc_flag &= ~UVCALC_USESUBSURF;
 
+	if (use_mirror) scene->toolsettings->uvcalc_flag |= UVCALC_USEMIRROR_MOD;
+	else scene->toolsettings->uvcalc_flag &= ~UVCALC_USEMIRROR_MOD;
+
 	/* execute unwrap */
 	ED_unwrap_lscm(scene, obedit, TRUE);
 
@@ -1233,6 +1239,8 @@
 	                "Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry");
 	RNA_def_boolean(ot->srna, "correct_aspect", 1, "Correct Aspect",
 	                "Map UVs taking image aspect ratio into account");
+	RNA_def_boolean(ot->srna, "use_mirror_mod", 0, "Use Mirror",
+	                "Take mirror modifier output into account to make more symmetric unwraps. Only works if mirror modifier is first");
 	RNA_def_boolean(ot->srna, "use_subsurf_data", 0, "Use Subsurf Data",
 	                "Map UVs taking vertex position after subsurf into account");
 	RNA_def_int(ot->srna, "uv_subsurf_level", 1, 1, 6, "SubSurf Target",

Modified: branches/soc-2012-bratwurst/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/soc-2012-bratwurst/source/blender/makesdna/DNA_scene_types.h	2012-07-18 18:53:03 UTC (rev 49040)
+++ branches/soc-2012-bratwurst/source/blender/makesdna/DNA_scene_types.h	2012-07-18 20:00:59 UTC (rev 49041)
@@ -1464,7 +1464,8 @@
 #define UVCALC_FILLHOLES			1
 #define UVCALC_NO_ASPECT_CORRECT	2	/* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */
 #define UVCALC_TRANSFORM_CORRECT	4	/* adjust UV's while transforming to avoid distortion */
-#define UVCALC_USESUBSURF			8	/* Use mesh data after subsurf to compute UVs*/
+#define UVCALC_USESUBSURF			8	/* use mesh data after subsurf to compute UVs*/
+#define UVCALC_USEMIRROR_MOD		16  /* use mirror modifier output if it exists */
 
 /* toolsettings->uv_flag */
 #define UV_SYNC_SELECTION	1




More information about the Bf-blender-cvs mailing list