Commit graph

570 commits

Author SHA1 Message Date
Seth Alves
db195c6184
Merge pull request #12334 from ctrlaltdavid/remove-deprecated-items
Remove some deprecated JavaScript API items
2018-02-21 16:31:16 -08:00
John Conklin II
6148c407a5
Merge pull request #12422 from misslivirose/fix-overlay-lines
Show outline for zones when rotating
2018-02-20 09:30:22 -08:00
Liv Erickson
175532c444 show outline for zones when rotating 2018-02-15 15:51:54 -08:00
Sam Gondelman
15cdfef16a
Merge branch 'master' into decals 2018-02-14 17:33:01 -08:00
Dante Ruiz
e14f46101b fix tablet rotation when switching into and out of create mode 2018-02-14 13:49:43 -08:00
SamGondelman
4500ed17e7 merge from master 2018-02-13 13:58:39 -08:00
David Rowe
b1f49be790 Merge branch 'master' into 21742
# Conflicts:
#	scripts/system/libraries/entitySelectionTool.js
2018-02-13 10:04:32 +13:00
David Rowe
033b85a3a8 Merge branch 'master' into remove-deprecated-items
# Conflicts:
#	scripts/system/libraries/entitySelectionTool.js
2018-02-13 09:42:40 +13:00
SamGondelman
5337377ef5 Merge remote-tracking branch 'upstream/master' into decals 2018-02-09 14:40:20 -08:00
John Conklin II
1d0e358246
Merge pull request #12234 from dback2/newEditGrab
New Edit Selected Entity Manipulation Handles
2018-02-09 12:23:34 -08:00
David Rowe
adb6f66a05 Handle tablet entities and overlays not being available 2018-02-08 09:51:48 +13:00
David Back
51b55aedcf CR changes, fix colors, add minimum overlay dimensions for HMD 2018-02-06 16:07:46 -08:00
Dante Ruiz
4f0ca6a904 fix lasers going to origin 2018-02-06 13:44:59 -08:00
David Rowe
0c0734a255 Remove unused Overlays property, borderSize, and associated code 2018-02-04 14:54:14 +13:00
David Rowe
8e2a3e8c99 Remove Overlays.getOverlayObject() from JavaScript API 2018-02-04 14:15:48 +13:00
David Back
ececd1c60f fix loop index change 2018-02-02 17:14:48 -08:00
David Back
ed4cbe2679 fix fill ring rotation 2018-02-02 17:05:25 -08:00
SamGondelman
d7f4b033e8 wip finish adding material entity 2018-02-02 16:49:33 -08:00
David Back
900669d937 fix multi-selection rotation yay! 2018-02-02 16:44:59 -08:00
David Back
55f55cd78b few more updates 2018-02-01 17:59:38 -08:00
David Back
db56246cd6 more fixes, clean up, updates 2018-02-01 17:30:56 -08:00
David Back
c01790bd3e punch list updates and various fixes 2018-01-31 18:27:15 -08:00
David Back
e679b75e99 fix degree display position 2018-01-29 19:02:36 -08:00
David Back
2f0d92c3cd ctrl 22.5 snapping 2018-01-29 18:15:01 -08:00
David Back
9ee7153641 fix scale speed, fix stretch panels, fix scale cube highlight 2018-01-29 16:53:02 -08:00
David Back
c4359de859 entity edit tools wip update 2018-01-19 18:20:36 -08:00
David Back
26bf78fb5d first pass new entity selection edit tools wip 2018-01-17 18:30:31 -08:00
Dante Ruiz
125eb9ce44 add new tablet model and adjust screen offset 2018-01-09 14:31:57 -08:00
David Rowe
4b2ed44322 Reduce incidence of tablet screen being rotated w.r.t. model 2018-01-05 16:16:42 +13:00
David Rowe
936b5f3571 Laser on tablet bezel as well as screen and "x" button 2018-01-05 16:15:59 +13:00
David Rowe
6e43497e14 Merge tag 'RELEASE-7602' into 21661
Jenkins Git plugin tagging with RELEASE-7602
2018-01-03 16:46:10 +13:00
Zach Fox
b81cdf49ef Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_QmlWhitelist 2017-12-11 09:52:32 -08:00
Zach Fox
a99072622a Fix Create mode :| 2017-12-08 15:41:47 -08:00
Zach Fox
a81a981676 Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_QmlWhitelist 2017-12-08 09:44:52 -08:00
Seth Alves
86a1bc75c9
Merge pull request #11897 from Delanir/Gizmos
IPD Secondary Task List: edit.js arrow orientation: Yaw, Pitch, Roll tools
2017-12-08 07:09:09 -08:00
Zach Fox
b2bafed2bb Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_QmlWhitelist 2017-12-07 11:21:24 -08:00
Daniela
ef49aa0b71 Refactor to comply with code standard. 2017-11-29 18:54:08 +00:00
Daniela
8985acd8b6 YAW ROLL PITCH tool now represents angles in a usefull way. Refactoring. 2017-11-29 13:00:36 +00:00
Dante Ruiz
70820e6075 laser allways on prototype 2017-11-28 15:37:36 -08:00
Daniela
68d5d600b7 YAW ROLL PITCH tool gizmos + functionality 2017-11-28 23:16:34 +00:00
Daniela
eb0d925091 YAW ROLL PITCH tool gizmos + functionality 2017-11-28 22:55:09 +00:00
Daniela
123f898f80 Merge branch 'master' of https://github.com/highfidelity/hifi into Gizmos 2017-11-28 15:38:30 +00:00
SamGondelman
d4a4c8902a fix reticle depth at different scales and x button click on mouse press 2017-11-27 17:46:19 -08:00
SamGondelman
52039e022b merge from master, get rid of resolution in RayPick 2017-11-27 13:11:35 -08:00
SamGondelman
033f658fff Merge remote-tracking branch 'upstream/master' into pointers 2017-11-17 16:10:20 -08:00
Zach Fox
7d34b3fe67 Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_QmlWhitelist 2017-11-17 15:45:03 -08:00
SamGondelman
393ad0079c home button is circle instead of sphere, fixed positioning, fix lasers on tablet 2017-11-17 15:24:21 -08:00
SamGondelman
42d047c572 merge with master 2017-11-17 11:52:34 -08:00
SamGondelman
e38b0ab6b8 make web overlays match web entities more, remove resolution 2017-11-17 11:50:24 -08:00
SamGondelman
61c7ccde6e cleanup 2017-11-17 10:45:39 -08:00
SamGondelman
b252c81d84 fix home button hover overlay dimensions 2017-11-16 15:34:42 -08:00
Dante Ruiz
f6a74cc80e fixing merge conflicts 2017-11-16 10:04:36 -08:00
SamGondelman
7eb22b372f merge with master 2017-11-15 14:35:30 -08:00
Brad Davis
bb2e061d77 Fixing global declarations in JS 2017-11-15 12:00:52 -08:00
Brad Davis
26a745be6f Merge remote-tracking branch 'upstream/master' into feature/qml_whitelist_tablet 2017-11-15 11:59:06 -08:00
Brad Davis
1167be4102 Reverting tablet API rename, cleaning up duplicated code 2017-11-15 11:52:55 -08:00
Brad Davis
64592d66d7 Fix relative path for tablet login dialog 2017-11-15 11:46:56 -08:00
Dante Ruiz
b779c33a1b fixed lockEndUUID offset for scripts 2017-11-13 16:42:16 -08:00
Dante Ruiz
6173c33b51 fixing merge conflict 2017-11-13 15:02:25 -08:00
SamGondelman
2fb1981c4a merge with master 2017-11-13 14:34:39 -08:00
Dante Ruiz
5852224a31 clean up code and finialize changes 2017-11-13 13:37:53 -08:00
Dante Ruiz
43c6d71236 fix stylus module 2017-11-10 17:28:55 -08:00
Brad Davis
7bf1b176d7 Renaming Tablet API to Tablets, supporting dev-mode QML loading from filesystem 2017-11-10 14:21:24 -08:00
luiscuenca
7dfdc8da59 Redesign and clean of unused lineWidths 2017-11-09 17:50:38 -07:00
Dante Ruiz
ef55e3181d moveing controllerDispatchaer pointers to pointerUtils.js 2017-11-09 16:48:52 -08:00
Seth Alves
0edf056b78
Merge pull request #11755 from MidnightRift/patch-1
Fix controllerDispatcherUtils file path
2017-11-07 13:22:18 -08:00
Dante Ruiz
3b15897b12 fixed farGrab parent grabbing and laser LockEndUUID 2017-11-06 15:21:20 -08:00
Midnight
e2ca3c6de0
Fix lib file path
Changed the include to what should be the correct file path. it does not exist in the controllers folder.
2017-11-05 13:39:26 -07:00
Dante Ruiz
539cf35f30 saving work 2017-11-03 17:14:27 -07:00
Dante Ruiz
e5600e4f1e one universal controller pointer for all modules 2017-10-30 16:58:14 -07:00
Daniela
2ceba76ba2 yaw tool 2017-10-27 11:28:44 +01:00
Daniela
a1110bf28d Rotations now happen using the correct axis taking into account the avatar referential 2017-10-26 16:52:58 +01:00
Brad Davis
befe583c5e Merge remote-tracking branch 'upstream/master' into HEAD 2017-10-24 11:50:07 -07:00
Daniela
f15038c54f Re-add isFacingAvatar to true and delete rotation of the grabbermoveup tool. 2017-10-23 19:11:32 +01:00
SamGondelman
fb969964f3 generalized scripting interfaces 2017-10-20 14:37:10 -07:00
Daniela
b28a99c2af Merge branch 'master' of https://github.com/highfidelity/hifi into Gizmos 2017-10-19 18:06:23 +01:00
Daniela
a02ee5b7d5 Grabber Tool Move up, remove billboard on grabbermoveupoverlay 2017-10-19 18:05:51 +01:00
David Rowe
f31e014e8b Quat.ZERO --> Quat.IDENTITY 2017-10-18 20:34:55 +13:00
David Rowe
8d4e979dc8 Replace usages of AVATAR_SELF_ID previously missed 2017-10-17 16:38:05 +13:00
David Rowe
ed1c974f75 Use MyAvatar.SELF_ID instead of Uuid.SELF 2017-10-17 15:58:51 +13:00
David Rowe
1e3a2b3e4e Merge branch 'master' into 21568 2017-10-17 15:15:49 +13:00
David Rowe
fc4e440dc4 Update system scripts to use new properties 2017-10-14 08:32:14 +13:00
Dante Ruiz
d14e6b6e5a Merge pull request #11450 from ElderOrb/case7722
7722 Add onHover Outline to Tablet "X" Button
2017-10-13 11:38:38 -07:00
Brad Hefta-Gaub
1bba5ff812 Merge pull request #11554 from sethalves/import-av-entities
Import av entities
2017-10-12 13:30:53 -07:00
beholder
8c7462f012 fine-tuning based on discussion with Anshuman 2017-10-12 22:21:40 +03:00
beholder
9c15af9fbe raise highlight above button overlay to reduce flickering 2017-10-12 14:46:01 +03:00
Atlante45
6dd49f5c32 Merge branch 'stable' of https://github.com/highfidelity/hifi into new-master 2017-10-10 16:53:34 -07:00
Sam Gateau
f143c28625 Merge pull request #11542 from SamGondelman/bubbleBoy
Move HUD and HUD overlay rendering out of display plugin
2017-10-10 14:26:20 -07:00
Melissa Brown
662bb6c103 Merge pull request #11338 from 1P-Cusack/FogBugz/Case_6491_Part7
[Case 6491] Remainder of entitySelectionTool clean up (details below).
2017-10-10 10:36:14 -07:00
Seth Alves
23f41457be Revert "Revert "fix importing of avatar entities""
This reverts commit 28a8b18060.
2017-10-09 11:52:43 -07:00
Seth Alves
28a8b18060 Revert "fix importing of avatar entities" 2017-10-07 16:54:05 -07:00
Brad Hefta-Gaub
62fc193bff Merge pull request #11532 from sethalves/import-av-entities
fix importing of avatar entities
2017-10-06 17:59:54 -07:00
LaShonda Hopper
2f082d9e86 [Case 6491] Fixes issue in normalizeDegrees from last commit (details below).
The range of the function is targeting (-180, 180] such that
the statement:
    if (degrees < -180)
