BLI_math rename functions:
- mult_m4_m4m4 -> mul_m4_m4m4 - mult_m3_m3m4 -> mul_m3_m3m4 these temporary names were used to avoid problems when argument order was switched.
This commit is contained in:
@@ -198,7 +198,7 @@ static void make_dmats(bPoseChannel *pchan)
|
||||
if (pchan->parent) {
|
||||
float iR_parmat[4][4];
|
||||
invert_m4_m4(iR_parmat, pchan->parent->pose_mat);
|
||||
mult_m4_m4m4(pchan->chan_mat, iR_parmat, pchan->pose_mat); // delta mat
|
||||
mul_m4_m4m4(pchan->chan_mat, iR_parmat, pchan->pose_mat); // delta mat
|
||||
}
|
||||
else {
|
||||
copy_m4_m4(pchan->chan_mat, pchan->pose_mat);
|
||||
@@ -217,7 +217,7 @@ static void where_is_ik_bone(bPoseChannel *pchan, float ik_mat[3][3]) // nr =
|
||||
if (pchan->parent)
|
||||
mul_serie_m4(pchan->pose_mat, pchan->parent->pose_mat, pchan->chan_mat, ikmat, NULL, NULL, NULL, NULL, NULL);
|
||||
else
|
||||
mult_m4_m4m4(pchan->pose_mat, pchan->chan_mat, ikmat);
|
||||
mul_m4_m4m4(pchan->pose_mat, pchan->chan_mat, ikmat);
|
||||
|
||||
/* calculate head */
|
||||
copy_v3_v3(pchan->pose_head, pchan->pose_mat[3]);
|
||||
@@ -362,7 +362,7 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree)
|
||||
unit_m4(rootmat);
|
||||
copy_v3_v3(rootmat[3], pchan->pose_head);
|
||||
|
||||
mult_m4_m4m4(imat, ob->obmat, rootmat);
|
||||
mul_m4_m4m4(imat, ob->obmat, rootmat);
|
||||
invert_m4_m4(goalinv, imat);
|
||||
|
||||
for (target = tree->targets.first; target; target = target->next) {
|
||||
@@ -377,7 +377,7 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree)
|
||||
BKE_get_constraint_target_matrix(scene, target->con, 0, CONSTRAINT_OBTYPE_OBJECT, ob, rootmat, 1.0);
|
||||
|
||||
/* and set and transform goal */
|
||||
mult_m4_m4m4(goal, goalinv, rootmat);
|
||||
mul_m4_m4m4(goal, goalinv, rootmat);
|
||||
|
||||
copy_v3_v3(goalpos, goal[3]);
|
||||
copy_m3_m4(goalrot, goal);
|
||||
@@ -392,7 +392,7 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree)
|
||||
break;
|
||||
}
|
||||
else {
|
||||
mult_m4_m4m4(goal, goalinv, rootmat);
|
||||
mul_m4_m4m4(goal, goalinv, rootmat);
|
||||
copy_v3_v3(polepos, goal[3]);
|
||||
poleconstrain = 1;
|
||||
|
||||
|
@@ -569,7 +569,7 @@ static bool target_callback(const iTaSC::Timestamp& timestamp, const iTaSC::Fram
|
||||
mul_serie_m4(restmat, target->owner->obmat, chanmat, target->eeRest, NULL, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
else {
|
||||
mult_m4_m4m4(restmat, target->owner->obmat, target->eeRest);
|
||||
mul_m4_m4m4(restmat, target->owner->obmat, target->eeRest);
|
||||
}
|
||||
// blend the target
|
||||
blend_m4_m4m4(tarmat, restmat, tarmat, constraint->enforce);
|
||||
@@ -597,7 +597,7 @@ static bool base_callback(const iTaSC::Timestamp& timestamp, const iTaSC::Frame&
|
||||
ikscene->baseFrame.setValue(&chanmat[0][0]);
|
||||
// iTaSC armature is scaled to object scale, scale the base frame too
|
||||
ikscene->baseFrame.p *= ikscene->blScale;
|
||||
mult_m4_m4m4(rootmat, ikscene->blArmature->obmat, chanmat);
|
||||
mul_m4_m4m4(rootmat, ikscene->blArmature->obmat, chanmat);
|
||||
}
|
||||
else {
|
||||
copy_m4_m4(rootmat, ikscene->blArmature->obmat);
|
||||
@@ -622,11 +622,11 @@ static bool base_callback(const iTaSC::Timestamp& timestamp, const iTaSC::Frame&
|
||||
// get polar target matrix in world space
|
||||
BKE_get_constraint_target_matrix(ikscene->blscene, ikscene->polarConstraint, 1, CONSTRAINT_OBTYPE_OBJECT, ikscene->blArmature, mat, 1.0);
|
||||
// convert to armature space
|
||||
mult_m4_m4m4(polemat, imat, mat);
|
||||
mul_m4_m4m4(polemat, imat, mat);
|
||||
// get the target in world space (was computed before as target object are defined before base object)
|
||||
iktarget->target->getPose().getValue(mat[0]);
|
||||
// convert to armature space
|
||||
mult_m4_m4m4(goalmat, imat, mat);
|
||||
mul_m4_m4m4(goalmat, imat, mat);
|
||||
// take position of target, polar target, end effector, in armature space
|
||||
KDL::Vector goalpos(goalmat[3]);
|
||||
KDL::Vector polepos(polemat[3]);
|
||||
@@ -1017,7 +1017,7 @@ static void convert_pose(IK_Scene *ikscene)
|
||||
copy_m4_m4(bmat, bone->arm_mat);
|
||||
}
|
||||
invert_m4_m4(rmat, bmat);
|
||||
mult_m4_m4m4(bmat, rmat, pchan->pose_mat);
|
||||
mul_m4_m4m4(bmat, rmat, pchan->pose_mat);
|
||||
normalize_m4(bmat);
|
||||
boneRot.setValue(bmat[0]);
|
||||
GetJointRotation(boneRot, ikchan->jointType, rot);
|
||||
@@ -1456,7 +1456,7 @@ static IK_Scene *convert_tree(Scene *blscene, Object *ob, bPoseChannel *pchan, f
|
||||
copy_m4_m4(mat, pchan->bone->arm_mat);
|
||||
copy_v3_v3(mat[3], pchan->bone->arm_tail);
|
||||
// get the rest pose relative to the armature base
|
||||
mult_m4_m4m4(iktarget->eeRest, invBaseFrame, mat);
|
||||
mul_m4_m4m4(iktarget->eeRest, invBaseFrame, mat);
|
||||
iktarget->eeBlend = (!ikscene->polarConstraint && condata->type == CONSTRAINT_IK_COPYPOSE) ? true : false;
|
||||
// use target_callback to make sure the initPose includes enforce coefficient
|
||||
target_callback(iTaSC::Timestamp(), iTaSC::F_identity, initPose, iktarget);
|
||||
|
Reference in New Issue
Block a user