Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_constraint_types.h')
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index fd98774e948..15555a2bd50 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -94,6 +94,8 @@ typedef struct bConstraintTarget {
short flag; /* runtime settings (for editor, etc.) */
short type; /* type of target (eConstraintObType) */
short rotOrder; /* rotation order for target (as defined in BLI_math.h) */
+ float weight; /* weight for armature deform */
+ char pad[4];
} bConstraintTarget;
/* bConstraintTarget -> flag */
@@ -180,6 +182,13 @@ typedef struct bSplineIKConstraint {
float bulge_smooth;
} bSplineIKConstraint;
+/* Armature Constraint */
+typedef struct bArmatureConstraint {
+ int flag; /* general settings/state indicators accessed by bitmapping */
+ char pad[4];
+
+ ListBase targets; /* a list of targets that this constraint has (bConstraintTarget-s) */
+} bArmatureConstraint;
/* Single-target subobject constraints --------------------- */
@@ -504,6 +513,7 @@ typedef enum eBConstraint_Types {
CONSTRAINT_TYPE_CAMERASOLVER = 27, /* Camera Solver Constraint */
CONSTRAINT_TYPE_OBJECTSOLVER = 28, /* Object Solver Constraint */
CONSTRAINT_TYPE_TRANSFORM_CACHE = 29, /* Transform Cache Constraint */
+ CONSTRAINT_TYPE_ARMATURE = 30, /* Armature Deform Constraint */
/* NOTE: no constraints are allowed to be added after this */
NUM_CONSTRAINT_TYPES
@@ -747,6 +757,13 @@ typedef enum eSplineIK_XZScaleModes {
CONSTRAINT_SPLINEIK_XZS_VOLUMETRIC = 3
} eSplineIK_XZScaleModes;
+/* bArmatureConstraint -> flag */
+typedef enum eArmature_Flags {
+ CONSTRAINT_ARMATURE_QUATERNION = (1<<0), /* use dual quaternion blending */
+ CONSTRAINT_ARMATURE_ENVELOPE = (1<<1), /* use envelopes */
+ CONSTRAINT_ARMATURE_CUR_LOCATION = (1<<2), /* use current bone location */
+} eArmature_Flags;
+
/* MinMax (floor) flags */
typedef enum eFloor_Flags {
MINMAX_STICKY = (1<<0),