Commit graph

398 commits

Author SHA1 Message Date
LaShonda Hopper
96afbeca23 [Case 6491] Dedupe rotation handle tool code (details below).
Pulled the common code shared between the rotation handle
tools out into helper funcs:
* helperRotationHandleOnBegin
* helperRotationHandleOnMove
* helperRotationHandleOnEnd

These functions either take in or derive the necessary info
needed to handle a specific rotation axis.

NOTE(s):
* Tested yaw, pitch, & roll handles using a box. The behavior
  remained consistent with that prior to this commit.

Reviewed-by: Leander Hasty <leander@1stplayable.com>

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:26 -04:00
LaShonda Hopper
926789437c [Case 6491] Propagates rotation reposition fix from YawHandle (details below).
This wraps the selections rotation update handling into common helper
function utilized by all rotation handle tools (yaw,pitch,roll).

This function is the generalized fix previously exclusive to yawHandle.
This functions is now called within onMove for yaw, pitch, & rollHandle
tools.

NOTE(s):
* Tested yaw, pitch, & roll rotation didn't see any aberrant behavior.
** Tested overlapping shapes and selecting the overlapping portions followed
   by a rotation handle.  Only one took hold as a selection.
** Tested multiple selection and objects rotated & repositioned about the
   encapsulating bounding box's center point as expected.
* Tested translation with multiple items selected and it behaved as
  expected.

Reviewed-by: Leander Hasty <leander@1stplayable.com>

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:26 -04:00
LaShonda Hopper
18cc632df5 [Case 6491] Minor: Switching off wantDebug flags that were left on.
Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:26 -04:00
LaShonda Hopper
196b665e22 [Case 6491] Cleanup of mousePressEvent/tool(s) onBegin (details below).
* Removes unregister tools switch which was never reached.
* Rolls all code rotation handle related code within mousePressEvent
  to the respective rotation handler onBegin functions.
    * onBegin call site updated accordingly to provide intersection
      data that code depends upon.
* Moves all translateXZTool code explicitly within mousePressEvent
  to the tool's onBegin function.
    * onBegin signature updated accordingly to provide intersect
      results that the tool relies upon.
    * Found and fixed a bug with translateXZTool
      where its startingElevation and startingDistance properties
      were _only_ set when local _debug_ var was set.
          * This appears to have been responsible for being able
            to move the object farther than was visible.  Re-tested
            with fix and wasn't able to get that behavior any longer.
* Wrap intersect tests within more reader friendly functions.

NOTE(s):
* Tested GrabberMoveUp and Rotation Handles.  They work as they
  did previously as expected.
* Tested selection behavior and it currently maintains as expected.
* Tested translationXZTool and it maintains its prior behavior with
  the improvement noted above.

Reviewed-by: Leander Hasty <leander@1stplayable.com>

Changes Committed:
    modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:20 -04:00
LaShonda Hopper
ae8ae6f6cc [Case 6491] Grabbers stay invisible while rotating (details below).
This fixes the issue where grabbers would re-appear when rotating
the selected object rather than staying hidden.

updateHandles will now take the mode into account when deciding
if the non-light grabber handles should be visible.  This can be
subverted by the user selecting a light source as in line with
the previous behavior.

Adds some debug prints in event handlers guarded by local
wantDebug checks.

Has some minor cleanup changes:
* Remove unused var within updateRotationHandles
* Readability improvement for light check within updateHandles
* Pulled up rotate mode check within updateHandles
* Added grabberCloner visibility flag within updateHandles

Changes Committed:
    modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 14:58:30 -04:00
