[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30885] trunk/blender/source/blender: 3 duplicate functions: bone_flip_name() object_flip_name() flip_side_name( )

Campbell Barton ideasman42 at gmail.com
Fri Jul 30 03:13:08 CEST 2010


Revision: 30885
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30885
Author:   campbellbarton
Date:     2010-07-30 03:13:07 +0200 (Fri, 30 Jul 2010)

Log Message:
-----------
3 duplicate functions: bone_flip_name() object_flip_name() flip_side_name()
removed object_flip_name() & bone_flip_name(), use flip_side_name()

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_armature.h
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/editors/armature/editarmature.c
    trunk/blender/source/blender/editors/armature/poseobject.c
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/object/object_select.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c

Modified: trunk/blender/source/blender/blenkernel/BKE_armature.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_armature.h	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/blenkernel/BKE_armature.h	2010-07-30 01:13:07 UTC (rev 30885)
@@ -80,7 +80,6 @@
 void make_local_armature(struct bArmature *arm);
 struct bArmature *copy_armature(struct bArmature *arm);
 
-void bone_flip_name (char *name, int strip_number);
 int bone_autoside_name (char *name, int strip_number, short axis, float head, float tail);
 
 struct Bone *get_named_bone (struct bArmature *arm, const char *name);

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2010-07-30 01:13:07 UTC (rev 30885)
@@ -245,117 +245,6 @@
 	return bone;
 }
 
