[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34745] trunk/blender/source/blender: small feature request from zanqdo, merging in the mirror modifier is now optional, simply turning town the merge limit just simply do anything, and merging is off by default as this seems more logical behaviour

Michael Fox mfoxdogg at gmail.com
Thu Feb 10 01:05:06 CET 2011


Revision: 34745
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34745
Author:   mfoxdogg
Date:     2011-02-10 00:05:03 +0000 (Thu, 10 Feb 2011)
Log Message:
-----------
small feature request from zanqdo, merging in the mirror modifier is now optional, simply turning town the merge limit just simply do anything, and merging is off by default as this seems more logical behaviour

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_modifier_types.h
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c
    trunk/blender/source/blender/modifiers/intern/MOD_mirror.c

Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2011-02-09 15:38:50 UTC (rev 34744)
+++ trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2011-02-10 00:05:03 UTC (rev 34745)
@@ -235,6 +235,7 @@
 #define MOD_MIR_AXIS_Y		(1<<4)
 #define MOD_MIR_AXIS_Z		(1<<5)
 #define MOD_MIR_VGROUP		(1<<6)
+#define MOD_MIR_MERGE		(1<<7)
 
 typedef struct EdgeSplitModifierData {
 	ModifierData modifier;

Modified: trunk/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2011-02-09 15:38:50 UTC (rev 34744)
+++ trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2011-02-10 00:05:03 UTC (rev 34745)
@@ -776,6 +776,11 @@
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_VGROUP);
 	RNA_def_property_ui_text(prop, "Mirror Vertex Groups", "Mirror vertex groups (e.g. .R->.L)");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
+	
+	prop= RNA_def_property(srna, "use_mirror_merge", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_MERGE);
+	RNA_def_property_ui_text(prop, "Merge Verticies", "Merge verticies within the merge threshold");
+	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
 	prop= RNA_def_property(srna, "use_mirror_u", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_MIRROR_U);

Modified: trunk/blender/source/blender/modifiers/intern/MOD_mirror.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_mirror.c	2011-02-09 15:38:50 UTC (rev 34744)
+++ trunk/blender/source/blender/modifiers/intern/MOD_mirror.c	2011-02-10 00:05:03 UTC (rev 34745)
@@ -142,8 +142,12 @@
 		if (mmd->mirror_ob) {
 			mul_m4_v3(mtx, co);
 		}
-		isShared = ABS(co[axis])<=tolerance;
 		
+		if(mmd->flag & MOD_MIR_MERGE)
+			isShared = ABS(co[axis])<=tolerance;
+		else
+			isShared = 0;
+		
 		/* Because the topology result (# of vertices) must be the same if
 		* the mesh data is overridden by vertex cos, have to calc sharedness
 		* based on original coordinates. This is why we test before copy.
@@ -154,8 +158,8 @@
 		
 		indexMap[i][0] = numVerts - 1;
 		indexMap[i][1] = !isShared;
-		
-		if(isShared) {
+		//
+		if(isShared ) {
 			co[axis] = 0;
 			if (mmd->mirror_ob) {
 				mul_m4_v3(imtx, co);




More information about the Bf-blender-cvs mailing list