Commit graph

516 commits

Author SHA1 Message Date
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
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
David Rowe
367b3ec603 Handle nonvertical avatar orientation 2017-05-28 09:59:32 +12:00
David Rowe
f1dca5019a Fix making the tablet horizontal 2017-05-25 11:48:28 +12:00
David Rowe
6452e92ac9 Hand controller data may not be valid 2017-05-25 11:28:26 +12:00
David Rowe
925cca97db Make the tablet horizontal 2017-05-25 09:16:17 +12:00
David Rowe
39654779fb Position tablet relative to hand 2017-05-24 13:35:00 +12:00
Philip Rosedale
6e82343b29 Merge pull request #10406 from amvmoody/21289
21289 - Edit: Add the ability to duplicate an object with hand controller
2017-05-13 20:43:52 -07:00
Thijs Wenker
0a3a2705af Merge pull request #10426 from huffman/fix/tablet-invisible-by-default
Fix tablet showing up for a short period of time on launch
2017-05-11 15:03:52 +02:00
Mike Moody
89d93ee56d Updated HMD grab Clone to work with all entity types. 2017-05-11 04:16:22 -07:00
Philip Rosedale
f9567d0330 Merge pull request #10182 from CraftsmanMG/master
hifi: #21216 - Resize entities with hand controllers while editing
2017-05-10 22:03:35 -07:00
Ryan Huffman
51db0cef98 Fix tablet showing up for a short time on launch 2017-05-09 15:12:12 -07:00
Mike Moody
dae652d3db v1 HMD duplication overlay. 2017-05-08 11:25:24 -07:00
Mike Moody
03490c81da v1 with bug, looking into. 2017-05-06 15:36:18 -07:00
Seth Alves
960bab6e4e Merge branch 'master' of github.com:highfidelity/hifi into fix-dont-send-non-entity-edits-over-wire 2017-05-04 16:42:57 -07:00
Seth Alves
ed09dcbdc9 don't call editEntity on overlays 2017-05-03 21:32:06 -07:00
Delanir
27029eb8db Fix Code Standard
Fix indent lines 2799-2800
Fix one line that had more than 128 columns wide
2017-04-27 18:24:49 +01:00
Seth Alves
93f9716557 merge from upstream 2017-04-27 10:17:00 -07:00
Seth Alves
15661987be load tablet overlay models with higher priority 2017-04-27 10:16:08 -07:00
Zach Fox
9ace7a7488 Merge pull request #10279 from andrewd440/21174
21174 Make the Particle Emitter Easier to Use
2017-04-26 15:35:29 -07:00
Andrew Lowry
8479d835b2 Adds laser selection of particle systems while in edit mode in HMD. 2017-04-24 13:35:37 -04:00
Stephen Birarda
f64efe18c0 add an isBaked column to edit.js 2017-04-20 14:21:13 -07:00
Delanir
956d1e9d95 Fix Code Standard 2017-04-19 16:30:49 +01:00
Dante Ruiz
daf25c1fe8 fix crashes when clicking in the homebutton 2017-04-11 00:25:08 +01:00
Delanir
fcde85e51b Fix Style
- Replace tabs by 4 spaces;
- Add indents and spaces;
- Formated multi/line statement
- Removed out-of-scope comments.
2017-04-10 22:16:56 +01:00
Delanir
25a89a631b hifi: #21216 - Resize entities with hand controllers while editing
hifi: #21216 - Resize entities with hand controllers while editing
Modified StretchTool to allow for movement in 3D
- uses data from motion controller (position and rotation) to
stretch/resize the entities/primitives in 3D.
- the range of the resize depends on distance to the object.
2017-04-10 20:25:30 +01:00
Seth Alves
715493922e code review 2017-03-30 17:33:01 -07:00
Seth Alves
c62b07d26f add setLandscape call to tablet 2017-03-30 11:36:21 -07:00
Seth Alves
ce9eb1a377 more tablet landscape changes 2017-03-29 14:21:38 -07:00
Seth Alves
371df35013 remove code related to tablet being a model rather than an overlay. start on landscape mode 2017-03-29 14:16:14 -07:00
Anthony J. Thibault
29a159b90d WebTablet.js: Don't remove or add mouse callbacks onHMDChanged
This should prevent the exception on destroy, caused by disconnecting a signal that is not attached.
2017-03-28 09:27:13 -07:00
Seth Alves
902e3d41d6 merge from upstream 2017-03-24 08:20:35 -07:00
Anthony J. Thibault
2c38d7ff89 Tablet spawn orientation now takes hand orientation into account.
Perhaps this will make the tablet spawn location feel more predictable and consistent to the user.
2017-03-22 11:03:03 -07:00
Triplelexx
2d1ca99e2e change variable names that use Quat.getForward 2017-03-22 17:00:12 +00:00
Triplelexx
a964edee91 change all references of Quat.getFront to Quat.getForward in scripts directory 2017-03-21 22:25:30 +00:00
Seth Alves
1da6349505 merge from upstream 2017-03-21 10:26:02 -07:00
Ryan Huffman
13222468e3 Merge pull request #9712 from huffman/feat/edit-particle-icon
Add particle system overlay in edit.js
2017-03-21 10:02:52 -07:00
Seth Alves
bc90e9081b Merge pull request #9957 from hyperlogic/bug-fix/tablet-scale
Tablet scale settings now take effect soon after they are changed.
2017-03-20 15:05:47 -08:00
Anthony J. Thibault
f5c3d41f2c Tablet scale settings now take effect soon after they are changed. 2017-03-20 14:51:47 -07:00
Ryan Huffman
df644edde4 Fix hand controller not able to select light/particle icons 2017-03-20 09:45:50 -07:00
Faye Li
197a06c423 changes in TWO entityList.js to register the export event 2017-03-17 16:17:21 -07:00
Seth Alves
a5d19439f9 Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui 2017-03-16 16:32:07 -07:00
Ryan Huffman
d4ade8278c Fix js linting errors in entityIconOverlayManager.js 2017-03-13 11:27:12 -07:00
Ryan Huffman
dbcd7fd9e9 Fix light icon overlay not updating to represent light type 2017-03-13 10:10:53 -07:00
Ryan Huffman
42d518fafb Remove debug log in entityIconOverlayManager 2017-03-13 10:10:53 -07:00
Ryan Huffman
ce5ee42961 Update LightOverlayManager to work with particles 2017-03-13 10:10:53 -07:00
Anthony J. Thibault
07e10ae862 Merge branch 'tablet-ui' into feature/can-touch-this 2017-03-10 17:05:26 -08:00
Anthony J. Thibault
1acc5ea760 Finger now points when near tablet + deadspot added when touching the tablet 2017-03-08 19:03:56 -08:00
Seth Alves
de2dd7383d didn't need invis flag, after all 2017-03-08 15:30:49 -08:00
Seth Alves
371c20ee25 hide tablet by making it not visible rather than destroying it 2017-03-08 10:33:59 -08:00
Anthony J. Thibault
836c701cb3 More accurate and responsive stylus and finger touching.
The algorithm used to detect when and where the stylus or finger is touching the tablet has been improved.