-
-#define IS_SEPARATOR(a)	(a=='.' || a==' ' || a=='-' || a=='_')
-
-/* finds the best possible flipped name. For renaming; check for unique names afterwards */
-/* if strip_number: removes number extensions */
-void bone_flip_name (char *name, int strip_number)
-{
-	int		len;
-	char	prefix[128]={""};	/* The part before the facing */
-	char	suffix[128]={""};	/* The part after the facing */
-	char	replace[128]={""};	/* The replacement string */
-	char	number[128]={""};	/* The number extension string */
-	char	*index=NULL;
-
-	len= strlen(name);
-	if(len<3) return;	// we don't do names like .R or .L
-
-	/* We first check the case with a .### extension, let's find the last period */
-	if(isdigit(name[len-1])) {
-		index= strrchr(name, '.');	// last occurrence
-		if (index && isdigit(index[1]) ) {		// doesnt handle case bone.1abc2 correct..., whatever!
-			if(strip_number==0) 
-				strcpy(number, index);
-			*index= 0;
-			len= strlen(name);
-		}
-	}
-
-	strcpy (prefix, name);
-
-	/* first case; separator . - _ with extensions r R l L  */
-	if( IS_SEPARATOR(name[len-2]) ) {
-		switch(name[len-1]) {
-			case 'l':
-				prefix[len-1]= 0;
-				strcpy(replace, "r");
-				break;
-			case 'r':
-				prefix[len-1]= 0;
-				strcpy(replace, "l");
-				break;
-			case 'L':
-				prefix[len-1]= 0;
-				strcpy(replace, "R");
-				break;
-			case 'R':
-				prefix[len-1]= 0;
-				strcpy(replace, "L");
-				break;
-		}
-	}
-	/* case; beginning with r R l L , with separator after it */
-	else if( IS_SEPARATOR(name[1]) ) {
-		switch(name[0]) {
-			case 'l':
-				strcpy(replace, "r");
-				strcpy(suffix, name+1);
-				prefix[0]= 0;
-				break;
-			case 'r':
-				strcpy(replace, "l");
-				strcpy(suffix, name+1);
-				prefix[0]= 0;
-				break;
-			case 'L':
-				strcpy(replace, "R");
-				strcpy(suffix, name+1);
-				prefix[0]= 0;
-				break;
-			case 'R':
-				strcpy(replace, "L");
-				strcpy(suffix, name+1);
-				prefix[0]= 0;
-				break;
-		}
-	}
-	else if(len > 5) {
-		/* hrms, why test for a separator? lets do the rule 'ultimate left or right' */
-		index = BLI_strcasestr(prefix, "right");
-		if (index==prefix || index==prefix+len-5) {
-			if(index[0]=='r') 
-				strcpy (replace, "left");
-			else {
-				if(index[1]=='I') 
-					strcpy (replace, "LEFT");
-				else
-					strcpy (replace, "Left");
-			}
-			*index= 0;
-			strcpy (suffix, index+5);
-		}
-		else {
-			index = BLI_strcasestr(prefix, "left");
-			if (index==prefix || index==prefix+len-4) {
-				if(index[0]=='l') 
-					strcpy (replace, "right");
-				else {
-					if(index[1]=='E') 
-						strcpy (replace, "RIGHT");
-					else
-						strcpy (replace, "Right");
-				}
-				*index= 0;
-				strcpy (suffix, index+4);
-			}
-		}		
-	}
-
-	sprintf (name, "%s%s%s%s", prefix, replace, suffix, number);
-}
-
 /* Finds the best possible extension to the name on a particular axis. (For renaming, check for unique names afterwards)
  * This assumes that bone names are at most 32 chars long!
  * 	strip_number: removes number extensions  (TODO: not used)

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/editors/armature/editarmature.c	2010-07-30 01:13:07 UTC (rev 30885)
@@ -1752,10 +1752,9 @@
 	
 	if (ebo == NULL)
 		return NULL;
+
+	flip_side_name(name, ebo->name, FALSE);
 	
-	BLI_strncpy(name, ebo->name, sizeof(name));
-	bone_flip_name(name, 0);		// 0 = don't strip off number extensions
-	
 	for (eboflip= edbo->first; eboflip; eboflip=eboflip->next) {
 		if (ebo != eboflip) {
 			if (!strcmp (name, eboflip->name)) 
@@ -4741,11 +4740,10 @@
 		/* find flipped group */
 		if (dgroup && mirror) {
 			char name[32];
-			
-			BLI_strncpy(name, dgroup->name, 32);
+
 			// 0 = don't strip off number extensions
-			bone_flip_name(name, 0);
-			
+			flip_side_name(name, dgroup->name, FALSE);
+
 			for (curdg = ob->defbase.first; curdg; curdg=curdg->next) {
 				if (!strcmp(curdg->name, name))
 					break;
@@ -5540,8 +5538,7 @@
 	/* loop through selected bones, auto-naming them */
 	CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
 	{
-		BLI_strncpy(newname, ebone->name, sizeof(newname));
-		bone_flip_name(newname, 1);		// 1 = do strip off number extensions
+		flip_side_name(newname, ebone->name, TRUE); // 1 = do strip off number extensions
 		ED_armature_bone_rename(arm, ebone->name, newname);
 	}
 	CTX_DATA_END;

Modified: trunk/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poseobject.c	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/editors/armature/poseobject.c	2010-07-30 01:13:07 UTC (rev 30885)
@@ -897,7 +897,6 @@
 	Scene *scene= CTX_data_scene(C);
 	Object *ob= CTX_data_active_object(C);
 	bPoseChannel *chan, *pchan;
-	char name[32];
 	int flip= RNA_boolean_get(op->ptr, "flipped");
 	
 	/* sanity checks */
@@ -913,10 +912,12 @@
 	for (chan= g_posebuf->chanbase.first; chan; chan=chan->next) {
 		if (chan->flag & POSE_KEY) {
 			/* get the name - if flipping, we must flip this first */
-			BLI_strncpy(name, chan->name, sizeof(name));
+			char name[32];
 			if (flip)
-				bone_flip_name(name, 0);		/* 0 = don't strip off number extensions */
-				
+				flip_side_name(name, chan->name, 0);		/* 0 = don't strip off number extensions */
+			else
+				BLI_strncpy(name, chan->name, sizeof(name));
+
 			/* only copy when channel exists, poses are not meant to add random channels to anymore */
 			pchan= get_pose_channel(ob->pose, name);
 			
@@ -1431,7 +1432,6 @@
 {
 	Object *ob= CTX_data_active_object(C);
 	bArmature *arm;
-	char newname[32];
 	
 	/* paranoia checks */
 	if (ELEM(NULL, ob, ob->pose)) 
@@ -1441,8 +1441,8 @@
 	/* loop through selected bones, auto-naming them */
 	CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pose_bones)
 	{
-		BLI_strncpy(newname, pchan->name, sizeof(newname));
-		bone_flip_name(newname, 1);	// 1 = do strip off number extensions
+		char newname[32];
+		flip_side_name(newname, pchan->name, TRUE);
 		ED_armature_bone_rename(arm, pchan->name, newname);
 	}
 	CTX_DATA_END;
@@ -1546,10 +1546,8 @@
 		
 		if(arm->act_bone) {
 			char name[32];
-			
-			BLI_strncpy(name, arm->act_bone->name, 32);
-			bone_flip_name(name, 1);	// 0 = do not strip off number extensions
-			
+			flip_side_name(name, arm->act_bone->name, TRUE);
+
 			pchanf= get_pose_channel(ob->pose, name);
 			if(pchanf && pchanf->bone != arm->act_bone) {
 				arm->act_bone->flag &= ~BONE_SELECTED;

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2010-07-30 01:13:07 UTC (rev 30885)
@@ -1321,7 +1321,6 @@
 static void colorband_del_cb(bContext *C, void *cb_v, void *coba_v)
 {
 	ColorBand *coba= coba_v;
-	int a;
 
 	if(colorband_element_remove(coba, coba->cur)) {
 		ED_undo_push(C, "Delete colorband");

Modified: trunk/blender/source/blender/editors/object/object_select.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_select.c	2010-07-30 00:55:37 UTC (rev 30884)
+++ trunk/blender/source/blender/editors/object/object_select.c	2010-07-30 01:13:07 UTC (rev 30885)
@@ -53,6 +53,7 @@
 #include "BKE_report.h"
 #include "BKE_scene.h"
 #include "BKE_utildefines.h"
+#include "BKE_deform.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -824,130 +825,17 @@
 }
 
 /**************************** Select Mirror ****************************/
-
-/* finds the best possible flipped name. For renaming; check for unique names afterwards */
-/* if strip_number: removes number extensions */
-void object_flip_name (char *name)
-{
-	int     len;
-	char    prefix[128]={""};   /* The part before the facing */
-	char    suffix[128]={""};   /* The part after the facing */
-	char    replace[128]={""};  /* The replacement string */
-	char    number[128]={""};   /* The number extension string */
-	char    *index=NULL;
-
-	len= strlen(name);
-	if(len<3) return; // we don't do names like .R or .L
-
-	/* We first check the case with a .### extension, let's find the last period */
-	if(isdigit(name[len-1])) {
-		index= strrchr(name, '.'); // last occurrence
-		if (index && isdigit(index[1]) ) { // doesnt handle case bone.1abc2 correct..., whatever!
-			strcpy(number, index);
-			*index= 0;
-			len= strlen(name);
-		}
-	}
-
-	strcpy (prefix, name);
-
-#define IS_SEPARATOR(a) ((a)=='.' || (a)==' ' || (a)=='-' || (a)=='_')
-
-	/* first case; separator . - _ with extensions r R l L  */
-	if( IS_SEPARATOR(name[len-2]) ) {
-		switch(name[len-1]) {
-			case 'l':
-				prefix[len-1]= 0;
-				strcpy(replace, "r");
-				break;
-			case 'r':
-				prefix[len-1]= 0;
-				strcpy(replace, "l");
-				break;
-			case 'L':
-				prefix[len-1]= 0;
-				strcpy(replace, "R");
-				break;
-			case 'R':
-				prefix[len-1]= 0;
-				strcpy(replace, "L");
-				break;
-		}
-	}
-	/* case; beginning with r R l L , with separator after it */
-	else if( IS_SEPARATOR(name[1]) ) {
-		switch(name[0]) {
-			case 'l':
-				strcpy(replace, "r");
-				strcpy(suffix, name+1);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list