LaShonda Hopper
15ff4ebecb [Case 6491] Adds some debugging prints.
Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 14:58:30 -04:00
druiz17
58a00a89d7 remove debug print 2017-09-27 12:58:11 -07:00
druiz17
38096b48d9 fixing entitySelectionTool 2017-09-27 10:52:56 -07:00
Brad Hefta-Gaub
3500705d0c Merge pull request #11427 from ElderOrb/case7723
7723 Tablet Should Rotate Faster when using Create app
2017-09-26 22:05:45 -07:00
beholder
ef732fb547 enable 'close' button overlay on hover/leave with stylys/lasers 2017-09-27 01:07:32 +03:00
beholder
6409580b03 ignore intersection for 'close' button highlight overlay 2017-09-27 01:06:47 +03:00
Seth Alves
a871a6db1d Merge pull request #11430 from sethalves/fix-parent-grab
Fix parent grab
2017-09-26 13:00:16 -07:00
beholder
24a12a2f8f 7722 Add onHover Outline to Tablet "X" Button 2017-09-26 22:31:56 +03:00
Seth Alves
81f74f9297 Merge pull request #11444 from druiz17/module-handcontrollerPointer
Made handControllerPointer into modules in hope of preventing mouse cursor interference with tablet
2017-09-26 12:21:03 -07:00
Dante Ruiz
e397d49564 Merge pull request #11159 from vladest/modal_dialogs_async
Modal dialogs async
2017-09-26 11:07:42 -07:00
Seth Alves
0b60928dd3 fix rollup-to-parent code to only roll up to entity parents 2017-09-25 19:07:40 -07:00
druiz17
dda20c1ef5 fixing merge conflict 2017-09-25 09:45:29 -07:00
Seth Alves
5741782f45 merge from upstream 2017-09-25 09:16:43 -07:00
druiz17
b8ee60a394 fix scripting error 2017-09-22 17:13:48 -07:00
druiz17
ee9ac3e7f9 undo unnessary changes 2017-09-22 15:38:39 -07:00
druiz17
28d8af0b44 Merge branch 'master' of github.com:highfidelity/hifi into module-handcontrollerPointer 2017-09-22 15:33:17 -07:00
druiz17
53efe6bfb2 working on fix 2017-09-21 18:17:05 -07:00
Seth Alves
24bfb3f3b9 oops 2017-09-21 11:16:00 -07:00
Seth Alves
363a2a3a7a merge from upstream 2017-09-21 11:08:29 -07:00
Seth Alves
473db92a8e fix some parent-grab bugs, re-enable adjusting equipped entities, don't trigger guns right when they are equipped 2017-09-21 11:07:47 -07:00
druiz17
2d7d6f85ba fixing merge conflicts 2017-09-21 09:04:13 -07:00
beholder
8085d0292d 7723 Tablet Should Rotate Faster when using Create app 2017-09-21 16:26:54 +03:00
Anthony Thibault
03e278c5ae Merge pull request #11416 from druiz17/stylus-pos
Pull back the stylus position in hand.
2017-09-20 17:40:22 -07:00
druiz17
2c55419c60 change tablet forward offset 2017-09-20 16:49:45 -07:00
Seth Alves
90c97319ea Merge pull request #11408 from druiz17/fix-tablet-input
fixing/improving and cleanup tablet inputs
2017-09-20 16:36:07 -07:00
druiz17
e78d8bc132 tablet on wiki planet 2017-09-20 09:11:06 -07:00
druiz17
9c66a25d83 fixing and cleanup tablet inputs 2017-09-19 17:03:53 -07:00
vladest
67771bc297 Merge branch 'master' into modal_dialogs_async 2017-09-19 21:51:02 +02:00
druiz17
e2921661e9 scaling entities 2017-09-19 09:35:22 -07:00
druiz17
9df3b6c211 change tablet spawn position 2017-09-18 13:29:05 -07:00
Anthony J. Thibault
0757f513af Merge branch 'master' into feature/ant-man 2017-09-18 11:36:39 -07:00
vladest
5585265349 Merge branch 'master' into modal_dialogs_async 2017-09-16 22:06:49 +02:00
vladest
5b033e021a Merge branch 'master' into modal_dialogs_async 2017-09-16 12:30:07 +02:00
Seth Alves
39e6605f6f fix grab entity methods + jshint cleanups 2017-09-15 10:50:46 -07:00
Thijs Wenker
af4bc59307 clone local avatar entities 2017-09-14 23:31:51 +02:00
vladest
0bfa29d0d4 Merge branch 'master' into modal_dialogs_async 2017-09-14 20:21:29 +02:00
Anthony J. Thibault
8fb69a9867 Merge branch 'master' into feature/ant-man 2017-09-13 18:23:11 -07:00
druiz17
1b288ef860 make garbbing radius the same as master 2017-09-13 16:15:36 -07:00
Anthony J. Thibault
ae2d0e89b4 Fixes for desktop tablet 2017-09-13 14:18:00 -07:00
Anthony J. Thibault
de5f0ad987 WebTablet.js: calcSpawnInfo works more consistently. 2017-09-13 12:01:41 -07:00
druiz17
b3ff5c86f7 fixed secondary triggers and chest lid 2017-09-12 14:43:06 -07:00
Dante Ruiz
d90f6320a9 Merge pull request #8 from sethalves/controller-dispatcher-1
Controller dispatcher 1
2017-09-12 10:54:10 -07:00
druiz17
b634292261 fixing some small issues 2017-09-12 10:53:04 -07:00
Seth Alves
a9aa6df93e Merge branch 'controller-dispatcher-1' of github.com:sethalves/hifi into controller-dispatcher-1 2017-09-12 10:44:29 -07:00
Seth Alves
2850029f26 add profiling to controller-dispatcher 2017-09-12 10:00:32 -07:00
Anthony J. Thibault
bb5e808051 Fix for some of tablet size issues, on switching domains. 2017-09-11 18:59:52 -07:00
druiz17
a46e41607c fixed teleport, added avatar scaling, allow laser to be used on tablet when stylus is shown 2017-09-11 15:07:14 -07:00
druiz17
405d8c3afc fixing cloning and laser 2017-09-08 17:07:27 -07:00
druiz17
f0c12e50dd some small bug fixes 2017-09-08 11:50:19 -07:00
druiz17
ef050a09f9 made requested changes and also allow entities/overlays to be grabbed by the grip button 2017-09-07 14:42:46 -07:00
Anthony J. Thibault
23ff1b9ead Fixes for scaling controller display
Adds MyAvatar.sensorToWorldScaleChanged signal.
2017-09-05 15:03:41 -07:00
Dante Ruiz
3b357ad61e finshed handControllerGrab refactoring 2017-09-01 17:07:26 -07:00
Anthony J. Thibault
a1b94fd9d2 Bug fixes for laser offset and avatar hold action 2017-08-31 17:26:00 -07:00
Anthony J. Thibault
a0eb8152a6 fix for tablet spawn position 2017-08-31 13:15:46 -07:00
Anthony J. Thibault
1a01209020 Fixes for scaling tablet at high frame rates 2017-08-31 13:02:31 -07:00
vladest
1b5e6fd5f8 Merge branch 'master' into modal_dialogs_async 2017-08-31 20:39:48 +02:00
Anthony J. Thibault
9c6b8a6826 Fixes for scaling tablet 2017-08-31 11:28:05 -07:00
Anthony J. Thibault
6e6687c3a6 Change tablet dimensions as sensorToWorldScale changes 2017-08-30 18:21:25 -07:00
Anthony J. Thibault
9cd8b6991e Merge branch 'master' into feature/ant-man 2017-08-30 08:58:55 -07:00
Dante Ruiz
ff134b338b Merge branch 'master' of github.com:highfidelity/hifi into controller-dispatcher-1 2017-08-30 08:25:53 -07:00
howard-stearns
5b264a867a fix wallet login (and share code with snapshot login) 2017-08-29 16:05:01 -07:00
Dante Ruiz
49608f1253 Merge branch 'master' of github.com:highfidelity/hifi into controller-dispatcher-1 2017-08-29 15:19:16 -07:00
Dante Ruiz
ed52136fc5 finished equiping locked clone-able entities 2017-08-29 15:18:28 -07:00
Dante Ruiz
4b592687b7 finished webEntityLaserInput, now working on cloning 2017-08-28 17:35:34 -07:00
Anthony J. Thibault
573985c7c9 Merge branch 'master' into feature/ant-man 2017-08-28 09:27:04 -07:00
vladest
38295ab73f Merge conflicts 2017-08-28 16:58:30 +02:00
SamGondelman
4a49801217 web overlays and entities are always nonAA 2017-08-24 14:23:21 -07:00
Anthony J. Thibault
d62a0ea8ff Correct controller offsets with sensor scaling 2017-08-22 11:43:39 -07:00
vladest
15f8bc0141 Keep old function names for compatibility 2017-08-16 22:17:34 +02:00
druiz17
8eabf46a30 Merge pull request #11165 from 1P-Cusack/FogBugz/Case_6491_Part1
[Case 6491] Part 1 of entitySelectionTool clean up
2017-08-16 13:05:27 -07:00
LaShonda Hopper
cc2ff565ac [Case 6491] Ran lint on entitySelectionTool.js (details below).
Prior Issue Count: 35
Current Issue Count: 3

