Overte open source virtual worlds platform.
Find a file
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
android New android toolchain 2017-09-19 13:45:12 -07:00
assignment-client Commerce: Tons of Interface changes (#11463) 2017-09-27 14:43:51 -07:00
cmake Merge branch 'master' into android_new 2017-09-26 14:31:29 -07:00
domain-server Commerce: Tons of Interface changes (#11463) 2017-09-27 14:43:51 -07:00
gvr-interface Additional thread safety 2017-06-30 09:15:06 -07:00
ice-server add memory-debugging macro to some cmake files 2017-06-22 10:07:39 -07:00
interface Merge pull request #11476 from ElderOrb/case7925 2017-09-28 10:03:28 -07:00
libraries Merge pull request #11466 from SamGondelman/mirrorCrash 2017-09-27 16:17:04 -07:00
plugins Merge pull request #11465 from hyperlogic/bug-fix/teleporter-near-scale 2017-09-26 19:05:14 -07:00
script-archive Merge pull request #10562 from huffman/fix/graceful-controls 2017-06-21 12:52:36 -07:00
scripts [Case 6491] Cleanup of mousePressEvent/tool(s) onBegin (details below). 2017-09-28 15:04:20 -04:00
server-console Prevent thrashing by limiting to 10 restarts every 10 minutes 2017-06-30 14:34:49 -07:00
tests Merge branch 'master' into android_new 2017-09-26 14:31:29 -07:00
tools Merge branch 'master' into android_new 2017-09-26 14:31:29 -07:00
unpublishedScripts Merge pull request #11159 from vladest/modal_dialogs_async 2017-09-26 11:07:42 -07:00
.editorconfig adjust indentation and implement editorconfig at root of repo 2016-11-28 17:10:59 -08:00
.eslintrc.js add missing comma 2017-09-14 18:48:43 +03:00
.gitattributes New android toolchain 2017-09-19 13:45:12 -07:00
.gitignore New android toolchain 2017-09-19 13:45:12 -07:00
BUILD.md Fix OpenSSL build instructions 2017-09-19 12:07:24 -07:00
BUILD_ANDROID.md New android toolchain 2017-09-19 13:45:12 -07:00
BUILD_LINUX.md Create ubuntu specific documentation based on https://forums.highfidelity.com/t/how-to-compile-a-stable-build-of-the-linux-server-stack-on-ubuntu-16-04-lts/11528/16 and tested yesterday. 2017-07-14 08:44:59 +02:00
BUILD_OSX.md visual headers 2017-05-30 21:12:51 +02:00
BUILD_WIN.md Update BUILD_WIN.md 2017-08-31 11:56:27 -07:00
CMakeGraphvizOptions.cmake Trying to fix QtQml/QtScript crashes 2017-06-22 16:39:57 -07:00
CMakeLists.txt New android toolchain 2017-09-19 13:45:12 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-07-20 10:20:56 -04:00
INSTALL.md visual headers 2017-05-30 21:12:51 +02:00
LICENSE update LICENSE to include "and other platform" 2016-05-16 14:45:04 -07:00
README.md Link to coding standards. 2017-04-06 15:57:32 -04:00

High Fidelity (hifi) is an early-stage technology lab experimenting with Virtual Worlds and VR.

In this repository you'll find the source to many of the components in our alpha-stage virtual world. The project embraces distributed development and if you'd like to help, we'll pay you -- find out more at Worklist.net. If you find a small bug and have a fix, pull requests are welcome. If you'd like to get paid for your work, make sure you report the bug via a job on Worklist.net.

We're hiring! We're looking for skilled developers; send your resume to hiring@highfidelity.com

Chat with us

Come chat with us in our Gitter if you have any questions or just want to say hi!

Documentation

Documentation is available at docs.highfidelity.com, if something is missing, please suggest it via a new job on Worklist (add to the hifi-docs project).

There is also detailed documentation on our coding standards.

Build Instructions

All information required to build is found in the build guide.

Running Interface

When you launch interface, you will automatically connect to our default domain: "root.highfidelity.io".

If you don't see anything, make sure your preferences are pointing to root.highfidelity.io (set your domain via Cmnd+D/Cntrl+D), if you still have no luck it's possible our servers are simply down; if you're experiencing a major bug, let us know by adding an issue to this repository. Make sure to include details about your computer and how to reproduce the bug.

To move around in-world, use the arrow keys (and Shift + up/down to fly up or down) or W A S D, and E or C to fly up/down. All of the other possible options and features are available via menus in the Interface application.

Running your own servers

The assignment-client and domain-server are architectural components that will allow you to run the full stack of the virtual world.

In order to set up your own virtual world, you need to set up and run your own local "domain".

The domain-server gives a number different types of assignments to the assignment-client for different features: audio, avatars, voxels, particles, meta-voxels and models.

Follow the instructions in the build guide to build the various components.

From the domain-server build directory, launch a domain-server.

./domain-server

Then, run an assignment-client. The assignment-client uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port).

In a new Terminal window, run:

./assignment-client

Any target can be terminated with Ctrl-C (SIGINT) in the associated Terminal window.

This assignment-client will grab one assignment from the domain-server. You can tell the assignment-client what type you want it to be with the -t option. You can also run an assignment-client that forks off n assignment-clients with the -n option. The -min and -max options allow you to set a range of required assignment-clients, this allows you to have flexibility in the number of assignment-clients that are running. See --help for more options.

./assignment-client --min 6 --max 20

To test things out you'll want to run the Interface client.

To access your local domain in Interface, open your Preferences -- on OS X this is available in the Interface menu, on Linux you'll find it in the File menu. Enter "localhost" in the "Domain server" field.

If everything worked you should see that you are connected to at least one server. Nice work!