should be:
    if (degrees <= -180)
to account for degrees being -180.

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-06 10:11:26 -04:00
LaShonda Hopper
707569b230 [Case 6491] More efficient version of normalizeDegrees function (details below).
Refactoring the original normalizeDegrees function to be
more efficient as suggested via:
    https://github.com/highfidelity/hifi/pull/11338#pullrequestreview-67520585

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-06 09:50:24 -04:00
Seth Alves
53a49272dc fix importing of avatar-entities 2017-10-05 11:43:19 -07:00
druiz17
347645329e fixing laser staying on in edit mode 2017-10-05 09:11:02 -07:00
David Rowe
b526ec0d93 Code review 2017-10-05 18:21:04 +13:00
LaShonda Hopper
18d884f6c4 [Case 6491] eslint pass: Fixes no-multiple-empty-lines issues.
* eslint pass using .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-04 20:51:06 -04:00
LaShonda Hopper
e9ae2099f3 [Case 6491] eslint pass: Fixes indent issues.
* eslint pass using .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-04 20:37:57 -04:00
LaShonda Hopper
ac81b22cc9 [Case 6491] eslint pass: Fixes references to SelectionManager (details below).
SelectionManager was being referred to as selectionManager.

* eslint pass used .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-04 20:24:20 -04:00
LaShonda Hopper
a5b913a8b9 [Case 6491] Fixes minor spacing issue, on while loop missed previous eslint pass.
Changes Committed:
    modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-04 17:36:28 -04:00