* hovering the finger/stylus over the surface of the tablet should cause buttons to highlight.
* flicking or using the stylus like a drum stick, should more accurately click buttons on the tablet.
* stabbing the tablet quickly, should also more accurately trigger button presses.
* moving the hand/stylus from behind the tablet should be less likely to cause press events.
2017-03-07 18:19:32 -08:00
Thijs Wenker
b21bd3afa9 Make the time and slider follow the record.js toolbar 2017-03-08 01:14:11 +01:00
David Rowe
854292b193 Merge branch 'tablet-ui-edit-js' into 21199 2017-03-03 17:51:12 +13:00
Seth Alves
3b581a8dfe merge from upstream 2017-03-02 16:35:44 -08:00
Seth Alves
10cb7aab06 Merge pull request #9684 from Menithal/parent-hotkey
WL#20856 Added Parenting Hotkeys to Edit.js Among Visual tweaks
2017-03-02 16:30:43 -08:00
Seth Alves
c2085ebb6e Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui-edit-js 2017-02-28 13:33:51 -08:00
Dante Ruiz
d5714bfa6e Merge branch 'master' into menuFix 2017-02-28 16:55:44 +00:00
Seth Alves
117be16c31 pull from upstream 2017-02-27 16:48:23 -08:00
Dante Ruiz
21c15927cf Homebutton dimension and position scales with tablet 2017-02-27 19:33:52 +00:00
Dante Ruiz
73c337efd0 Merge branch 'tablet-ui-edit-js' of github.com:sethalves/hifi into menuFix 2017-02-25 00:42:22 +00:00
Dante Ruiz
835b23832f some modal clean up 2017-02-25 00:40:38 +00:00
Seth Alves
fcd3c09404 Merge branch 'tablet-ui-tablet-is-overlay' of github.com:sethalves/hifi into tablet-ui-edit-js-tablet-as-overlay 2017-02-24 14:27:30 -08:00
Seth Alves
b2a35f45db when tablet is an overlay, use the model-fbx from the distribution (local disk copy) rather than the one on s3 2017-02-24 13:04:43 -08:00
Seth Alves
70060eb464 in 2d mode, clicks on tablet don't get used for other things
Conflicts:
	scripts/system/libraries/entitySelectionTool.js
