[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46069] trunk/blender/source/blender: Pose armature cleanup: remove old commented code replaced by use of new generic pchan_to_pose_mat ().

Bastien Montagne montagne29 at wanadoo.fr
Sun Apr 29 15:19:00 CEST 2012


Revision: 46069
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46069
Author:   mont29
Date:     2012-04-29 13:18:59 +0000 (Sun, 29 Apr 2012)
Log Message:
-----------
Pose armature cleanup: remove old commented code replaced by use of new generic pchan_to_pose_mat().

After two months, think we can get rid of it, it?\226?\128?\153s in svn anyway if we ever need it!

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/editors/transform/transform_conversions.c

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2012-04-29 13:00:00 UTC (rev 46068)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2012-04-29 13:18:59 UTC (rev 46069)
@@ -1208,9 +1208,8 @@
 		else
 			mult_m4_m4m4(rotscale_mat, parchan->pose_mat, offs_bone);
 
-# if 1
 		/* Compose the loc matrix for this bone. */
-		/* NOTE: That version deos not modify bone's loc when HINGE/NO_SCALE options are set. */
+		/* NOTE: That version does not modify bone's loc when HINGE/NO_SCALE options are set. */
 
 		/* In this case, use the object's space *orientation*. */
 		if (bone->flag & BONE_NO_LOCAL_LOCATION) {
@@ -1236,58 +1235,6 @@
 		/* Else (i.e. default, usual case), just use the same matrix for rotation/scaling, and location. */
 		else
 			copy_m4_m4(loc_mat, rotscale_mat);
-# endif
-# if 0
-		/* Compose the loc matrix for this bone. */
-		/* NOTE: That version modifies bone's loc when HINGE/NO_SCALE options are set. */
-
-		/* In these cases we need to compute location separately */
-		if (bone->flag & (BONE_HINGE|BONE_NO_SCALE|BONE_NO_LOCAL_LOCATION)) {
-			float bone_loc[4][4], bone_rotscale[3][3], tmat4[4][4], tmat3[3][3];
-			unit_m4(bone_loc);
-			unit_m4(loc_mat);
-			unit_m4(tmat4);
-
-			mul_v3_m4v3(bone_loc[3], parchan->pose_mat, offs_bone[3]);
-
-			/* "No local location" is not transformed by bone matrix. */
-			/* This only affects orientations (rotations), as scale is always 1.0 here. */
-			if (bone->flag & BONE_NO_LOCAL_LOCATION)
-				unit_m3(bone_rotscale);
-			else
-				/* We could also use bone->bone_mat directly, here... */
-				copy_m3_m4(bone_rotscale, offs_bone);
-
-			if (bone->flag & BONE_HINGE) {
-				copy_m3_m4(tmat3, parbone->arm_mat);
-				/* for hinge-only, we use armature *rotation*, but pose mat *scale*! */
-				if (!(bone->flag & BONE_NO_SCALE)) {
-					float size[3], tsmat[3][3];
-					mat4_to_size(size, parchan->pose_mat);
-					size_to_mat3(tsmat, size);
-					mul_m3_m3m3(tmat3, tsmat, tmat3);
-				}
-				mul_m3_m3m3(bone_rotscale, tmat3, bone_rotscale);
-			}
-			else if (bone->flag & BONE_NO_SCALE) {
-				/* For no-scale only, normalized parent pose mat is enough! */
-				copy_m3_m4(tmat3, parchan->pose_mat);
-				normalize_m3(tmat3);
-				mul_m3_m3m3(bone_rotscale, tmat3, bone_rotscale);
-			}
-			/* NO_LOCAL_LOCATION only. */
-			else {
-				copy_m3_m4(tmat3, parchan->pose_mat);
-				mul_m3_m3m3(bone_rotscale, tmat3, bone_rotscale);
-			}
-
-			copy_m4_m3(tmat4, bone_rotscale);
-			mult_m4_m4m4(loc_mat, bone_loc, tmat4);
-		}
-		/* Else, just use the same matrix for rotation/scaling, and location. */
-		else
-			copy_m4_m4(loc_mat, rotscale_mat);
-# endif
 	}
 	/* Root bones. */
 	else {
@@ -2438,16 +2385,6 @@
 	/* Construct the posemat based on PoseChannels, that we do before applying constraints. */
 	/* pose_mat(b) = pose_mat(b-1) * yoffs(b-1) * d_root(b) * bone_mat(b) * chan_mat(b) */
 	armature_mat_bone_to_pose(pchan, pchan->chan_mat, pchan->pose_mat);
-#if 0 /* XXX Old code, will remove this later. */
-	{
-		float rotscale_mat[4][4], loc_mat[4][4];
-		pchan_to_pose_mat(pchan, rotscale_mat, loc_mat);
-		/* Rotation and scale. */
-		mult_m4_m4m4(pchan->pose_mat, rotscale_mat, pchan->chan_mat);
-		/* Location. */
-		mul_v3_m4v3(pchan->pose_mat[3], loc_mat, pchan->chan_mat[3]);
-	}
-#endif
 
 	/* Only rootbones get the cyclic offset (unless user doesn't want that). */
 	/* XXX That could be a problem for snapping and other "reverse transform" features... */

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2012-04-29 13:00:00 UTC (rev 46068)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2012-04-29 13:18:59 UTC (rev 46069)
@@ -424,51 +424,6 @@
 				bone= parchan->bone;
 				bone->flag |= BONE_TRANSFORM;	/* ensures it gets an auto key inserted */
 
-	/* XXX Old code. Will remove it later. */
-#if 0
-				if (parchan->parent) {
-					Bone *parbone= parchan->parent->bone;
-					float offs_bone[4][4];
-
-					/* offs_bone =  yoffs(b-1) + root(b) + bonemat(b) */
-					copy_m4_m3(offs_bone, bone->bone_mat);
-
-					/* The bone's root offset (is in the parent's coordinate system) */
-					copy_v3_v3(offs_bone[3], bone->head);
-
-					/* Get the length translation of parent (length along y axis) */
-					offs_bone[3][1]+= parbone->length;
-
-					/* pose_mat(b-1) * offs_bone */
-					if (parchan->bone->flag & BONE_HINGE) {
-						/* the rotation of the parent restposition */
-						copy_m4_m4(rmat, parbone->arm_mat);	/* rmat used as temp */
-
-						/* the location of actual parent transform */
-						copy_v3_v3(rmat[3], offs_bone[3]);
-						offs_bone[3][0]= offs_bone[3][1]= offs_bone[3][2]= 0.0f;
-						mul_m4_v3(parchan->parent->pose_mat, rmat[3]);
-
-						mult_m4_m4m4(tmat, rmat, offs_bone);
-					}
-					else if (parchan->bone->flag & BONE_NO_SCALE) {
-						mult_m4_m4m4(tmat, parchan->parent->pose_mat, offs_bone);
-						normalize_m4(tmat);
-					}
-					else
-						mult_m4_m4m4(tmat, parchan->parent->pose_mat, offs_bone);
-
-					invert_m4_m4(imat, tmat);
-				}
-				else {
-					copy_m4_m3(tmat, bone->bone_mat);
-
-					copy_v3_v3(tmat[3], bone->head);
-					invert_m4_m4(imat, tmat);
-				}
-				/* result matrix */
-				mult_m4_m4m4(rmat, imat, parchan->pose_mat);
-#endif
 				armature_mat_pose_to_bone(parchan, parchan->pose_mat, rmat);
 
 				/* apply and decompose, doesn't work for constraints or non-uniform scale well */
@@ -599,48 +554,6 @@
 			mul_serie_m3(td->mtx, pmat, omat, NULL, NULL,NULL,NULL,NULL,NULL);
 	}
 
