overte-HifiExperiments/scripts/system/libraries
Leander Hasty fa74fbc986 [Case 6491] fixes rotation skip near 0 and 180.
Previously, when rotating, it would be easy to achieve 1 degree granularity, except near the 0 degree and 180 degree "poles", where it would often e.g. jump from 10 to -10, or 174 to -175, or similar.

yawZero/pitchZero/rollZero were all based on the yawHandle/pitchHandle/rollHandle ray intersection, and were not necessarily coplanar with rotateOverlayTarget. As a result, centerToZero didn't lie on the expected plane, while centerToIntersect did.  This had the effect of distorting the rotation range.

We also have a possible issue in here with editOverlay(rotationOverlayTarget,{rotation:...}) not taking effect immediately.  Better to take the existing ray and cast against a known plane, as e.g. translateXZTool and such do.  No risk of stale rotation in that case.

This also cleans up rotationHelper args a bit to avoid some string switches and keep flow a little more readable.

TODO: propagate ray-plane test to helperRotationHandleOnMove rather than relying on ray hit location; normalize onBegin/onMove/etc across all tools to take queryRay and results args to avoid recreating the ray.

Reviewed-by: LaShonda Hopper <lashonda@1stplayable.com>
2017-09-28 15:04:27 -04:00
..
accountUtils.js fix wallet login (and share code with snapshot login) 2017-08-29 16:05:01 -07:00
cloneEntityUtils.js fix grab entity methods + jshint cleanups 2017-09-15 10:50:46 -07:00
controllerDispatcherUtils.js Merge pull request #11430 from sethalves/fix-parent-grab 2017-09-26 13:00:16 -07:00
controllers.js Bug fixes for laser offset and avatar hold action 2017-08-31 17:26:00 -07:00
dataViewHelpers.js move default to system 2016-04-26 14:47:02 -07:00
entityCameraTool.js change all references of Quat.getFront to Quat.getForward in scripts directory 2017-03-21 22:25:30 +00:00
entityIconOverlayManager.js Fixed Icons not being selectable while not highlighted. 2017-07-08 02:52:27 -07:00
entityList.js Keep old function names for compatibility 2017-08-16 22:17:34 +02:00
entitySelectionTool.js [Case 6491] fixes rotation skip near 0 and 180. 2017-09-28 15:04:27 -04:00
globals.js move default to system 2016-04-26 14:47:02 -07:00
gridTool.js Merge pull request #10569 from ctrlaltdavid/21312 2017-06-02 15:45:18 -07:00
overlayUtils.js move default to system 2016-04-26 14:47:02 -07:00
progressDialog.js move default to system 2016-04-26 14:47:02 -07:00
soundArray.js change all references of Quat.getFront to Quat.getForward in scripts directory 2017-03-21 22:25:30 +00:00
stringHelpers.js move default to system 2016-04-26 14:47:02 -07:00
toolBars.js Make the time and slider follow the record.js toolbar 2017-03-08 01:14:11 +01:00
ToolTip.js move default to system 2016-04-26 14:47:02 -07:00
touchEventUtils.js fixing and cleanup tablet inputs 2017-09-19 17:03:53 -07:00
Trigger.js Make hand pointer lasers 'click' on fully pressing and clicking the vive controller 2016-07-14 10:30:35 -07:00
utils.js Fixes for scaling controller display 2017-09-05 15:03:41 -07:00
WebTablet.js 7723 Tablet Should Rotate Faster when using Create app 2017-09-21 16:26:54 +03:00
Xform.js WIP, equip-points work but they don't use the proper attach point. 2016-06-29 13:53:06 -07:00