From 06d5d53a240cf98aee52a45317ac2f979be7e58a Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Thu, 5 Nov 2009 10:09:45 +0000 Subject: Bugfixes + Spline IK Tweaks: * #19819: 'Select' operator for Hooks was crashing when Hooks didn't have any vertices assigned yet * Default twist resolution mode for curves is now 'Minimise'. This seems to work better for Curve Deforms and other purposes. Can be changed if other ways are better after some more testing. * Spline IK now has more options for controlling how the x and z axis scaling is determined. There is now a choice between using the radius of the curve, the x+z scaling from the bones, or no scaling (default). This does break old files a bit, but this is to have a more stable base for later. --- source/blender/makesdna/DNA_constraint_types.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'source/blender/makesdna/DNA_constraint_types.h') diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index f5a08764c42..2b24b673185 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -169,7 +169,7 @@ typedef struct bSplineIKConstraint { /* settings */ short flag; /* general settings for constraint */ - short upflag; /* axis of bone that points up */ + short xzScaleMode; /* method used for determining the x & z scaling of the bones */ } bSplineIKConstraint; @@ -551,10 +551,16 @@ typedef enum B_CONSTRAINTCHANNEL_FLAG { #define CONSTRAINT_SPLINEIK_NO_ROOT (1<<1) /* bones in the chain should not scale to fit the curve */ #define CONSTRAINT_SPLINEIK_SCALE_LIMITED (1<<2) - /* bones in the chain should take their x/z scales from the curve radius */ -#define CONSTRAINT_SPLINEIK_RAD2FAT (1<<3) /* evenly distribute the bones along the path regardless of length */ -#define CONSTRAINT_SPLINEIK_EVENSPLITS (1<<4) +#define CONSTRAINT_SPLINEIK_EVENSPLITS (1<<3) + +/* bSplineIKConstraint->xzScaleMode */ + /* no x/z scaling */ +#define CONSTRAINT_SPLINEIK_XZS_NONE 0 + /* bones in the chain should take their x/z scales from the curve radius */ +#define CONSTRAINT_SPLINEIK_XZS_RADIUS 1 + /* bones in the chain should take their x/z scales from the original scaling */ +#define CONSTRAINT_SPLINEIK_XZS_ORIGINAL 2 /* MinMax (floor) flags */ #define MINMAX_STICKY 0x01 -- cgit v1.2.3