Resolved:
* 17 used out of scope issues.
* 11 already defined issues.
* 2 missing semicolon issues.
* 1 implicit comparison against null issue.
* 1 readability warning.

Remaining Issues as of this commit:
* scripts/system/libraries/entitySelectionTool.js: line 17, col 1, Read only.
** HIFI_PUBLIC_BUCKET assignment
* scripts/system/libraries/entitySelectionTool.js: line 19, col 1, Read only.
** SPACE_WORLD assignment
* scripts/system/libraries/entitySelectionTool.js: line 30, col 1, Read only.
** SelectionManager assignment

One notable item was a chunk of code from makeStretchTool's onMove
function which wasn't in scope of the vars being utilized.

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-08-16 15:21:30 -04:00
vladest
8afdb27c1b Reworked WindowScriptingInterface save method for async methods 2017-08-15 22:55:44 +02:00
LaShonda Hopper
48e327815d [Case 6491] Resolves arg order to centerToZero and centerToIntersection vectors.
Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-08-09 11:38:44 -04:00
beholder
06c9378b03 fix for 6760: Create Mode turns to Portrait when Reopening tablet 2017-08-05 04:07:04 +03:00
Mike Moody
036a16c0b3 readded line that caused colflict. 2017-07-24 16:51:23 -07:00
Mike Moody
697830b80b Merge branch 'master' of git://github.com/highfidelity/hifi into 21374 2017-07-24 16:50:38 -07:00
Mike Moody
4c78fba2cc Removed line that caused colflict. 2017-07-24 16:50:33 -07:00
Mike Moody
7de164f1ab moved below a check that returns. 2017-07-24 15:06:45 -07:00
Mike Moody
a4585b9400 Merge branch 'master' of git://github.com/highfidelity/hifi into 21374 2017-07-24 13:31:27 -07:00
Leander Hasty
26cc8134eb WL21463 - entitySelectionTool: use multiarg findRayIntersection instead of editOverlay.
We're seeing the ignoreRayIntersection flag not take effect before findRayIntersection calls.  This may be due to editOverlay and editOverlays becoming non-blocking in 1f7d2b2 .