David Rowe
46ce68a893 Fix lasers 2017-10-03 13:33:11 +13:00
LaShonda Hopper
cb264b5552 [Case 6491] eslint pass: Addresses curly bracket, keyword spacing issues.
* eslint pass using .eslintrc.js

Changes Committed:
  modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-02 13:28:43 -04:00
LaShonda Hopper
97ecf84f3d [Case 6491] eslint pass: Cleaning up comma-dangle noise.
* eslint pass using .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-02 13:21:10 -04:00
LaShonda Hopper
c131686f1b [Case 6491] eslint pass: Addressing some comment issues.
* This should reduces the noise for the eslint passes on this script.
* eslint pass using .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-02 12:55:51 -04:00
LaShonda Hopper
a610946af1 [Case 6491] eslint pass: fixes undefined center var in that.updateHandles.
* eslint pass using .eslintrc.js

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-02 12:31:10 -04:00
LaShonda Hopper
dbf8d19095 [Case 6491] eslint pass: fixes issues with equality checks.
* Also adds some paren grouping to help with readability of some statements.
* eslint pass on script using .eslintrc.js

Changes to be committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-10-02 12:26:00 -04:00
LaShonda Hopper
6571aef997 [Case 6491] makeStretchTool: Fix z undefined issue (details below).
z:z appears to have been a typo, as there's no var z.  Should likely be z:1.

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-29 18:52:39 -04:00
SamGondelman
b59ec07171 move hud rendering to render thread, still need to separate out hud overlays 2017-09-29 09:49:08 -07:00
LaShonda Hopper
ff051db79a [Case 6491] Minor: Fixes some paren spacing.
Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:06:09 -04:00
LaShonda Hopper
0deabf54ef [Case 6491] Minor: fixes some coding standard spacing with wantDebug statements. 2017-09-28 15:04:28 -04:00
LaShonda Hopper
2bb76a357a [Case 6491] Some adjustments to isActiveTool (details below).
* isActiveTool now respects null and undefined args.
    * If null or undefined toolHandle is passed, activeTool
      is directly tested against those values.  Rather than
      explicitly returning false.
