diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-09-01 13:19:11 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-09-01 14:13:23 +0300 |
commit | 18d4ad5a59d32922f9d70b0412da0c830baceb17 (patch) | |
tree | c6e630362f87e533b5482ae7fd096ce49d0eeab6 /source/blender/blenkernel/BKE_fcurve.h | |
parent | ae43b1d51b4a0384c2197a6aca5cd2810c9283ff (diff) |
Copy Rotation & Transform: add Euler order override options.
For reasons similar to drivers, it should be possible to set an
explicit Euler rotation order in constraints that use Euler angles.
The Transform constraint in a way approaches drivers in its use,
in that it effectively alters channels using values of other
channels after applying a fixed form mathematical expression.
For this reason, instead of just specifying the euler order for
its inputs, it uses the same enum as driver variables. However
Quaternion components are converted to a weighted pseudo-angle
representation as the rest of the constraint UI expects angles.
Diffstat (limited to 'source/blender/blenkernel/BKE_fcurve.h')
-rw-r--r-- | source/blender/blenkernel/BKE_fcurve.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h index 4c1a115eb23..5be9a35b168 100644 --- a/source/blender/blenkernel/BKE_fcurve.h +++ b/source/blender/blenkernel/BKE_fcurve.h @@ -89,6 +89,9 @@ struct ChannelDriver *fcurve_copy_driver(const struct ChannelDriver *driver); void driver_variables_copy(struct ListBase *dst_list, const struct ListBase *src_list); +void BKE_driver_target_matrix_to_rot_channels( + float mat[4][4], int auto_order, int rotation_mode, int channel, bool angles, float r_buf[4]); + void driver_free_variable(struct ListBase *variables, struct DriverVar *dvar); void driver_free_variable_ex(struct ChannelDriver *driver, struct DriverVar *dvar); |