diff options
Diffstat (limited to 'source/blender/makesdna/DNA_constraint_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_constraint_types.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index 17ce279f1b7..42d58cb34d0 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -271,7 +271,8 @@ typedef struct bTrackToConstraint { typedef struct bRotateLikeConstraint { struct Object *tar; int flag; - int reserved1; + char euler_order; + char _pad[3]; /** MAX_ID_NAME-2. */ char subtarget[64]; } bRotateLikeConstraint; @@ -441,6 +442,13 @@ typedef struct bTransformConstraint { /** Extrapolate motion? if 0, confine to ranges. */ char expo; + /** Input rotation type - uses the same values as driver targets. */ + char from_rotation_mode; + /** Output euler order override. */ + char to_euler_order; + + char _pad[6]; + /** From_min/max defines range of target transform. */ float from_min[3]; /** To map on to to_min/max range. */ @@ -715,6 +723,20 @@ typedef enum eConstraintChannel_Flags { CONSTRAINT_CHANNEL_PROTECTED = (1 << 1), } eConstraintChannel_Flags; +/* Common enum for constraints that support override. */ +typedef enum eConstraint_EulerOrder { + /** Automatic euler mode. */ + CONSTRAINT_EULER_AUTO = 0, + + /** Explicit euler rotation modes - must sync with BLI_math_rotation.h defines. */ + CONSTRAINT_EULER_XYZ = 1, + CONSTRAINT_EULER_XZY, + CONSTRAINT_EULER_YXZ, + CONSTRAINT_EULER_YZX, + CONSTRAINT_EULER_ZXY, + CONSTRAINT_EULER_ZYX, +} eConstraint_EulerOrder; + /* -------------------------------------- */ /* bRotateLikeConstraint.flag */ |