forked from bartvdbraak/blender
Math Lib: rename mul_serie_m3 to mul_m3_series & reorder args
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
This commit is contained in:
parent
1fdaf5862f
commit
8489b94e07
@ -574,7 +574,7 @@ void b_bone_spline_setup(bPoseChannel *pchan, int rest, Mat4 result_array[MAX_BB
|
||||
|
||||
if (do_scale) {
|
||||
/* correct for scaling when this matrix is used in scaled space */
|
||||
mul_serie_m4(result_array[a].mat, iscalemat, result_array[a].mat, scalemat);
|
||||
mul_m4_series(result_array[a].mat, iscalemat, result_array[a].mat, scalemat);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -622,7 +622,7 @@ static void pchan_b_bone_defmats(bPoseChannel *pchan, bPoseChanDeform *pdef_info
|
||||
|
||||
invert_m4_m4(tmat, b_bone_rest[a].mat);
|
||||
|
||||
mul_serie_m4(b_bone_mats[a + 1].mat, pchan->chan_mat, bone->arm_mat, b_bone[a].mat, tmat, b_bone_mats[0].mat);
|
||||
mul_m4_series(b_bone_mats[a + 1].mat, pchan->chan_mat, bone->arm_mat, b_bone[a].mat, tmat, b_bone_mats[0].mat);
|
||||
|
||||
if (use_quaternion)
|
||||
mat4_to_dquat(&b_bone_dual_quats[a], bone->arm_mat, b_bone_mats[a + 1].mat);
|
||||
@ -1041,7 +1041,7 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm, float
|
||||
if (!use_quaternion) /* quaternion already is scale corrected */
|
||||
mul_m3_fl(smat, armature_weight / contrib);
|
||||
|
||||
mul_serie_m3(defMats[i], tmpmat, pre, smat, post);
|
||||
mul_m3_series(defMats[i], post, smat, pre, tmpmat);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3909,7 +3909,7 @@ static void followtrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase
|
||||
BKE_tracking_camera_get_reconstructed_interpolate(tracking, tracking_object, framenr, imat);
|
||||
invert_m4(imat);
|
||||
|
||||
mul_serie_m4(cob->matrix, obmat, mat, imat);
|
||||
mul_m4_series(cob->matrix, obmat, mat, imat);
|
||||
translate_m4(cob->matrix, track->bundle_pos[0], track->bundle_pos[1], track->bundle_pos[2]);
|
||||
}
|
||||
else {
|
||||
@ -4187,7 +4187,7 @@ static void objectsolver_evaluate(bConstraint *con, bConstraintOb *cob, ListBase
|
||||
|
||||
invert_m4_m4(imat, mat);
|
||||
|
||||
mul_serie_m4(cob->matrix, cammat, imat, camimat, parmat, obmat);
|
||||
mul_m4_series(cob->matrix, cammat, imat, camimat, parmat, obmat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1212,7 +1212,7 @@ void BKE_mask_point_parent_matrix_get(MaskSplinePoint *point, float ctime, float
|
||||
}
|
||||
|
||||
invert_m3_m3(mask_to_clip_matrix, mask_from_clip_matrix);
|
||||
mul_serie_m3(parent_matrix, mask_to_clip_matrix, H, mask_from_clip_matrix);
|
||||
mul_m3_series(parent_matrix, mask_from_clip_matrix, H, mask_to_clip_matrix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -145,12 +145,12 @@ void init_tex_mapping(TexMapping *texmap)
|
||||
if (texmap->type == TEXMAP_TYPE_TEXTURE) {
|
||||
/* to transform a texture, the inverse transform needs
|
||||
* to be applied to the texture coordinate */
|
||||
mul_serie_m4(texmap->mat, tmat, rmat, smat);
|
||||
mul_m4_series(texmap->mat, tmat, rmat, smat);
|
||||
invert_m4(texmap->mat);
|
||||
}
|
||||
else if (texmap->type == TEXMAP_TYPE_POINT) {
|
||||
/* forward transform */
|
||||
mul_serie_m4(texmap->mat, tmat, rmat, smat);
|
||||
mul_m4_series(texmap->mat, tmat, rmat, smat);
|
||||
}
|
||||
else if (texmap->type == TEXMAP_TYPE_VECTOR) {
|
||||
/* no translation for vectors */
|
||||
|
@ -439,6 +439,6 @@ void BKE_tracking_stabilization_data_to_mat4(int width, int height, float aspect
|
||||
rotate_m4(rotation_mat, 'Z', angle); /* rotation matrix */
|
||||
|
||||
/* compose transformation matrix */
|
||||
mul_serie_m4(mat, translation_mat, center_mat, aspect_mat, rotation_mat, inv_aspect_mat,
|
||||
mul_m4_series(mat, translation_mat, center_mat, aspect_mat, rotation_mat, inv_aspect_mat,
|
||||
scale_mat, inv_center_mat);
|
||||
}
|
||||
|
@ -69,33 +69,33 @@ void mul_m4_m4m3(float R[4][4], float A[4][4], float B[3][3]);
|
||||
void mul_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
|
||||
void mul_m3_m3m4(float R[3][3], float A[4][4], float B[3][3]);
|
||||
|
||||
/* mul_serie_m3 */
|
||||
void _va_mul_serie_m3_3(float R[3][3], float M1[3][3], float M2[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_4(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_5(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_6(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_7(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_8(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3], float M7[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m3_9(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3], float M7[3][3], float M8[3][3]) ATTR_NONNULL();
|
||||
/* mul_serie_m4 */
|
||||
void _va_mul_serie_m4_3(float R[4][4], float M1[4][4], float M2[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_4(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_5(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_6(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
/* mul_m3_series */
|
||||
void _va_mul_m3_series_3(float R[3][3], float M1[3][3], float M2[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_4(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_5(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_6(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_7(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_8(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3], float M7[3][3]) ATTR_NONNULL();
|
||||
void _va_mul_m3_series_9(float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3],
|
||||
float M5[3][3], float M6[3][3], float M7[3][3], float M8[3][3]) ATTR_NONNULL();
|
||||
/* mul_m4_series */
|
||||
void _va_mul_m4_series_3(float R[4][4], float M1[4][4], float M2[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_4(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_5(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_6(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_7(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_8(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4], float M7[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_serie_m4_9(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4], float M7[4][4], float M8[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_7(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_8(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4], float M7[4][4]) ATTR_NONNULL();
|
||||
void _va_mul_m4_series_9(float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4],
|
||||
float M5[4][4], float M6[4][4], float M7[4][4], float M8[4][4]) ATTR_NONNULL();
|
||||
|
||||
#define mul_serie_m3(...) VA_NARGS_CALL_OVERLOAD(_va_mul_serie_m3_, __VA_ARGS__)
|
||||
#define mul_serie_m4(...) VA_NARGS_CALL_OVERLOAD(_va_mul_serie_m4_, __VA_ARGS__)
|
||||
#define mul_m3_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m3_series_, __VA_ARGS__)
|
||||
#define mul_m4_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m4_series_, __VA_ARGS__)
|
||||
|
||||
void mul_m4_v3(float M[4][4], float r[3]);
|
||||
void mul_v3_m4v3(float r[3], float M[4][4], const float v[3]);
|
||||
|
@ -275,93 +275,93 @@ void mul_m4_m3m4(float m1[4][4], float m3_[3][3], float m2_[4][4])
|
||||
}
|
||||
|
||||
|
||||
/** \name Macro helpers for: mul_serie_m3
|
||||
/** \name Macro helpers for: mul_m3_series
|
||||
* \{ */
|
||||
void _va_mul_serie_m3_3(
|
||||
void _va_mul_m3_series_3(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
}
|
||||
void _va_mul_serie_m3_4(
|
||||
void _va_mul_m3_series_4(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
}
|
||||
void _va_mul_serie_m3_5(
|
||||
void _va_mul_m3_series_5(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3], float m4[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m4, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
mul_m3_m3m3(r, r, m4);
|
||||
}
|
||||
void _va_mul_serie_m3_6(
|
||||
void _va_mul_m3_series_6(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3], float m4[3][3],
|
||||
float m5[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m4, r);
|
||||
mul_m3_m3m3(r, m5, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
mul_m3_m3m3(r, r, m4);
|
||||
mul_m3_m3m3(r, r, m5);
|
||||
}
|
||||
void _va_mul_serie_m3_7(
|
||||
void _va_mul_m3_series_7(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3], float m4[3][3],
|
||||
float m5[3][3], float m6[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m4, r);
|
||||
mul_m3_m3m3(r, m5, r);
|
||||
mul_m3_m3m3(r, m6, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
mul_m3_m3m3(r, r, m4);
|
||||
mul_m3_m3m3(r, r, m5);
|
||||
mul_m3_m3m3(r, r, m6);
|
||||
}
|
||||
void _va_mul_serie_m3_8(
|
||||
void _va_mul_m3_series_8(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3], float m4[3][3],
|
||||
float m5[3][3], float m6[3][3], float m7[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m4, r);
|
||||
mul_m3_m3m3(r, m5, r);
|
||||
mul_m3_m3m3(r, m6, r);
|
||||
mul_m3_m3m3(r, m7, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
mul_m3_m3m3(r, r, m4);
|
||||
mul_m3_m3m3(r, r, m5);
|
||||
mul_m3_m3m3(r, r, m6);
|
||||
mul_m3_m3m3(r, r, m7);
|
||||
}
|
||||
void _va_mul_serie_m3_9(
|
||||
void _va_mul_m3_series_9(
|
||||
float r[3][3],
|
||||
float m1[3][3], float m2[3][3], float m3[3][3], float m4[3][3],
|
||||
float m5[3][3], float m6[3][3], float m7[3][3], float m8[3][3])
|
||||
{
|
||||
mul_m3_m3m3(r, m2, m1);
|
||||
mul_m3_m3m3(r, m3, r);
|
||||
mul_m3_m3m3(r, m4, r);
|
||||
mul_m3_m3m3(r, m5, r);
|
||||
mul_m3_m3m3(r, m6, r);
|
||||
mul_m3_m3m3(r, m7, r);
|
||||
mul_m3_m3m3(r, m8, r);
|
||||
mul_m3_m3m3(r, m1, m2);
|
||||
mul_m3_m3m3(r, r, m3);
|
||||
mul_m3_m3m3(r, r, m4);
|
||||
mul_m3_m3m3(r, r, m5);
|
||||
mul_m3_m3m3(r, r, m6);
|
||||
mul_m3_m3m3(r, r, m7);
|
||||
mul_m3_m3m3(r, r, m8);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
/** \name Macro helpers for: mul_serie_m4
|
||||
/** \name Macro helpers for: mul_m4_series
|
||||
* \{ */
|
||||
void _va_mul_serie_m4_3(
|
||||
void _va_mul_m4_series_3(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4])
|
||||
{
|
||||
mul_m4_m4m4(r, m1, m2);
|
||||
}
|
||||
void _va_mul_serie_m4_4(
|
||||
void _va_mul_m4_series_4(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4])
|
||||
{
|
||||
mul_m4_m4m4(r, m1, m2);
|
||||
mul_m4_m4m4(r, r, m3);
|
||||
}
|
||||
void _va_mul_serie_m4_5(
|
||||
void _va_mul_m4_series_5(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4], float m4[4][4])
|
||||
{
|
||||
@ -369,7 +369,7 @@ void _va_mul_serie_m4_5(
|
||||
mul_m4_m4m4(r, r, m3);
|
||||
mul_m4_m4m4(r, r, m4);
|
||||
}
|
||||
void _va_mul_serie_m4_6(
|
||||
void _va_mul_m4_series_6(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4], float m4[4][4],
|
||||
float m5[4][4])
|
||||
@ -379,7 +379,7 @@ void _va_mul_serie_m4_6(
|
||||
mul_m4_m4m4(r, r, m4);
|
||||
mul_m4_m4m4(r, r, m5);
|
||||
}
|
||||
void _va_mul_serie_m4_7(
|
||||
void _va_mul_m4_series_7(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4], float m4[4][4],
|
||||
float m5[4][4], float m6[4][4])
|
||||
@ -390,7 +390,7 @@ void _va_mul_serie_m4_7(
|
||||
mul_m4_m4m4(r, r, m5);
|
||||
mul_m4_m4m4(r, r, m6);
|
||||
}
|
||||
void _va_mul_serie_m4_8(
|
||||
void _va_mul_m4_series_8(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4], float m4[4][4],
|
||||
float m5[4][4], float m6[4][4], float m7[4][4])
|
||||
@ -402,7 +402,7 @@ void _va_mul_serie_m4_8(
|
||||
mul_m4_m4m4(r, r, m6);
|
||||
mul_m4_m4m4(r, r, m7);
|
||||
}
|
||||
void _va_mul_serie_m4_9(
|
||||
void _va_mul_m4_series_9(
|
||||
float r[4][4],
|
||||
float m1[4][4], float m2[4][4], float m3[4][4], float m4[4][4],
|
||||
float m5[4][4], float m6[4][4], float m7[4][4], float m8[4][4])
|
||||
@ -2192,7 +2192,7 @@ void pseudoinverse_m4_m4(float Ainv[4][4], float A[4][4], float epsilon)
|
||||
|
||||
transpose_m4(V);
|
||||
|
||||
mul_serie_m4(Ainv, U, Wm, V);
|
||||
mul_m4_series(Ainv, U, Wm, V);
|
||||
}
|
||||
|
||||
void pseudoinverse_m3_m3(float Ainv[3][3], float A[3][3], float epsilon)
|
||||
|
@ -1606,7 +1606,7 @@ void mat4_to_dquat(DualQuat *dq, float basemat[4][4], float mat[4][4])
|
||||
mul_m4_m4m4(S, baseRinv, baseRS);
|
||||
|
||||
/* set scaling part */
|
||||
mul_serie_m4(dq->scale, basemat, S, baseinv);
|
||||
mul_m4_series(dq->scale, basemat, S, baseinv);
|
||||
dq->scale_weight = 1.0f;
|
||||
}
|
||||
else {
|
||||
|
@ -63,7 +63,7 @@ void bmo_transform_exec(BMesh *UNUSED(bm), BMOperator *op)
|
||||
|
||||
if (!is_zero_m4(mat_space)) {
|
||||
invert_m4_m4(imat_space, mat_space);
|
||||
mul_serie_m4(mat, imat_space, mat, mat_space);
|
||||
mul_m4_series(mat, imat_space, mat, mat_space);
|
||||
}
|
||||
|
||||
BMO_ITER (v, &iter, op->slots_in, "verts", BM_VERT) {
|
||||
|
@ -804,7 +804,7 @@ void AnimationImporter::apply_matrix_curves(Object *ob, std::vector<FCurve *>& a
|
||||
// evaluate_joint_world_transform_at_frame(temp, NULL, node, fra);
|
||||
|
||||
// calc special matrix
|
||||
mul_serie_m4(mat, irest, temp, irest_dae, rest);
|
||||
mul_m4_series(mat, irest, temp, irest_dae, rest);
|
||||
}
|
||||
else {
|
||||
copy_m4_m4(mat, matfra);
|
||||
@ -1210,7 +1210,7 @@ void AnimationImporter::add_bone_animation_sampled(Object *ob, std::vector<FCurv
|
||||
// evaluate_joint_world_transform_at_frame(temp, NULL, node, fra);
|
||||
|
||||
// calc special matrix
|
||||
mul_serie_m4(mat, irest, temp, irest_dae, rest);
|
||||
mul_m4_series(mat, irest, temp, irest_dae, rest);
|
||||
|
||||
float rot[4], loc[3], scale[3];
|
||||
|
||||
@ -1545,7 +1545,7 @@ Object *AnimationImporter::translate_animation_OLD(COLLADAFW::Node *node,
|
||||
// evaluate_joint_world_transform_at_frame(temp, NULL, node, fra);
|
||||
|
||||
// calc special matrix
|
||||
mul_serie_m4(mat, irest, temp, irest_dae, rest);
|
||||
mul_m4_series(mat, irest, temp, irest_dae, rest);
|
||||
}
|
||||
else {
|
||||
copy_m4_m4(mat, matfra);
|
||||
|
@ -77,7 +77,7 @@ void TransformWriter::add_node_transform_ob(COLLADASW::Node& node, Object *ob, B
|
||||
BKE_object_to_mat4(ob, C);
|
||||
copy_v3_v3(ob->size, scale);
|
||||
|
||||
mul_serie_m4(tmat, ob->parent->obmat, ob->parentinv, C);
|
||||
mul_m4_series(tmat, ob->parent->obmat, ob->parentinv, C);
|
||||
|
||||
// calculate local mat
|
||||
|
||||
|
@ -528,7 +528,7 @@ static int add_hook_object(Main *bmain, Scene *scene, Object *obedit, Object *ob
|
||||
|
||||
invert_m4_m4(ob->imat, ob->obmat);
|
||||
/* apparently this call goes from right to left... */
|
||||
mul_serie_m4(hmd->parentinv, pose_mat, ob->imat, obedit->obmat);
|
||||
mul_m4_series(hmd->parentinv, pose_mat, ob->imat, obedit->obmat);
|
||||
|
||||
DAG_relations_tag_update(bmain);
|
||||
|
||||
|
@ -1728,7 +1728,7 @@ void clip_draw_main(const bContext *C, SpaceClip *sc, ARegion *ar)
|
||||
smat[1][1] = 1.0f / height;
|
||||
invert_m4_m4(ismat, smat);
|
||||
|
||||
mul_serie_m4(sc->unistabmat, smat, sc->stabmat, ismat);
|
||||
mul_m4_series(sc->unistabmat, smat, sc->stabmat, ismat);
|
||||
}
|
||||
}
|
||||
else if ((sc->flag & SC_MUTE_FOOTAGE) == 0) {
|
||||
|
@ -2277,7 +2277,7 @@ static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingOb
|
||||
copy_v3_v3(lmat[3], obmat[3]);
|
||||
invert_m4_m4(ilmat, lmat);
|
||||
|
||||
mul_serie_m4(mat, lmat, mat, ilmat, obmat);
|
||||
mul_m4_series(mat, lmat, mat, ilmat, obmat);
|
||||
}
|
||||
else {
|
||||
mul_m4_m4m4(mat, obmat, mat);
|
||||
|
@ -3627,7 +3627,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
|
||||
|
||||
|
||||
if (td->flag & TD_USEQUAT) {
|
||||
mul_serie_m3(fmat, td->mtx, mat, td->smtx);
|
||||
mul_m3_series(fmat, td->smtx, mat, td->mtx);
|
||||
mat3_to_quat(quat, fmat); // Actual transform
|
||||
|
||||
if (td->ext->quat) {
|
||||
@ -3697,7 +3697,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
|
||||
if ((t->flag & T_V3D_ALIGN) == 0) { /* align mode doesn't rotate objects itself */
|
||||
/* euler or quaternion/axis-angle? */
|
||||
if (td->ext->rotOrder == ROT_MODE_QUAT) {
|
||||
mul_serie_m3(fmat, td->ext->r_mtx, mat, td->ext->r_smtx);
|
||||
mul_m3_series(fmat, td->ext->r_smtx, mat, td->ext->r_mtx);
|
||||
|
||||
mat3_to_quat(quat, fmat); /* Actual transform */
|
||||
|
||||
@ -3712,7 +3712,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
|
||||
|
||||
axis_angle_to_quat(iquat, td->ext->irotAxis, td->ext->irotAngle);
|
||||
|
||||
mul_serie_m3(fmat, td->ext->r_mtx, mat, td->ext->r_smtx);
|
||||
mul_m3_series(fmat, td->ext->r_smtx, mat, td->ext->r_mtx);
|
||||
mat3_to_quat(quat, fmat); /* Actual transform */
|
||||
mul_qt_qtqt(tquat, quat, iquat);
|
||||
|
||||
@ -3769,7 +3769,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
|
||||
if ((td->ext->rotOrder == ROT_MODE_QUAT) || (td->flag & TD_USEQUAT)) {
|
||||
/* can be called for texture space translate for example, then opt out */
|
||||
if (td->ext->quat) {
|
||||
mul_serie_m3(fmat, td->mtx, mat, td->smtx);
|
||||
mul_m3_series(fmat, td->smtx, mat, td->mtx);
|
||||
mat3_to_quat(quat, fmat); // Actual transform
|
||||
|
||||
mul_qt_qtqt(td->ext->quat, quat, td->ext->iquat);
|
||||
@ -3783,7 +3783,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
|
||||
|
||||
axis_angle_to_quat(iquat, td->ext->irotAxis, td->ext->irotAngle);
|
||||
|
||||
mul_serie_m3(fmat, td->mtx, mat, td->smtx);
|
||||
mul_m3_series(fmat, td->smtx, mat, td->mtx);
|
||||
mat3_to_quat(quat, fmat); // Actual transform
|
||||
mul_qt_qtqt(tquat, quat, iquat);
|
||||
|
||||
|
@ -584,12 +584,12 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr
|
||||
if (constraints_list_needinv(t, &pchan->constraints)) {
|
||||
copy_m3_m4(tmat, pchan->constinv);
|
||||
invert_m3_m3(cmat, tmat);
|
||||
mul_serie_m3(td->mtx, pmat, omat, cmat);
|
||||
mul_serie_m3(td->ext->r_mtx, rpmat, omat, cmat);
|
||||
mul_m3_series(td->mtx, cmat, omat, pmat);
|
||||
mul_m3_series(td->ext->r_mtx, cmat, omat, rpmat);
|
||||
}
|
||||
else {
|
||||
mul_serie_m3(td->mtx, pmat, omat);
|
||||
mul_serie_m3(td->ext->r_mtx, rpmat, omat);
|
||||
mul_m3_series(td->mtx, omat, pmat);
|
||||
mul_m3_series(td->ext->r_mtx, omat, rpmat);
|
||||
}
|
||||
invert_m3_m3(td->ext->r_smtx, td->ext->r_mtx);
|
||||
}
|
||||
@ -2368,7 +2368,7 @@ static void createTransEditVerts(TransInfo *t)
|
||||
quat_to_mat3(qmat, quats[BM_elem_index_get(eve)]);
|
||||
|
||||
if (defmats)
|
||||
mul_serie_m3(mat, mtx, qmat, defmats[a]);
|
||||
mul_m3_series(mat, defmats[a], qmat, mtx);
|
||||
else
|
||||
mul_m3_m3m3(mat, mtx, qmat);
|
||||
}
|
||||
|
@ -938,7 +938,7 @@ static void uv_map_rotation_matrix(float result[4][4], RegionView3D *rv3d, Objec
|
||||
rotup[0][0] = 1.0f / radius;
|
||||
|
||||
/* calculate transforms*/
|
||||
mul_serie_m4(result, rotup, rotside, viewmatrix, rotobj);
|
||||
mul_m4_series(result, rotup, rotside, viewmatrix, rotobj);
|
||||
}
|
||||
|
||||
static void uv_map_transform(bContext *C, wmOperator *op, float center[3], float rotmat[4][4])
|
||||
|
@ -215,7 +215,7 @@ static void where_is_ik_bone(bPoseChannel *pchan, float ik_mat[3][3]) // nr =
|
||||
copy_m4_m3(ikmat, ik_mat);
|
||||
|
||||
if (pchan->parent)
|
||||
mul_serie_m4(pchan->pose_mat, pchan->parent->pose_mat, pchan->chan_mat, ikmat);
|
||||
mul_m4_series(pchan->pose_mat, pchan->parent->pose_mat, pchan->chan_mat, ikmat);
|
||||
else
|
||||
mul_m4_m4m4(pchan->pose_mat, pchan->chan_mat, ikmat);
|
||||
|
||||
@ -420,7 +420,7 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree)
|
||||
/* end effector in world space */
|
||||
copy_m4_m4(end_pose, pchan->pose_mat);
|
||||
copy_v3_v3(end_pose[3], pchan->pose_tail);
|
||||
mul_serie_m4(world_pose, goalinv, ob->obmat, end_pose);
|
||||
mul_m4_series(world_pose, goalinv, ob->obmat, end_pose);
|
||||
|
||||
/* blend position */
|
||||
goalpos[0] = fac * goalpos[0] + mfac * world_pose[3][0];
|
||||
|
@ -566,7 +566,7 @@ static bool target_callback(const iTaSC::Timestamp& timestamp, const iTaSC::Fram
|
||||
float chanmat[4][4];
|
||||
copy_m4_m4(chanmat, pchan->pose_mat);
|
||||
copy_v3_v3(chanmat[3], pchan->pose_tail);
|
||||
mul_serie_m4(restmat, target->owner->obmat, chanmat, target->eeRest);
|
||||
mul_m4_series(restmat, target->owner->obmat, chanmat, target->eeRest);
|
||||
}
|
||||
else {
|
||||
mul_m4_m4m4(restmat, target->owner->obmat, target->eeRest);
|
||||
|
@ -370,7 +370,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
|
||||
else
|
||||
unit_m4(obinv);
|
||||
|
||||
mul_serie_m4(result_mat, offset,
|
||||
mul_m4_series(result_mat, offset,
|
||||
obinv, amd->offset_ob->obmat);
|
||||
copy_m4_m4(offset, result_mat);
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ static void deformVerts_do(HookModifierData *hmd, Object *ob, DerivedMesh *dm,
|
||||
copy_m4_m4(dmat, hmd->object->obmat);
|
||||
}
|
||||
invert_m4_m4(ob->imat, ob->obmat);
|
||||
mul_serie_m4(mat, ob->imat, dmat, hmd->parentinv);
|
||||
mul_m4_series(mat, ob->imat, dmat, hmd->parentinv);
|
||||
|
||||
modifier_get_vgroup(ob, dm, hmd->name, &dvert, &defgrp_index);
|
||||
max_dvert = (dvert) ? numVerts : 0;
|
||||
|
@ -4546,7 +4546,7 @@ static void set_dupli_tex_mat(Render *re, ObjectInstanceRen *obi, DupliObject *d
|
||||
|
||||
obi->duplitexmat= BLI_memarena_alloc(re->memArena, sizeof(float)*4*4);
|
||||
invert_m4_m4(imat, dob->mat);
|
||||
mul_serie_m4(obi->duplitexmat, re->viewmat, omat, imat, re->viewinv);
|
||||
mul_m4_series(obi->duplitexmat, re->viewmat, omat, imat, re->viewinv);
|
||||
}
|
||||
|
||||
copy_v3_v3(obi->dupliorco, dob->orco);
|
||||
|
Loading…
Reference in New Issue
Block a user