MBall cleanup: remove unused F_ERROR references, als fix/enhance BKE_mball_basis_find()
[blender.git] / source / blender / makesdna / DNA_constraint_types.h
index b603684040133345dddb386a7878812c8dc65c46..e35e4673684c5868e97838b7f4560955b62af8d4 100644 (file)
@@ -42,7 +42,7 @@ struct Text;
 struct Ipo;
 
 /* channels reside in Object or Action (ListBase) constraintChannels */
-// XXX depreceated... old AnimSys
+// XXX deprecated... old AnimSys
 typedef struct bConstraintChannel {
        struct bConstraintChannel *next, *prev;
        struct Ipo                      *ipo;
@@ -170,7 +170,7 @@ typedef struct bSplineIKConstraint {
        short           numpoints;      /* number of points to bound in points array */
        short           chainlen;       /* number of bones ('n') that are in the chain */
        
-               /* settings */  
+               /* settings */
        short flag;                             /* general settings for constraint */
        short xzScaleMode;              /* method used for determining the x & z scaling of the bones */
 } bSplineIKConstraint;
@@ -182,7 +182,7 @@ typedef struct bSplineIKConstraint {
 typedef struct bTrackToConstraint {
        struct Object           *tar;
        int                     reserved1; /* I'll be using reserved1 and reserved2 as Track and Up flags,
-                               * not sure if that's what they were intented for anyway.
+                               * not sure if that's what they were intended for anyway.
                                * Not sure either if it would create backward incompatibility if I were to rename them.
                                * - theeth*/
        int                     reserved2;
@@ -332,15 +332,24 @@ typedef struct bTransformConstraint {
        struct Object           *tar;                   /* target (i.e. 'driver' object/bone) */
        char            subtarget[64];          /* MAX_ID_NAME-2 */
        
-       short           from, to;               /* can be loc(0) , rot(1),  or size(2) */
+       short           from, to;               /* can be loc(0), rot(1) or size(2) */
        char            map[3];                 /* defines which target-axis deform is copied by each owner-axis */
        char            expo;                   /* extrapolate motion? if 0, confine to ranges */
        
        float           from_min[3];    /* from_min/max defines range of target transform       */
        float           from_max[3];    /*      to map on to to_min/max range.                  */
-       
        float           to_min[3];              /* range of motion on owner caused by target  */
-       float           to_max[3];      
+       float           to_max[3];
+
+       float           from_min_rot[3];        /* from_min/max defines range of target transform       */
+       float           from_max_rot[3];        /*      to map on to to_min/max range.                  */
+       float           to_min_rot[3];          /* range of motion on owner caused by target  */
+       float           to_max_rot[3];
+
+       float           from_min_scale[3];      /* from_min/max defines range of target transform       */
+       float           from_max_scale[3];      /*      to map on to to_min/max range.                  */
+       float           to_min_scale[3];                /* range of motion on owner caused by target  */
+       float           to_max_scale[3];
 } bTransformConstraint;
 
 /* Pivot Constraint */
@@ -407,15 +416,18 @@ typedef struct bShrinkwrapConstraint {
        struct Object           *target;
        float           dist;                   /* distance to kept from target */
        short           shrinkType;             /* shrink type (look on MOD shrinkwrap for values) */
-       char            projAxis;               /* axis to project over UP_X, UP_Y, UP_Z */
-       char            pad[9];
+       char            projAxis;               /* axis to project/constrain */
+       char            projAxisSpace;  /* space to project axis in */
+       float           projLimit;              /* distance to search */
+       char            pad[4];
 } bShrinkwrapConstraint;
 
 /* Follow Track constraints */
 typedef struct bFollowTrackConstraint {
        struct MovieClip        *clip;
        char    track[64];      /* MAX_NAME */
-       int             flag, pad;
+       int             flag;
+       int             frame_method;
        char            object[64];     /* MAX_NAME */
        struct Object *camera;
        struct Object *depth_ob;
@@ -485,7 +497,7 @@ typedef enum eBConstraint_Flags {
        CONSTRAINT_EXPAND =             (1<<0), 
                /* pre-check for illegal object name or bone name */
        CONSTRAINT_DISABLE =    (1<<2), 
-               /* to indicate which Ipo should be shown, maybe for 3d access later too */      
+               /* to indicate which Ipo should be shown, maybe for 3d access later too */
        CONSTRAINT_ACTIVE =     (1<<4), 
                /* to indicate that the owner's space should only be changed into ownspace, but not out of it */
        CONSTRAINT_SPACEONCE =  (1<<6),
@@ -514,7 +526,7 @@ typedef enum eBConstraint_SpaceTypes {
 } eBConstraint_SpaceTypes;
 
 /* bConstraintChannel.flag */
-// XXX depreceated... old AnimSys
+// XXX deprecated... old AnimSys
 typedef enum eConstraintChannel_Flags {
        CONSTRAINT_CHANNEL_SELECT =             (1<<0),
        CONSTRAINT_CHANNEL_PROTECTED =  (1<<1)
@@ -538,7 +550,7 @@ typedef enum eCopyLocation_Flags {
        LOCLIKE_X                       = (1<<0),
        LOCLIKE_Y                       = (1<<1),
        LOCLIKE_Z                       = (1<<2),
-               /* LOCLIKE_TIP is a depreceated option... use headtail=1.0f instead */
+               /* LOCLIKE_TIP is a deprecated option... use headtail=1.0f instead */
        LOCLIKE_TIP                     = (1<<3),
        LOCLIKE_X_INVERT        = (1<<4),
        LOCLIKE_Y_INVERT        = (1<<5),
@@ -554,6 +566,13 @@ typedef enum eCopyScale_Flags {
        SIZELIKE_OFFSET = (1<<3)
 } eCopyScale_Flags;
 
+/* bTransformConstraint.to/from */
+typedef enum eTransform_ToFrom {
+       TRANS_LOCATION = 0,
+       TRANS_ROTATION = 1,
+       TRANS_SCALE    = 2,
+} eTransform_ToFrom;
+
 /* bSameVolumeConstraint.flag */
 typedef enum eSameVolume_Modes {
        SAMEVOL_X               = 0,
@@ -663,7 +682,7 @@ typedef enum eSplineIK_Flags {
        /* bones in the chain should not scale to fit the curve */
        CONSTRAINT_SPLINEIK_SCALE_LIMITED       = (1<<2),
        /* evenly distribute the bones along the path regardless of length */
-       CONSTRAINT_SPLINEIK_EVENSPLITS          = (1<<3),       
+       CONSTRAINT_SPLINEIK_EVENSPLITS          = (1<<3),
        /* don't adjust the x and z scaling of the bones by the curve radius */
        CONSTRAINT_SPLINEIK_NO_CURVERAD = (1<<4)
 } eSplineIK_Flags;
@@ -750,7 +769,7 @@ typedef enum eChildOf_Flags {
        /* Restrictions for Pivot Constraint axis to consider for enabling constraint */
 typedef enum ePivotConstraint_Axis {
        /* do not consider this activity-clamping */
-       PIVOTCON_AXIS_NONE = -1,        
+       PIVOTCON_AXIS_NONE = -1,
        
        /* consider -ve x-axis rotations */
        PIVOTCON_AXIS_X_NEG = 0,
@@ -780,6 +799,12 @@ typedef enum eFollowTrack_Flags {
        FOLLOWTRACK_USE_3D_POSITION     = (1<<1)
 } eFollowTrack_Flags;
 
+typedef enum eFollowTrack_FrameMethod {
+       FOLLOWTRACK_FRAME_STRETCH = 0,
+       FOLLOWTRACK_FRAME_FIT = 1,
+       FOLLOWTRACK_FRAME_CROP = 2
+} eFollowTrack_FrameMethod;
+
 /* CameraSolver Constraint -> flag */
 typedef enum eCameraSolver_Flags {
        CAMERASOLVER_ACTIVECLIP = (1<<0)