* Added some clarification to unknown tool warning message.

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

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:28 -04:00
LaShonda Hopper
bed50dda2f [Case 6491] Fixes consistency issue with lights (details below).
Fixes issue with light selection actions having inconsistent ui
in comparison to other selections from an earlier commit change.

As of this commit:
* When translating point lights, the edge grabbers are no longer be visible.
* When rotating or translating spot lights, the edge grabbers are no longer visible.

Note:
* For both point & spot lights, when translating and/or rotating, their circle
  and/or radial guides should remain visible.  This commit shouldn't have any
  influence on that behavior.

Tested:
* Rotating and translating spot lights.
* Translating point lights.  Didn't test rotation as only spot
  lights support rotation.

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:28 -04:00
LaShonda Hopper
9fb76340c7 [Case 6491] removes SelectionDisplay.mode (details below).
This var isn't needed as the var essentially piggy backed
off of activeTool and activeTool.mode.

This also helps guard against the _majority_ of situations
where mode check fails due to typo inserted when composing
the check.

Most instances of manual string checks have been replaced by
querying activeTool via new isActiveTool function.  For instances
that still require a direct mode check getMode will return
the mode string associated with the current activeTool.

TODO:  Get this code reviewed.
2017-09-28 15:04:28 -04:00
LaShonda Hopper
3a174780c2 [Case 6491] Minor: Move that.updateHandleSizes up (details below).
It was down below the amidst the mouse event handlers. This just moves
it up with the other that.update handle functions definitions.

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:28 -04:00
LaShonda Hopper
9279290b2e [Case 6491] Remove dupe pickRay var (details below).
Ran lint pass and found the dupe define.

