[Bf-blender-cvs] [c301dc445a7] custom-manipulators: Use obmat for manipulator center instead of 'loc'
Campbell Barton
noreply at git.blender.org
Thu Apr 6 04:47:05 CEST 2017
Commit: c301dc445a78e01518bc07c10e8a7c35c481023d
Author: Campbell Barton
Date: Thu Apr 6 12:47:00 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rBc301dc445a78e01518bc07c10e8a7c35c481023d
Use obmat for manipulator center instead of 'loc'
Would show wrong location with parenting.
===================================================================
M source/blender/editors/transform/transform_manipulator.c
===================================================================
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 6931b60cfb6..8273a4eae84 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -478,13 +478,13 @@ static void protectflag_to_drawflags(short protectflag, short *drawflags)
}
/* for pose mode */
-static void protectflag_to_drawflags_pchan(RegionView3D *rv3d, bPoseChannel *pchan)
+static void protectflag_to_drawflags_pchan(RegionView3D *rv3d, const bPoseChannel *pchan)
{
protectflag_to_drawflags(pchan->protectflag, &rv3d->twdrawflag);
}
/* for editmode*/
-static void protectflag_to_drawflags_ebone(RegionView3D *rv3d, EditBone *ebo)
+static void protectflag_to_drawflags_ebone(RegionView3D *rv3d, const EditBone *ebo)
{
if (ebo->flag & BONE_EDITMODE_LOCKED) {
protectflag_to_drawflags(OB_LOCK_LOC | OB_LOCK_ROT | OB_LOCK_SCALE, &rv3d->twdrawflag);
@@ -523,7 +523,7 @@ static void axis_angle_to_gimbal_axis(float gmat[3][3], const float axis[3], con
}
-static int test_rotmode_euler(short rotmode)
+static bool test_rotmode_euler(short rotmode)
{
return (ELEM(rotmode, ROT_MODE_AXISANGLE, ROT_MODE_QUAT)) ? 0 : 1;
}
@@ -927,8 +927,7 @@ static int calc_manipulator_stats(const bContext *C)
if (TESTBASELIB_NEW(base)) {
if (ob == NULL)
ob = base->object;
-
- calc_tw_center(scene, base->object->loc);
+ calc_tw_center(scene, base->object->obmat[3]);
totsel++;
}
}
More information about the Bf-blender-cvs
mailing list