[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