As noted in a previous commit, the only remaining lint
issues are as follows:

* 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

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:28 -04:00
LaShonda Hopper
c286ee95a4 [Case 6491] Zero state improvements (details below).
Fixes issue where when translating the selected object(s),
user view was obstructed by grabber handles.

This also brings more consistency to the selection ui state between
rotation and translation user interactions.  Both types
of interactions feel nicer with the selection ui as concise
as possible during the action, limited only to that useful for
the current interaction.

Expected Behavior:
    Note the following presumes you're in creation mode.
* When the selection is clicked, the rotation, stretch, clone,
  and translateY handles should turn invisible.
* When moving a selection along either the x or z axis, the
  rotation, stretch, clone, and translateY handles should be
  invisible and remain that way until the user releases the selection.
* When the selection is released, the rotation, stretch, clone,
  and translateY handles should become visible.
* When the translateY handle is clicked, the rotation, stretch, and
  clone handles should turn invisible.  The translateY handle should
  remain visible.
* When moving the selection along the y axis, the rotation, stretch,
  and clone handles should be invisible and remain that way until the
  user releases the selection.  The translateY handle should be visible
  during the entire interaction.
* When the selection is released, the rotation, stretch, clone should
  become visible.  The translateY handle, visible the entire time, should
  already be visible.
* When the user click somewhere other than a selection, entity object,
  creation menu or tools, then any current selection should be
  unselected and all creation ui local to it should turn invisible.
* When the user exits creation mode, any current selection should be
  unselected and all creation ui local to it should turn invisible.

