[Bf-blender-cvs] [a66a54c] master: New Hook's now use the objects center

Campbell Barton noreply at git.blender.org
Tue Feb 3 21:17:47 CET 2015


Commit: a66a54c06d414a7d70b8ad13f683b6f5e1874e68
Author: Campbell Barton
Date:   Wed Feb 4 07:08:30 2015 +1100
Branches: master
https://developer.blender.org/rBa66a54c06d414a7d70b8ad13f683b6f5e1874e68

New Hook's now use the objects center

When adding a hook to an existing selected object/bone,
Use the location for the hook (instead of the selected vertices).

===================================================================

M	source/blender/editors/object/object_hook.c

===================================================================

diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c
index 9f9a647..1d764ce 100644
--- a/source/blender/editors/object/object_hook.c
+++ b/source/blender/editors/object/object_hook.c
@@ -503,6 +503,15 @@ static int add_hook_object(Main *bmain, Scene *scene, Object *obedit, Object *ob
 	
 	unit_m4(pose_mat);
 
+	invert_m4_m4(obedit->imat, obedit->obmat);
+	if (mode == OBJECT_ADDHOOK_NEWOB) {
+		/* pass */
+	}
+	else {
+		/* may overwrite with pose-bone location, below */
+		mul_v3_m4v3(cent, obedit->imat, ob->obmat[3]);
+	}
+
 	if (mode == OBJECT_ADDHOOK_SELOB_BONE) {
 		bArmature *arm = ob->data;
 		BLI_assert(ob->type == OB_ARMATURE);
@@ -514,6 +523,8 @@ static int add_hook_object(Main *bmain, Scene *scene, Object *obedit, Object *ob
 			pchan_act = BKE_pose_channel_active(ob);
 			if (LIKELY(pchan_act)) {
 				invert_m4_m4(pose_mat, pchan_act->pose_mat);
+				mul_v3_m4v3(cent, ob->obmat, pchan_act->pose_mat[3]);
+				mul_v3_m4v3(cent, obedit->imat, cent);
 			}
 		}
 		else {
@@ -521,6 +532,9 @@ static int add_hook_object(Main *bmain, Scene *scene, Object *obedit, Object *ob
 		}
 	}
 
+	copy_v3_v3(hmd->cent, cent);
+
+
 	/* matrix calculus */
 	/* vert x (obmat x hook->imat) x hook->obmat x ob->imat */
 	/*        (parentinv         )                          */




More information about the Bf-blender-cvs mailing list