Makes consistent 6DOF joint Gizmo
This commit is contained in:
parent
32408f3bfd
commit
0ea1c3bd53
1 changed files with 17 additions and 16 deletions
|
@ -3139,8 +3139,8 @@ void Generic6DOFJointSpatialGizmo::redraw() {
|
|||
case 0:
|
||||
ll = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT);
|
||||
ul = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT);
|
||||
lll = -p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = -p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
lll = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
enable_ang = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT);
|
||||
enable_lin = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT);
|
||||
a1 = 0;
|
||||
|
@ -3150,26 +3150,27 @@ void Generic6DOFJointSpatialGizmo::redraw() {
|
|||
case 1:
|
||||
ll = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT);
|
||||
ul = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT);
|
||||
lll = -p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = -p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
lll = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
enable_ang = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT);
|
||||
enable_lin = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT);
|
||||
a1 = 2;
|
||||
a2 = 0;
|
||||
a3 = 1;
|
||||
break;
|
||||
case 2:
|
||||
ll = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT);
|
||||
ul = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT);
|
||||
lll = -p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = -p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
enable_ang = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT);
|
||||
enable_lin = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT);
|
||||
|
||||
a1 = 1;
|
||||
a2 = 2;
|
||||
a3 = 0;
|
||||
break;
|
||||
case 2:
|
||||
ll = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT);
|
||||
ul = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT);
|
||||
lll = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT);
|
||||
lul = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT);
|
||||
enable_ang = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT);
|
||||
enable_lin = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT);
|
||||
|
||||
a1 = 2;
|
||||
a2 = 0;
|
||||
a3 = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
#define ADD_VTX(x, y, z) \
|
||||
|
@ -3190,7 +3191,7 @@ void Generic6DOFJointSpatialGizmo::redraw() {
|
|||
what = v; \
|
||||
}
|
||||
|
||||
if (enable_lin && lll >= lul) {
|
||||
if (enable_lin && lll <= lul) {
|
||||
|
||||
ADD_VTX(lul, 0, 0);
|
||||
ADD_VTX(lll, 0, 0);
|
||||
|
|
Loading…
Reference in a new issue