2.5 - More animation/rigging bugfixes

* #19419: PoseLib rename/remove tools could crash when an invalid 
(However, now care is needed when touching that index field, since the warnings can keep piling up)

* Added Browse Poses for PoseLib to the toolbar

* Removing constraints from bones now properly updates. A DAG rebuild is now forced, and the constraint flags are cleared.

* Attempting to improve the situation with Copy Rotation constraint and rotation orders other than xyz. Unforunately, it looks like a different method is required...
This commit is contained in:
2009-09-20 11:21:44 +00:00
parent 2c871f722d
commit ad25fc829e
4 changed files with 27 additions and 9 deletions

View File

@@ -685,9 +685,17 @@ static void default_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstrain
ct->flag= CONSTRAINT_TAR_TEMP; \
\
if (ct->tar) { \
if ((ct->tar->type==OB_ARMATURE) && (ct->subtarget[0])) ct->type = CONSTRAINT_OBTYPE_BONE; \
else if (ELEM(ct->tar->type, OB_MESH, OB_LATTICE) && (ct->subtarget[0])) ct->type = CONSTRAINT_OBTYPE_VERT; \
else ct->type = CONSTRAINT_OBTYPE_OBJECT; \
if ((ct->tar->type==OB_ARMATURE) && (ct->subtarget[0])) { \
bPoseChannel *pchan= get_pose_channel(ct->tar->pose, ct->subtarget); \
ct->type = CONSTRAINT_OBTYPE_BONE; \
ct->rotOrder= pchan->rotmode; \
}\
else if (ELEM(ct->tar->type, OB_MESH, OB_LATTICE) && (ct->subtarget[0])) { \
ct->type = CONSTRAINT_OBTYPE_VERT; \
} \
else {\
ct->type = CONSTRAINT_OBTYPE_OBJECT; \
} \
} \
\
BLI_addtail(list, ct); \