TODO:
* We may want to visit the scaling interaction ui as well; however,
  that could be a later task as it's tangential.  The changes here
  are a good first step.
    * The idea with that interaction is perhaps only showing the
      handle for the current scaling operation.  Currently when
      scaling all of the other handles remain visible, though
      their appearance does update.

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

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:27 -04:00
LaShonda Hopper
45c4a1081b [Case 6491] entityToolSelection logging/print review (details below).
* Added some wantDebug guards to print sections without them.
* Normalized error logging statements to have script name
  and/or specific script function where reasonable.
    * All error statements contain at least the script name
      and a descriptive snippet of the error or clue to resolve it.
* Removed some stale todos.

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

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:27 -04:00
Leander Hasty
0b86169500 [Case 6491] remove rotateOverlayTarget.
It is no longer used.

Reviewed-by: LaShonda Hopper <lashonda@1stplayable.com>
2017-09-28 15:04:27 -04:00
Leander Hasty
74734f35e9 [Case 6491] more uniform grabber tools; more distrust of rotateOverlayTarget.
Rotation tools' onMove methods now use rayPlaneIntersection rather than using the giant invisible rotateOverlayTarget.  It can likely be entirely removed in the next commit.

tool.onBegin's signature is now (event, pickRay, pickResult, ...) -- this allows us to avoid recomputing the ray or intersection when unnecessary.

translateXZTool is now a part of the grabberTools array; addGrabberTool and addStretchTool have been modified to return the tool reference (and not disassemble and reassemble the tools, so they can keep their own local functions and state).  This does make the array potentially less type-uniform, which may (?) undo some javascript optimizations, but allows us to eventually remove some state -- and they're only 1x/frame methods.

We now compute rotationNormal in rotation tool onBegin, rather than having many different normals lying around.

Merged the final branches in mousePressEvent.

Also fixed issue with mode TRANSLATE_XZ test within updateRotationHandles.

Reviewed-by: LaShonda Hopper <lashonda@1stplayable.com>
2017-09-28 15:04:27 -04:00
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
LaShonda Hopper
fe171af31b [Case 6491] entitySelectionTool mousePressEvent refactor/cleanup (details below).
Fixes situations where attempting to click on a rotate, grab,
or scale handle that was in front of others might unexpectedly
activate the obscured handle.

As of this commit the flow of mousePressEvent such that the
first item whether it be a tool or selection is what reacts
and absorbs the click/touch.  This is counter to the prior
behavior where whichever item or tool last passed the check
would determine what was hit and handled the touch _even_
when it wasn't the first thing to be touched.

* Got rid of some unused/stale vars
* Added some convenience functions
    * setRotationHandlesVisible function
    * setStretchHandlesVisible function
    * setGrabberMoveUpVisible function
* Removed checkIntersectWith helper functions as they're
  no longer used.
* Normalized onBegin signatures for all GrabberTools to
  support the new flow within mousePressEvent.
    * These are tools registered via addGrabberTool/makeStretchTool.
    * The onBegin signature changes from onBegin( event ) to
      onBegin( event, intersectResult ).
        * This allows for a simpler tool triggering where tools which
          utilized the additional information provided will have it,
          those which may need it the future shall have it with little
          issue, and those that don't care may ignore it.

NOTE(s):
* Tested normal movement within opening creation menu:  Passed
* With Creation Menu Open:
    * Tested clicking around the world in empty space: Passed
    * Tested single selection: Passed
    * Tested single selection rotation (pitch, yaw, roll): Passed
    * Tested single selection translation (xz, y): Passed
    * Tested multiple selection: Passed
    * Tested multiple selection rotation (pitch, yaw, roll): Passed
    * Tested multiple selection translation (xz, y): Passed

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

Changes Committed:
	modified:   scripts/system/libraries/entitySelectionTool.js
2017-09-28 15:04:27 -04:00
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