MBall cleanup: remove unused F_ERROR references, als fix/enhance BKE_mball_basis_find()
[blender.git] / source / blender / makesdna / DNA_constraint_types.h
index 8b1e7e12e175f9c3cf2a7bb6679d2ec58435a46a..e35e4673684c5868e97838b7f4560955b62af8d4 100644 (file)
@@ -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;
@@ -338,9 +338,18 @@ typedef struct bTransformConstraint {
        
        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,8 +416,10 @@ 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 */
@@ -486,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),
@@ -555,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,
@@ -664,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;
@@ -751,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,