This altered the flow in mousePressEvent significantly; the first block, intended to handle scale/clone only, started handling rotation (should have been second block) and sometimes selection (should have been third block).

Similarly, in the various rotate grabbers' onMove methods, the pickRay will no longer intersect anything other than rotateOverlayTarget; this avoids some awful behavior when scrubbing over the size and clone grabbers.

This also reverts unnecessary parts of the prior commits to keep the diff for this WL cleaner, and adds a few TODO comments to revisit about redundant statements and incorrect names.

In addition, we've noticed but not fixed herein:

* There is a minor edgecase near 0 and 180, where it's difficult to get within a degree or two of the poles occasionally.
* The scale/clone grabbers don't stay disappeared for rotation in some cases.  This doesn't impact usability anymore, but it'd be nice to determine why they come back when they hide briefly.
* The addGrabbers for yaw/pitch/roll could be deduplicated, and yaw has some multiselect "reposition" enable/disable logic that pitch and roll lack.

Reviewed-by: LaShonda Hopper <lashonda@1stplayable.com>
2017-07-21 10:56:24 -04:00
Mike Moody
c56450b986 Moved function to a differnt location that handles both mouse and controller inputs. 2017-07-19 01:49:39 -07:00
Dante Ruiz
f5abb4a090 trying new tablet position spwan 2017-07-17 23:18:16 +01:00
Mike Moody
53f581c3d4 Fixed Icons not being selectable while not highlighted. 2017-07-08 02:52:27 -07:00
Mike Moody
d9706452ac added ability to drag ParticleEffects and Light Entities around via Overlay Icon. 2017-07-06 23:32:22 -07:00
Mike Moody
be68d99bed added ability to drag ParticleEffects and Light Entities around via Overlay Icon. 2017-07-06 23:17:23 -07:00
Seth Alves
55b7c2d767 avoid doing a lot of work during mouse-move event-handlers 2017-07-05 15:50:05 -07:00
Clément Brisset
8e62bdea40 Merge pull request #10538 from ctrlaltdavid/21345
Position tablet relative to hand
2017-06-09 17:01:37 -07:00
David Rowe
fff8876b21 Code review 2017-06-10 09:33:45 +12:00
Seth Alves
dcbd279bd8 Merge pull request #10589 from vladest/create_in_landscape
Implements landscape mode for tablet as rotation instead of stretching [DO NOT MERGE]
2017-06-05 12:46:03 -07:00
Clément Brisset
5f91d2dcb7 Merge pull request #10569 from ctrlaltdavid/21312
Improve positioning of assets when added / imported
2017-06-02 15:45:18 -07:00
Vladyslav Stelmakhovskyi
8068e7201d Fix position after rotation. May be fix rotation in HMD mode 2017-06-02 18:58:18 +02:00
Vladyslav Stelmakhovskyi
b0e4b752d5 Implements landscape mode for tablet as rotation instead of stretching 2017-06-01 19:07:17 +02:00
David Rowe
1e8698aee1 Snap imported JSON to grid 2017-05-30 15:23:18 +12:00
David Rowe
31df18ff5b Fix snap-to-grid elevation 2017-05-29 18:43:49 +12:00
Vladyslav Stelmakhovskyi
bcee25acc7 Make sure that there is only one connection created for web events, so downloads from CLARA IO not duplicated 2017-05-28 19:54:41 +02:00