Commit: f72acc38ddfb73a7412b0f819135fd02326cbfb6
Author: Campbell Barton
Date:   Thu Feb 27 09:47:37 2014 +1100
https://developer.blender.org/rBf72acc38ddfb73a7412b0f819135fd02326cbfb6

Transform: remove recently added ival2, use editbones temp data

===================================================================

M       source/blender/editors/include/ED_armature.h
M       source/blender/editors/transform/transform.h
M       source/blender/editors/transform/transform_conversions.c
M       source/blender/editors/transform/transform_generics.c

===================================================================

diff --git a/source/blender/editors/include/ED_armature.h 
b/source/blender/editors/include/ED_armature.h
index dea4b24..b78fa4f 100644
--- a/source/blender/editors/include/ED_armature.h
+++ b/source/blender/editors/include/ED_armature.h
@@ -59,7 +59,10 @@ typedef struct EditBone {
        struct EditBone *parent; /* Editbones have a one-way link  (i.e. 
children refer
                                  * to parents.  This is converted to a two-way 
link for
                                  * normal bones when leaving editmode. */
-       void    *temp;          /* Used to store temporary data */
+       union {                  /* Used to store temporary data */
+               void    *temp;
+               float    temp_f;
+       };
 
        char    name[64];       /* MAXBONENAME */
        float   roll;           /* Roll along axis.  We'll ultimately use the 
axis/angle method
diff --git a/source/blender/editors/transform/transform.h 
b/source/blender/editors/transform/transform.h
index f262bac..d1085cf 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -258,7 +258,6 @@ typedef struct TransData {
        float  iloc[3];      /* Initial location                                
                               */
        float *val;          /* Value pointer for special transforms */
        float  ival;         /* Old value */
-       float  ival2;        /* Another old value (for bone roll we need two 
different "old values" :/ ). */
        float  center[3];        /* Individual data center                      
                                   */
        float  mtx[3][3];    /* Transformation matrix from data space to global 
space                          */
        float  smtx[3][3];   /* Transformation matrix from global space to data 
space                          */
diff --git a/source/blender/editors/transform/transform_conversions.c 
b/source/blender/editors/transform/transform_conversions.c
index 0e2bdc1..91bac74 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -1074,12 +1074,12 @@ static void 
createTransArmatureVerts_init_roll_fix(TransData *td, EditBone *ebo)
 
        if (fabsf(dot_v3v3(vec, z_axis)) > 0.999999f) {
                /* If nearly aligned with Z axis, do not alter roll. See 
T38843. */
-               td->ival = ebo->roll;
+               ebo->temp_f = ebo->roll;
        }
        else {
-               td->ival = ebo->roll - ED_rollBoneToVector(ebo, z_axis, false);
+               ebo->temp_f = ebo->roll - ED_rollBoneToVector(ebo, z_axis, 
false);
        }
-       td->ival2 = ebo->roll;
+       td->ival = ebo->roll;
 }
 
 static void createTransArmatureVerts(TransInfo *t)
diff --git a/source/blender/editors/transform/transform_generics.c 
b/source/blender/editors/transform/transform_generics.c
index 7b4f0b8..4e93d3a 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -823,10 +823,10 @@ static void recalcData_objects(TransInfo *t)
 
                                                if (fabsf(dot_v3v3(vec, 
z_axis)) > 0.999999f) {
                                                        /* If our bone is 
Z-aligned, do not alter roll. See T38843. */
-                                                       ebo->roll = td->ival2;
+                                                       ebo->roll = td->ival;
                                                }
                                                else {
-                                                       ebo->roll = td->ival + 
ED_rollBoneToVector(ebo, z_axis, false);
+                                                       ebo->roll = ebo->temp_f 
+ ED_rollBoneToVector(ebo, z_axis, false);
                                                }
                                        }
                                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to