-	/* XXX Old code. Will remove it later. */
-#if 0
-	if (ELEM(t->mode, TFM_TRANSLATION, TFM_RESIZE) && (pchan->bone->flag & BONE_NO_LOCAL_LOCATION))
-		unit_m3(bmat);
-	else
-		copy_m3_m3(bmat, pchan->bone->bone_mat);
-
-	if (pchan->parent) {
-		if (pchan->bone->flag & BONE_HINGE) {
-			copy_m3_m4(pmat, pchan->parent->bone->arm_mat);
-			if (!(pchan->bone->flag & BONE_NO_SCALE)) {
-				float tsize[3], tsmat[3][3];
-				mat4_to_size(tsize, pchan->parent->pose_mat);
-				size_to_mat3(tsmat, tsize);
-				mul_m3_m3m3(pmat, tsmat, pmat);
-			}
-		}
-		else {
-			copy_m3_m4(pmat, pchan->parent->pose_mat);
-			if (pchan->bone->flag & BONE_NO_SCALE)
-				normalize_m3(pmat);
-		}
-
-		if (constraints_list_needinv(t, &pchan->constraints)) {
-			copy_m3_m4(tmat, pchan->constinv);
-			invert_m3_m3(cmat, tmat);
-			mul_serie_m3(td->mtx, bmat, pmat, omat, cmat, NULL,NULL,NULL,NULL);
-		}
-		else
-			mul_serie_m3(td->mtx, bmat, pmat, omat, NULL,NULL,NULL,NULL,NULL);
-	}
-	else {
-		if (constraints_list_needinv(t, &pchan->constraints)) {
-			copy_m3_m4(tmat, pchan->constinv);
-			invert_m3_m3(cmat, tmat);
-			mul_serie_m3(td->mtx, bmat, omat, cmat, NULL,NULL,NULL,NULL,NULL);
-		}
-		else
-			mul_m3_m3m3(td->mtx, omat, bmat);
-	}
-# endif
-
 	invert_m3_m3(td->smtx, td->mtx);
 
 	/* exceptional case: rotate the pose bone which also applies transformation




More information about the Bf-blender-cvs mailing list