diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-20 18:06:31 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-23 13:45:03 +0300 |
commit | 624e93bbef8a8a34be822c1a98df131439c32788 (patch) | |
tree | 592fce70ac6a810c6ee4ab9c0c3ce87ebedc14cf /source/blender/blenkernel/intern/action.c | |
parent | c043ab1cf3bce77248a8d7dfa42b2e9f8f9611aa (diff) |
B-Bones: split the Scale In/Out properties into X and Y values.
As far as I can tell, there is no technical reason why the B-Bone
segment thickness scaling can't be separated into two axes. The
only downside is the increase in complexity of the B-Bone settings,
but this is inevitable due to the increase in flexibility.
Updating the file is somewhat complicated though, because F-Curves
and drivers have to be duplicated and updated to the new names.
Reviewers: campbellbarton
Subscribers: icappiello, jpbouza
Differential Revision: https://developer.blender.org/D4716
Diffstat (limited to 'source/blender/blenkernel/intern/action.c')
-rw-r--r-- | source/blender/blenkernel/intern/action.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index 9ae8d27b27f..59e279d8054 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -458,7 +458,8 @@ bPoseChannel *BKE_pose_channel_verify(bPose *pose, const char *name) unit_axis_angle(chan->rotAxis, &chan->rotAngle); chan->size[0] = chan->size[1] = chan->size[2] = 1.0f; - chan->scaleIn = chan->scaleOut = 1.0f; + chan->scale_in_x = chan->scale_in_y = 1.0f; + chan->scale_out_x = chan->scale_out_y = 1.0f; chan->limitmin[0] = chan->limitmin[1] = chan->limitmin[2] = -M_PI; chan->limitmax[0] = chan->limitmax[1] = chan->limitmax[2] = M_PI; @@ -1410,7 +1411,8 @@ void BKE_pose_rest(bPose *pose) pchan->curveInX = pchan->curveInY = 0.0f; pchan->curveOutX = pchan->curveOutY = 0.0f; pchan->ease1 = pchan->ease2 = 0.0f; - pchan->scaleIn = pchan->scaleOut = 1.0f; + pchan->scale_in_x = pchan->scale_in_y = 1.0f; + pchan->scale_out_x = pchan->scale_out_y = 1.0f; pchan->flag &= ~(POSE_LOC | POSE_ROT | POSE_SIZE | POSE_BBONE_SHAPE); } @@ -1438,8 +1440,10 @@ void BKE_pose_copyesult_pchan_result(bPoseChannel *pchanto, const bPoseChannel * pchanto->curveOutY = pchanfrom->curveOutY; pchanto->ease1 = pchanfrom->ease1; pchanto->ease2 = pchanfrom->ease2; - pchanto->scaleIn = pchanfrom->scaleIn; - pchanto->scaleOut = pchanfrom->scaleOut; + pchanto->scale_in_x = pchanfrom->scale_in_x; + pchanto->scale_in_y = pchanfrom->scale_in_y; + pchanto->scale_out_x = pchanfrom->scale_out_x; + pchanto->scale_out_y = pchanfrom->scale_out_y; pchanto->rotmode = pchanfrom->rotmode; pchanto->flag = pchanfrom->flag; |