2017-02-24 11:37:04 -08:00
Seth Alves
e43c4c17f5 in 2d mode, clicks on tablet don't get used for other things 2017-02-23 21:27:25 -08:00
Seth Alves
ce717d04e9 merge in tablet-as-overlay code 2017-02-23 18:40:20 -08:00
Seth Alves
610c20e01a Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui-edit-js 2017-02-23 17:41:38 -08:00
Seth Alves
9c0104a060 don't use Entities.getEntityProperties on tablet when it's an overlay 2017-02-23 14:55:52 -08:00
Seth Alves
37004e4347 steps toward making mouse work on tablet 2017-02-23 08:11:31 -08:00
Dante Ruiz
63a78a73db Merge branch 'master' into menuFix 2017-02-23 15:45:30 +00:00
Seth Alves
84f95e6776 oops 2017-02-22 19:18:42 -08:00
Seth Alves
b4be942348 trying to get tablet overlay to show up in the right place 2017-02-22 19:18:03 -08:00
Seth Alves
bcf1f9ab4c Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui-tablet-is-overlay 2017-02-22 16:50:29 -08:00
Seth Alves
bfc4853947 make overlays near-grabbable. make tablet be an overlay 2017-02-22 16:50:02 -08:00
Chris Collins
94517057d6 Merge pull request #9721 from hyperlogic/bug-fix/tablet-ui-tablet-placement
More consistent tablet angle when first creating the tablet.
2017-02-22 15:00:17 -08:00
Seth Alves
5bff2034c3 cleanups, attempt to get particle explorer to work right 2017-02-22 12:07:18 -08:00
Anthony J. Thibault
4866be1f52 More consistent tablet angle when first creating the tablet.
The tablet should more constantly be placed above your hand, while facing your head.
It fixes the issue where the tablet would appear almost horizontal when your hand was close to your HMD and at eye level.
2017-02-21 16:01:46 -08:00
Menithal
f5d266a562 Updated 2017-02-17 23:28:28 +02:00
Seth Alves
39e1edafd2 merge from upstream 2017-02-17 13:16:12 -08:00
Seth Alves
5ddcbae934 save tablet web-overlay ID in HMD interface. don't trigger edit affordances if the click was intented for the tablet 2017-02-17 11:51:23 -08:00
Seth Alves
47cdade1e9 fix home-button on tablet 2017-02-17 11:47:37 -08:00
Seth Alves
b6b6ad780d allow isSpotlight to be 0 or 1 2017-02-16 17:15:52 -08:00
Menithal
d96f95a7e9 Updated edit.js and selection tool
Last selected entity will now be yellow instead of orange
2017-02-16 10:05:59 +02:00
Seth Alves
076b0ed3ab get particle explorer working, again 2017-02-15 15:00:25 -08:00