From 7da0935db2bd50633a04ba24f3e6b54b2bd9df65 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 13 Apr 2016 12:41:49 -0700 Subject: [PATCH 001/106] grab.js will do heart-beat in userData so handControllerGrab.js wont see it as an abandoned grab --- examples/grab.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/examples/grab.js b/examples/grab.js index f9d1f41b97..8857b5f611 100644 --- a/examples/grab.js +++ b/examples/grab.js @@ -29,6 +29,10 @@ var IDENTITY_QUAT = { var GRABBABLE_DATA_KEY = "grabbableKey"; // shared with handControllerGrab.js var GRAB_USER_DATA_KEY = "grabKey"; // shared with handControllerGrab.js +var MSECS_PER_SEC = 1000.0; +var HEART_BEAT_INTERVAL = 5 * MSECS_PER_SEC; +var HEART_BEAT_TIMEOUT = 15 * MSECS_PER_SEC; + var DEFAULT_GRABBABLE_DATA = { grabbable: true, invertSolidWhileHeld: false @@ -335,6 +339,9 @@ Grabber.prototype.pressEvent = function(event) { mouse.startDrag(event); + var now = Date.now(); + this.lastHeartBeat = 0; + var clickedEntity = pickResults.entityID; var entityProperties = Entities.getEntityProperties(clickedEntity) this.startPosition = entityProperties.position; @@ -399,12 +406,26 @@ Grabber.prototype.releaseEvent = function(event) { } } + +Grabber.prototype.heartBeat = function(entityID) { + var now = Date.now(); + if (now - this.lastHeartBeat > HEART_BEAT_INTERVAL) { + var data = getEntityCustomData(GRAB_USER_DATA_KEY, entityID, {}); + data["heartBeat"] = now; + setEntityCustomData(GRAB_USER_DATA_KEY, entityID, data); + this.lastHeartBeat = now; + } +}; + + Grabber.prototype.moveEvent = function(event) { if (!this.isGrabbing) { return; } mouse.updateDrag(event); + this.heartBeat(this.entityID); + // see if something added/restored gravity var entityProperties = Entities.getEntityProperties(this.entityID); if (Vec3.length(entityProperties.gravity) != 0) { From 000d6c8a68d89063648147dc7ce1500208bd71bf Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 13 Apr 2016 12:48:05 -0700 Subject: [PATCH 002/106] when doing a parenting grab of something that already has an action, set the parent back to null when releasing --- examples/controllers/handControllerGrab.js | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/examples/controllers/handControllerGrab.js b/examples/controllers/handControllerGrab.js index 4b20651899..f0966ac53b 100644 --- a/examples/controllers/handControllerGrab.js +++ b/examples/controllers/handControllerGrab.js @@ -102,7 +102,6 @@ var ZERO_VEC = { }; var NULL_UUID = "{00000000-0000-0000-0000-000000000000}"; -var MSEC_PER_SEC = 1000.0; // these control how long an abandoned pointer line or action will hang around var LIFETIME = 10; @@ -837,7 +836,7 @@ function MyController(hand) { this.search = function() { this.grabbedEntity = null; this.isInitialGrab = false; - this.doubleParentGrab = false; + this.shouldResetParentOnRelease = false; this.checkForStrayChildren(); @@ -914,7 +913,7 @@ function MyController(hand) { candidateEntities = rayPickedCandidateEntities.concat(nearPickedCandidateEntities); var forbiddenNames = ["Grab Debug Entity", "grab pointer"]; - var forbiddenTypes = ['Unknown', 'Light', 'ParticleEffect', 'PolyLine', 'Zone']; + var forbiddenTypes = ['Unknown', 'Light', 'PolyLine', 'Zone']; var minDistance = PICK_MAX_DISTANCE; var i, props, distance, grabbableData; @@ -1019,6 +1018,10 @@ function MyController(hand) { if (this.state == STATE_SEARCHING) { this.setState(STATE_NEAR_GRABBING); } else { // (this.state == STATE_HOLD_SEARCHING) + // if there was already an action, we'll need to set the parent back to null once we release + this.shouldResetParentOnRelease = true; + this.previousParentID = props.parentID; + this.previousParentJointIndex = props.parentJointIndex; this.setState(STATE_HOLD); } return; @@ -1064,7 +1067,7 @@ function MyController(hand) { // it's not physical and it's already held via parenting. go ahead and grab it, but // save off the current parent and joint. this wont always be right if there are more than // two grabs and the order of release isn't opposite of the order of grabs. - this.doubleParentGrab = true; + this.shouldResetParentOnRelease = true; this.previousParentID = props.parentID; this.previousParentJointIndex = props.parentJointIndex; if (this.state == STATE_SEARCHING) { @@ -1149,7 +1152,7 @@ function MyController(hand) { if (this.actionID === NULL_UUID) { this.actionID = null; } - this.actionTimeout = now + (ACTION_TTL * MSEC_PER_SEC); + this.actionTimeout = now + (ACTION_TTL * MSECS_PER_SEC); if (this.actionID !== null) { this.setState(STATE_CONTINUE_DISTANCE_HOLDING); @@ -1184,7 +1187,7 @@ function MyController(hand) { var grabbedProperties = Entities.getEntityProperties(this.grabbedEntity, GRABBABLE_PROPERTIES); var now = Date.now(); - var deltaTime = (now - this.currentObjectTime) / MSEC_PER_SEC; // convert to seconds + var deltaTime = (now - this.currentObjectTime) / MSECS_PER_SEC; // convert to seconds this.currentObjectTime = now; // the action was set up when this.distanceHolding was called. update the targets. @@ -1302,7 +1305,7 @@ function MyController(hand) { ttl: ACTION_TTL }); if (success) { - this.actionTimeout = now + (ACTION_TTL * MSEC_PER_SEC); + this.actionTimeout = now + (ACTION_TTL * MSECS_PER_SEC); } else { print("continueDistanceHolding -- updateAction failed"); } @@ -1327,7 +1330,7 @@ function MyController(hand) { return false; } var now = Date.now(); - this.actionTimeout = now + (ACTION_TTL * MSEC_PER_SEC); + this.actionTimeout = now + (ACTION_TTL * MSECS_PER_SEC); return true; }; @@ -1563,7 +1566,7 @@ function MyController(hand) { var now = Date.now(); var deltaPosition = Vec3.subtract(handControllerPosition, this.currentHandControllerTipPosition); // meters - var deltaTime = (now - this.currentObjectTime) / MSEC_PER_SEC; // convert to seconds + var deltaTime = (now - this.currentObjectTime) / MSECS_PER_SEC; // convert to seconds if (deltaTime > 0.0) { var worldDeltaPosition = Vec3.subtract(props.position, this.currentObjectPosition); @@ -1590,7 +1593,7 @@ function MyController(hand) { this.callEntityMethodOnGrabbed("continueNearGrab"); } - if (this.actionID && this.actionTimeout - now < ACTION_TTL_REFRESH * MSEC_PER_SEC) { + if (this.actionID && this.actionTimeout - now < ACTION_TTL_REFRESH * MSECS_PER_SEC) { // if less than a 5 seconds left, refresh the actions ttl var success = Entities.updateAction(this.grabbedEntity, this.actionID, { hand: this.hand === RIGHT_HAND ? "right" : "left", @@ -1603,7 +1606,7 @@ function MyController(hand) { ignoreIK: this.ignoreIK }); if (success) { - this.actionTimeout = now + (ACTION_TTL * MSEC_PER_SEC); + this.actionTimeout = now + (ACTION_TTL * MSECS_PER_SEC); } else { print("continueNearGrabbing -- updateAction failed"); Entities.deleteAction(this.grabbedEntity, this.actionID); @@ -1881,7 +1884,7 @@ function MyController(hand) { } data = null; - } else if (this.doubleParentGrab) { + } else if (this.shouldResetParentOnRelease) { // we parent-grabbed this from another parent grab. try to put it back where we found it. var deactiveProps = { parentID: this.previousParentID, From 3186984586b3c40f37c660bf7a6fc0d9ebc3f53b Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 13 Apr 2016 13:39:06 -0700 Subject: [PATCH 003/106] don't give velocity to non-physical things when they are released --- examples/controllers/handControllerGrab.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/examples/controllers/handControllerGrab.js b/examples/controllers/handControllerGrab.js index f0966ac53b..f79773fe6c 100644 --- a/examples/controllers/handControllerGrab.js +++ b/examples/controllers/handControllerGrab.js @@ -739,10 +739,6 @@ function MyController(hand) { }; this.propsArePhysical = function(props) { - if (!props.dynamic && props.parentID != MyAvatar.sessionUUID) { - // if we have parented something, don't do this check on dynamic. - return false; - } var isPhysical = (props.shapeType && props.shapeType != 'none'); return isPhysical; } @@ -1841,12 +1837,12 @@ function MyController(hand) { // things that are held by parenting and dropped with no velocity will end up as "static" in bullet. If // it looks like the dropped thing should fall, give it a little velocity. - var props = Entities.getEntityProperties(entityID, ["parentID", "velocity"]) + var props = Entities.getEntityProperties(entityID, ["parentID", "velocity", "dynamic", "shapeType"]) var parentID = props.parentID; var forceVelocity = false; var doSetVelocity = false; - if (parentID != NULL_UUID && deactiveProps.parentID == NULL_UUID) { + if (parentID != NULL_UUID && deactiveProps.parentID == NULL_UUID && this.propsArePhysical(props)) { // TODO: EntityScriptingInterface::convertLocationToScriptSemantics should be setting up // props.velocity to be a world-frame velocity and localVelocity to be vs parent. Until that // is done, we use a measured velocity here so that things held via a bumper-grab / parenting-grab From b88f478dc4e744e440acadaca417b076e6bef141 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Sat, 23 Apr 2016 18:01:04 -0700 Subject: [PATCH 004/106] Checkpoint --- examples/controllers/handControllerPointer.js | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 examples/controllers/handControllerPointer.js diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js new file mode 100644 index 0000000000..2d8c9b4755 --- /dev/null +++ b/examples/controllers/handControllerPointer.js @@ -0,0 +1,104 @@ +// +// handControllerPointer.js +// examples/controllers +// +// Created by Howard Stearns on 2016/04/22 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +// For now: +// Right hand only. +// HMD only. (Desktop isn't turned off, but right now it's using +// HMD.overlayFromWorldPoint(HMD.calculateRayUICollisionPoint ...) without compensation.) +// Cursor all the time when uncradled. (E.g., not just when blue ray is on, or five seconds after movement, etc.) +// Button 3 is left-mouse, button 4 is right-mouse. + +function debug() { // Display the arguments not just [Object object]. + print.apply(null, [].map.call(arguments, JSON.stringify)); +} + +function calculateRayUICollisionPoint(position, direction) { + // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. + if (HMD.active) { + return HMD.calculateRayUICollisionPoint(position, direction); + } + // interect HUD plane, 1m in front of camera, using formula: + // scale = hudNormal dot (hudPoint - position) / hudNormal dot direction + // intersection = postion + scale*direction + var hudNormal = Quat.getFront(Camera.getOrientation()); + var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // 1m out + var denominator = Vec3.dot(hudNormal, direction); + if (denominator === 0) { return null; } // parallel to plane + var numerator = Vec3.dot(hudNormal, Vec3.subtract(hudPoint, position)); + var scale = numerator / denominator; + return Vec3.sum(position, Vec3.multiply(scale, direction)); +} +var DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees +var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds +var verticalHalfFieldOfView = (Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW) / 2; +var settingsChecker = Script.setInterval(function () { + verticalHalfFieldOfView = (Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW) / 2; +}, SETTINGS_CHANGE_RECHECK_INTERVAL); +function overlayFromWorldPoint(point) { + // Answer the 2d pixel-space location in the HUD that covers the given 3D point. + if (HMD.active) { + return HMD.overlayFromWorldPoint(point); + } + // Find the yaw and pitch from camera to position, as a fraction of view frustrum, and multiply by current screen size. + var hudNormal = Quat.getFront(Camera.getOrientation()); + var cameraToPoint = Vec3.subtract(point, Camera.getPosition()); + var eulerDegrees = Quat.safeEulerAngles(Quat.rotationBetween(hudNormal, cameraToPoint)); + var size = Reticle.maximumPosition; + var horizontalHalfFieldOfView = size.x * verticalHalfFieldOfView / size.y; + return { + x: size.x * (eulerDegrees.x / horizontalHalfFieldOfView + 0.5), + y: size.y * (eulerDegrees.y / verticalHalfFieldOfView + 0.5) + }; +} + +var MAPPING_NAME = Script.resolvePath(''); +var mapping = Controller.newMapping(MAPPING_NAME); +function mapToAction(controller, button, action) { + if (!Controller.Hardware[controller]) { return; } + mapping.from(Controller.Hardware[controller][button]).peek().to(Controller.Actions[action]); +} +mapToAction('Hydra', 'R3', 'ReticleClick'); +mapToAction('Hydra', 'R4', 'ContextMenu'); +mapping.enable(); + +var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere + size: 0.011, + color: {red: 10, green: 10, blue: 255}, + alpha: 0.5, + solid: true, + visible: true +}); +var counter = 0; +function update() { + if (Controller.getValue(Controller.Standard.RT)) { return; } // Interferes with other scripts. + var hand = Controller.Standard.RightHand, + controllerPose = Controller.getPoseValue(hand); + if (!controllerPose.valid) { return; } // Controller is cradled. + var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), + MyAvatar.position); + // This gets point direction right, but if you want general quaternion it would be more complicated: + var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); + var hudPoint3d = HMD.calculateRayUICollisionPoint(controllerPosition, controllerDirection); + //Overlays.editOverlay(terminatingBall, {position: hudPoint3d}); // FIXME remove + if (!hudPoint3d) { return; } // E.g., parallel to the screen. + var hudPoint2d = HMD.overlayFromWorldPoint(hudPoint3d); + if (!(counter++ % 50)) debug(hudPoint3d, hudPoint2d); + Reticle.setPosition(hudPoint2d); +} + +var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. +var updater = Script.setInterval(update, UPDATE_INTERVAL); +Script.scriptEnding.connect(function () { + Overlays.deleteOverlay(terminatingBall); + Script.clearInterval(updater); + Script.clearInterval(settingsChecker); + mapping.disable(); +}); From 2425baf6e698c6c91eeae15a8aba0238e2c9ea1c Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 24 Apr 2016 08:14:56 -0700 Subject: [PATCH 005/106] don't early _exit on Linux --- interface/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 4b6d50c274..bf1fe1d922 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -203,7 +203,7 @@ int main(int argc, const char* argv[]) { Application::shutdownPlugins(); qCDebug(interfaceapp, "Normal exit."); -#ifndef DEBUG +#if defined(DEBUG) && !defined(Q_OS_LINUX) // HACK: exit immediately (don't handle shutdown callbacks) for Release build _exit(exitCode); #endif From c9df4468794a462f993c8ccfe40f3567df0fcdea Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 24 Apr 2016 08:15:10 -0700 Subject: [PATCH 006/106] web-entities don't yet work right on Linux --- libraries/entities-renderer/src/RenderableWebEntityItem.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp index 855fd16408..9edcd8259c 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp @@ -51,6 +51,11 @@ RenderableWebEntityItem::~RenderableWebEntityItem() { } bool RenderableWebEntityItem::buildWebSurface(EntityTreeRenderer* renderer) { + #ifdef defined(Q_OS_LINUX) + // these don't seem to work on Linux + return false; + #endif + if (_currentWebCount >= MAX_CONCURRENT_WEB_VIEWS) { qWarning() << "Too many concurrent web views to create new view"; return false; From 11e2e209e27bea2dd1577d657c201a77f418e56a Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Sun, 24 Apr 2016 20:32:21 -0700 Subject: [PATCH 007/106] Can use mouse for debugging/development when you don't have a working hydra. --- examples/controllers/handControllerPointer.js | 122 ++++++++++++++---- 1 file changed, 94 insertions(+), 28 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 2d8c9b4755..94cef25fab 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -1,3 +1,7 @@ +"use strict"; +/*jslint vars: true, plusplus: true*/ +/*globals Script, Overlays, Controller, Reticle, HMD, Camera, MyAvatar, Settings, Vec3, Quat, print */ + // // handControllerPointer.js // examples/controllers @@ -16,10 +20,31 @@ // Cursor all the time when uncradled. (E.g., not just when blue ray is on, or five seconds after movement, etc.) // Button 3 is left-mouse, button 4 is right-mouse. +var counter = 0, skip = 50; function debug() { // Display the arguments not just [Object object]. + if (skip && (counter++ % skip)) { return; } print.apply(null, [].map.call(arguments, JSON.stringify)); } +// Keep track of the vertical fieldOfView setting: +var DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees +var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds +var verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; +var settingsChecker = Script.setInterval(function () { + verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; +}, SETTINGS_CHANGE_RECHECK_INTERVAL); +Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); + +function getViewportDimensions() { + return Controller.getViewportDimensions(); +} + +// Define shimable functions for getting hand controller and setting cursor, for the normal +// case of having a hand controller. Alternative are at the bottom of the file. +var getControllerPose = Controller.getPoseValue; +var setCursor = Reticle.setPosition; + +// Generalized HUD utilities, with or without HDM: function calculateRayUICollisionPoint(position, direction) { // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. if (HMD.active) { @@ -36,29 +61,24 @@ function calculateRayUICollisionPoint(position, direction) { var scale = numerator / denominator; return Vec3.sum(position, Vec3.multiply(scale, direction)); } -var DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees -var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds -var verticalHalfFieldOfView = (Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW) / 2; -var settingsChecker = Script.setInterval(function () { - verticalHalfFieldOfView = (Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW) / 2; -}, SETTINGS_CHANGE_RECHECK_INTERVAL); +var DEGREES_TO_HALF_RADIANS = Math.PI / 360; function overlayFromWorldPoint(point) { // Answer the 2d pixel-space location in the HUD that covers the given 3D point. if (HMD.active) { return HMD.overlayFromWorldPoint(point); } - // Find the yaw and pitch from camera to position, as a fraction of view frustrum, and multiply by current screen size. - var hudNormal = Quat.getFront(Camera.getOrientation()); var cameraToPoint = Vec3.subtract(point, Camera.getPosition()); - var eulerDegrees = Quat.safeEulerAngles(Quat.rotationBetween(hudNormal, cameraToPoint)); - var size = Reticle.maximumPosition; - var horizontalHalfFieldOfView = size.x * verticalHalfFieldOfView / size.y; - return { - x: size.x * (eulerDegrees.x / horizontalHalfFieldOfView + 0.5), - y: size.y * (eulerDegrees.y / verticalHalfFieldOfView + 0.5) - }; + var cameraX = Vec3.dot(cameraToPoint, Quat.getRight(Camera.getOrientation())); + var cameraY = Vec3.dot(cameraToPoint, Quat.getUp(Camera.getOrientation())); + var size = getViewportDimensions(); + var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); + var hudWidth = hudHeight * size.x / size.y; + var horizontalPixels = size.x * (cameraX / hudWidth + 0.5); + var verticalPixels = size.y * (1 - (cameraY / hudHeight + 0.5)); + return { x: horizontalPixels, y: verticalPixels }; } +// Synthesize left and right mouse click from controller: var MAPPING_NAME = Script.resolvePath(''); var mapping = Controller.newMapping(MAPPING_NAME); function mapToAction(controller, button, action) { @@ -68,30 +88,30 @@ function mapToAction(controller, button, action) { mapToAction('Hydra', 'R3', 'ReticleClick'); mapToAction('Hydra', 'R4', 'ContextMenu'); mapping.enable(); +Script.scriptEnding.connect(mapping.disable); var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere size: 0.011, color: {red: 10, green: 10, blue: 255}, - alpha: 0.5, + alpha: 0.8, solid: true, visible: true }); -var counter = 0; + function update() { if (Controller.getValue(Controller.Standard.RT)) { return; } // Interferes with other scripts. - var hand = Controller.Standard.RightHand, - controllerPose = Controller.getPoseValue(hand); + var hand = Controller.Standard.RightHand; + var controllerPose = getControllerPose(hand); if (!controllerPose.valid) { return; } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); - // This gets point direction right, but if you want general quaternion it would be more complicated: - var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); - var hudPoint3d = HMD.calculateRayUICollisionPoint(controllerPosition, controllerDirection); - //Overlays.editOverlay(terminatingBall, {position: hudPoint3d}); // FIXME remove + // This gets point direction right, but if you want general quaternion it would be more complicated: + var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); + + var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); if (!hudPoint3d) { return; } // E.g., parallel to the screen. - var hudPoint2d = HMD.overlayFromWorldPoint(hudPoint3d); - if (!(counter++ % 50)) debug(hudPoint3d, hudPoint2d); - Reticle.setPosition(hudPoint2d); + Overlays.editOverlay(terminatingBall, {position: hudPoint3d}); + setCursor(overlayFromWorldPoint(hudPoint3d)); } var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. @@ -99,6 +119,52 @@ var updater = Script.setInterval(update, UPDATE_INTERVAL); Script.scriptEnding.connect(function () { Overlays.deleteOverlay(terminatingBall); Script.clearInterval(updater); - Script.clearInterval(settingsChecker); - mapping.disable(); }); + + +// The rest of this is for debugging without working hand controllers, using a line from camera to mouse, and an image for cursor. +var CONTROLLER_ROTATION = Quat.fromPitchYawRollDegrees(90, 180, -90); +if (!Controller.Hardware.Hydra) { + var mouseKeeper = {x: 0, y: 0}; + var onMouseMove = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; + Controller.mouseMoveEvent.connect(onMouseMove); + Script.scriptEnding.connect(function () { Controller.mouseMoveEvent.disconnect(onMouseMove); }); + getControllerPose = function () { + var size = getViewportDimensions(); + var handPoint = Vec3.subtract(Camera.getPosition(), MyAvatar.position); // Pretend controller is at camera + + // In world-space 3D meters: + var rotation = Camera.getOrientation(); + var normal = Quat.getFront(rotation); + var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); + var hudWidth = hudHeight * size.x / size.y; + var rightFraction = mouseKeeper.x / size.x - 0.5; + var rightMeters = rightFraction * hudWidth; + var upFraction = mouseKeeper.y / size.y - 0.5; + var upMeters = upFraction * hudHeight * -1; + var right = Vec3.multiply(Quat.getRight(rotation), rightMeters); + var up = Vec3.multiply(Quat.getUp(rotation), upMeters); + var direction = Vec3.sum(normal, Vec3.sum(right, up)); + var mouseRotation = Quat.rotationBetween(normal, direction); + + var controllerRotation = Quat.multiply(Quat.multiply(mouseRotation, rotation), CONTROLLER_ROTATION); + var inverseAvatar = Quat.inverse(MyAvatar.orientation); + return { + valid: true, + translation: Vec3.multiplyQbyV(inverseAvatar, handPoint), + rotation: Quat.multiply(inverseAvatar, controllerRotation) + }; + }; + // We can't set the mouse if we're using the mouse as a fake controller. So stick an image where we would be putting the mouse. + var reticleHalfSize = 16; + var fakeReticle = Overlays.addOverlay("image", { + imageURL: "http://s3.amazonaws.com/hifi-public/images/delete.png", + width: 2 * reticleHalfSize, + height: 2 * reticleHalfSize, + alpha: 0.7 + }); + Script.scriptEnding.connect(function () { Overlays.deleteOverlay(fakeReticle); }); + setCursor = function (hudPoint2d) { + Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); + }; +} From 24f78eafa405a384635a0aebaf834ff8a09cc018 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Mon, 25 Apr 2016 09:15:53 -0700 Subject: [PATCH 008/106] checkpoint --- examples/controllers/handControllerPointer.js | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 94cef25fab..b66ac5d7d8 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -35,12 +35,9 @@ var settingsChecker = Script.setInterval(function () { }, SETTINGS_CHANGE_RECHECK_INTERVAL); Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); -function getViewportDimensions() { - return Controller.getViewportDimensions(); -} -// Define shimable functions for getting hand controller and setting cursor, for the normal -// case of having a hand controller. Alternative are at the bottom of the file. +// Define shimmable functions for getting hand controller and setting cursor, accomodating +// the normal case of having a hand controller and the alternative at the bottom of this file. var getControllerPose = Controller.getPoseValue; var setCursor = Reticle.setPosition; @@ -70,7 +67,7 @@ function overlayFromWorldPoint(point) { var cameraToPoint = Vec3.subtract(point, Camera.getPosition()); var cameraX = Vec3.dot(cameraToPoint, Quat.getRight(Camera.getOrientation())); var cameraY = Vec3.dot(cameraToPoint, Quat.getUp(Camera.getOrientation())); - var size = getViewportDimensions(); + var size = Controller.getViewportDimensions(); var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); var hudWidth = hudHeight * size.x / size.y; var horizontalPixels = size.x * (cameraX / hudWidth + 0.5); @@ -90,12 +87,24 @@ mapToAction('Hydra', 'R4', 'ContextMenu'); mapping.enable(); Script.scriptEnding.connect(mapping.disable); + +// Here's the meat: + +var LASER_COLOR = {red: 10, green: 10, blue: 255}; var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere size: 0.011, - color: {red: 10, green: 10, blue: 255}, - alpha: 0.8, - solid: true, - visible: true + color: LASER_COLOR, + ignoreRayIntersection: true, + alpha: 0.8, // handControllerGrab has this as 0.5, but I have trouble seeing that. + visible: true, + solid: true +}); +var laserLine = Overlays.addOverlay("line3d", { // same properties as handControllerGrab search line + lineWidth: 5, + color: LASER_COLOR, + ignoreRayIntersection: true, + visible: true, + alpha: 1 }); function update() { @@ -111,6 +120,7 @@ function update() { var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); if (!hudPoint3d) { return; } // E.g., parallel to the screen. Overlays.editOverlay(terminatingBall, {position: hudPoint3d}); + Overlays.editOverlay(laserLine, {start: controllerPosition, end: hudPoint3d}); setCursor(overlayFromWorldPoint(hudPoint3d)); } @@ -118,19 +128,20 @@ var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. var updater = Script.setInterval(update, UPDATE_INTERVAL); Script.scriptEnding.connect(function () { Overlays.deleteOverlay(terminatingBall); + Overlays.deleteOverlay(laserLine); Script.clearInterval(updater); }); - +// ------------------------------------------------------------------------------------------------------------------------------- // The rest of this is for debugging without working hand controllers, using a line from camera to mouse, and an image for cursor. var CONTROLLER_ROTATION = Quat.fromPitchYawRollDegrees(90, 180, -90); -if (!Controller.Hardware.Hydra) { +if (!Controller.Hardware.Hydra) { // Check is made at script load time, not continuously while running. var mouseKeeper = {x: 0, y: 0}; var onMouseMove = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; Controller.mouseMoveEvent.connect(onMouseMove); Script.scriptEnding.connect(function () { Controller.mouseMoveEvent.disconnect(onMouseMove); }); getControllerPose = function () { - var size = getViewportDimensions(); + var size = Controller.getViewportDimensions(); var handPoint = Vec3.subtract(Camera.getPosition(), MyAvatar.position); // Pretend controller is at camera // In world-space 3D meters: @@ -155,7 +166,13 @@ if (!Controller.Hardware.Hydra) { rotation: Quat.multiply(inverseAvatar, controllerRotation) }; }; + // We can't set the mouse if we're using the mouse as a fake controller. So stick an image where we would be putting the mouse. + // WARNING: This fake cursor is an overlay that will be the target of clicks and drags rather than other overlays underneath it! + if (true) { // Don't do the overlay, but do turn off cursor warping, which would be circular. + setCursor = function () { }; + return; + } var reticleHalfSize = 16; var fakeReticle = Overlays.addOverlay("image", { imageURL: "http://s3.amazonaws.com/hifi-public/images/delete.png", From 570d4a4a163429b83b14581ff937de0c7b04010c Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Mon, 25 Apr 2016 15:13:23 -0700 Subject: [PATCH 009/106] checkpoint "demo" --- examples/controllers/handControllerPointer.js | 131 ++++++++++++++---- 1 file changed, 107 insertions(+), 24 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index b66ac5d7d8..1fbe5cbed0 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -20,13 +20,23 @@ // Cursor all the time when uncradled. (E.g., not just when blue ray is on, or five seconds after movement, etc.) // Button 3 is left-mouse, button 4 is right-mouse. +// UTILITIES ------------- +// var counter = 0, skip = 50; function debug() { // Display the arguments not just [Object object]. if (skip && (counter++ % skip)) { return; } print.apply(null, [].map.call(arguments, JSON.stringify)); } -// Keep track of the vertical fieldOfView setting: +// Utility to make it easier to setup and disconnect cleanly. +function setupHandler(event, handler) { + event.connect(handler); + Script.scriptEnding.connect(function () { event.disconnect(handler); }); +} + +// VERTICAL FIELD OF VIEW --------- +// +// Cache the verticalFieldOfView setting and update it every so often. var DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds var verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; @@ -35,13 +45,20 @@ var settingsChecker = Script.setInterval(function () { }, SETTINGS_CHANGE_RECHECK_INTERVAL); Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); - -// Define shimmable functions for getting hand controller and setting cursor, accomodating -// the normal case of having a hand controller and the alternative at the bottom of this file. +// SHIMS ---------- +// +// Define shimable functions for getting hand controller and setting cursor, for the normal +// case of having a hand controller. Alternative are at the bottom of the file. var getControllerPose = Controller.getPoseValue; -var setCursor = Reticle.setPosition; +var setCursor = function (point2d) { + if (!HMD.active) { + // FIX BUG: The width of the window title bar (on Windows, anyway). + point2d = {x: point2d.x, y: point2d.y + 50}; + } + Reticle.setPosition(point2d); +} -// Generalized HUD utilities, with or without HDM: +// Generalized HUD utilities, with or without HMD: function calculateRayUICollisionPoint(position, direction) { // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. if (HMD.active) { @@ -61,6 +78,10 @@ function calculateRayUICollisionPoint(position, direction) { var DEGREES_TO_HALF_RADIANS = Math.PI / 360; function overlayFromWorldPoint(point) { // Answer the 2d pixel-space location in the HUD that covers the given 3D point. + // REQUIRES: that the 3d point be on the hud surface! + // Note that this is based on the Camera, and doesn't know anything about any + // ray that may or may not have been used to compute the point. E.g., the + // overlay point is NOT the intersection of some non-camera ray with the HUD. if (HMD.active) { return HMD.overlayFromWorldPoint(point); } @@ -70,11 +91,15 @@ function overlayFromWorldPoint(point) { var size = Controller.getViewportDimensions(); var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); var hudWidth = hudHeight * size.x / size.y; - var horizontalPixels = size.x * (cameraX / hudWidth + 0.5); - var verticalPixels = size.y * (1 - (cameraY / hudHeight + 0.5)); + var horizontalFraction = (cameraX / hudWidth + 0.5); + var verticalFraction = 1 - (cameraY / hudHeight + 0.5); + var horizontalPixels = size.x * horizontalFraction; + var verticalPixels = size.y * verticalFraction; return { x: horizontalPixels, y: verticalPixels }; } +// CONTROLLER MAPPING --------- +// // Synthesize left and right mouse click from controller: var MAPPING_NAME = Script.resolvePath(''); var mapping = Controller.newMapping(MAPPING_NAME); @@ -88,27 +113,54 @@ mapping.enable(); Script.scriptEnding.connect(mapping.disable); -// Here's the meat: +// MOUSE LOCKOUT -------- +// +var MOUSE_MOVE_LOCKOUT_TIME = 1000; //fixme 5000; // milliseconds after mouse movement before hand controller can move pointer. +var mouseMoved = 0, weMovedReticle = false; +if (Controller.Hardware.Hydra) { + function onMouseMove(event) { + if (weMovedReticle) { weMovedReticle = false; return; } + Reticle.visible = true; + mouseMoved = Date.now(); + } + setupHandler(Controller.mouseMoveEvent, onMouseMove); +} +// MAIN OPERATIONS ----------- +// var LASER_COLOR = {red: 10, green: 10, blue: 255}; var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere - size: 0.011, + size: 0.1, //FIXME 0.011, color: LASER_COLOR, ignoreRayIntersection: true, alpha: 0.8, // handControllerGrab has this as 0.5, but I have trouble seeing that. - visible: true, + visible: false, solid: true }); var laserLine = Overlays.addOverlay("line3d", { // same properties as handControllerGrab search line lineWidth: 5, + // BUG: If you don't supply a start and end at creation, it will never show up, even after editing. + start: MyAvatar.position, + end: Vec3.ZERO, color: LASER_COLOR, ignoreRayIntersection: true, - visible: true, + visible: false, alpha: 1 }); +var overlays = [terminatingBall, laserLine]; +var isOn = true; +function turnOffLaser() { + if (!isOn) { return; } + isOn = true; + overlays.forEach(function (overlay) { + Overlays.editOverlay(overlay, {visible: false}); + }); +} +var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. function update() { - if (Controller.getValue(Controller.Standard.RT)) { return; } // Interferes with other scripts. + if ((Date.now() - mouseMoved) < MOUSE_MOVE_LOCKOUT_TIME) { return turnOffLaser(); } // Let them use it in peace. + if (Controller.getValue(Controller.Standard.RT)) { return turnOffLaser(); } // Interferes with other scripts. var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); if (!controllerPose.valid) { return; } // Controller is cradled. @@ -118,28 +170,60 @@ function update() { var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); - if (!hudPoint3d) { return; } // E.g., parallel to the screen. - Overlays.editOverlay(terminatingBall, {position: hudPoint3d}); - Overlays.editOverlay(laserLine, {start: controllerPosition, end: hudPoint3d}); - setCursor(overlayFromWorldPoint(hudPoint3d)); + if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnLaserOff(); } + var hudPoint2d = overlayFromWorldPoint(hudPoint3d); + setCursor(hudPoint2d); + weMovedReticle = true; + + // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. + if (Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(hudPoint2d)) { + Reticle.visible = true; + return turnOffLaser(); + } + // Otherwise, show the laser and intersect it with 3d overlays and entities. + var pickRay = {origin: controllerPosition, direction: controllerDirection}; + var result = Overlays.findRayIntersection(pickRay) + if (!result.intersects) { + result = Entities.findRayIntersection(pickRay, true); + } + var termination = result.intersects ? + result.intersection : + Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); + isOn = true; + Overlays.editOverlay(terminatingBall, {visible: true, position: termination}); + Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); + /* + // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on + // 2D and 3D entities without rewriting other parts of the system, but it isn't right, + // because the line from camera to the new mouse position might intersect different things + // than the line from controllerPosition to termination. + var eye = Camera.getPosition(); + var apparentHudTermination3d = calculateRayUICollisionPoint(eye, Vec3.subtract(termination, eye)); + var apparentHudTermination2d = overlayFromWorldPoint(apparentHudTermination3d); + Overlays.editOverlay(fakeReticle, {x: apparentHudTermination2d.x - reticleHalfSize, y: apparentHudTermination2d.y - reticleHalfSize}); + //Reticle.visible = false; + weMovedReticle = true; + setCursor(apparentHudTermination2d); +*/ } var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. var updater = Script.setInterval(update, UPDATE_INTERVAL); Script.scriptEnding.connect(function () { Overlays.deleteOverlay(terminatingBall); - Overlays.deleteOverlay(laserLine); Script.clearInterval(updater); }); -// ------------------------------------------------------------------------------------------------------------------------------- + +// DEBUGGING WITHOUT HYDRA ----------------------- +// // The rest of this is for debugging without working hand controllers, using a line from camera to mouse, and an image for cursor. var CONTROLLER_ROTATION = Quat.fromPitchYawRollDegrees(90, 180, -90); -if (!Controller.Hardware.Hydra) { // Check is made at script load time, not continuously while running. +if (!Controller.Hardware.Hydra) { + print('WARNING: no hand controller detected. Using mouse!'); var mouseKeeper = {x: 0, y: 0}; - var onMouseMove = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; - Controller.mouseMoveEvent.connect(onMouseMove); - Script.scriptEnding.connect(function () { Controller.mouseMoveEvent.disconnect(onMouseMove); }); + var onMouseMoveCapture = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; + setupHandler(Controller.mouseMoveEvent, onMouseMoveCapture); getControllerPose = function () { var size = Controller.getViewportDimensions(); var handPoint = Vec3.subtract(Camera.getPosition(), MyAvatar.position); // Pretend controller is at camera @@ -166,7 +250,6 @@ if (!Controller.Hardware.Hydra) { // Check is made at script load time, not con rotation: Quat.multiply(inverseAvatar, controllerRotation) }; }; - // We can't set the mouse if we're using the mouse as a fake controller. So stick an image where we would be putting the mouse. // WARNING: This fake cursor is an overlay that will be the target of clicks and drags rather than other overlays underneath it! if (true) { // Don't do the overlay, but do turn off cursor warping, which would be circular. From 33c491bc5d4261dffcf6d92f407d0d5999a06949 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Mon, 25 Apr 2016 17:05:03 -0700 Subject: [PATCH 010/106] checkpoint --- examples/controllers/handControllerPointer.js | 82 +++++++++++++------ 1 file changed, 57 insertions(+), 25 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 1fbe5cbed0..6fe4d701f5 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -109,6 +109,10 @@ function mapToAction(controller, button, action) { } mapToAction('Hydra', 'R3', 'ReticleClick'); mapToAction('Hydra', 'R4', 'ContextMenu'); +mapToAction('Hydra', 'L3', 'ReticleClick'); +mapToAction('Hydra', 'L4', 'ContextMenu'); +mapToAction('Vive', 'LeftPrimaryThumb', 'ReticleClick'); +mapToAction('Vive', 'RightPrimaryThumb', 'ReticleClick'); mapping.enable(); Script.scriptEnding.connect(mapping.disable); @@ -126,11 +130,10 @@ if (Controller.Hardware.Hydra) { setupHandler(Controller.mouseMoveEvent, onMouseMove); } -// MAIN OPERATIONS ----------- -// +// VISUAL AID ----------- var LASER_COLOR = {red: 10, green: 10, blue: 255}; var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere - size: 0.1, //FIXME 0.011, + size: 0.011, color: LASER_COLOR, ignoreRayIntersection: true, alpha: 0.8, // handControllerGrab has this as 0.5, but I have trouble seeing that. @@ -147,20 +150,55 @@ var laserLine = Overlays.addOverlay("line3d", { // same properties as handContro visible: false, alpha: 1 }); -var overlays = [terminatingBall, laserLine]; -var isOn = true; +var overlays = [terminatingBall, laserLine] +Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); +var visualizationOn = true; // Not whether it desired, but simply whether it is. Just an optimization. +var VISUALIZATION_TOGGLE_LOCKOUT_TIME = 1000; // milliseconds +var wasToggled = 0, wantsVisualization = false; function turnOffLaser() { - if (!isOn) { return; } - isOn = true; + if (!wasToggled) { wasToggled = Date.now(); } + if (!visualizationOn) { return; } + visualizationOn = false; overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); }); } - var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. +function updateLaser(controllerPosition, controllerDirection) { + // Show the laser and intersect it with 3d overlays and entities. + var pickRay = {origin: controllerPosition, direction: controllerDirection}; + var result = Overlays.findRayIntersection(pickRay) + if (!result.intersects) { + result = Entities.findRayIntersection(pickRay, true); + } + var termination = result.intersects ? + result.intersection : + Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); + visualizationOn = true; + Overlays.editOverlay(terminatingBall, {visible: true, position: termination}); + Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); +} +function maybeToggleVisualization(trigger, now) { + if (trigger > 0) { + print('TRIGGER', now - wasToggled); + if ((now - wasToggled) > VISUALIZATION_TOGGLE_LOCKOUT_TIME) { + wantsVisualization = !wantsVisualization; + wasToggled = Date.now(); + } + } else { + wasToggled = 0; + } +} + + +// MAIN OPERATIONS ----------- +// function update() { - if ((Date.now() - mouseMoved) < MOUSE_MOVE_LOCKOUT_TIME) { return turnOffLaser(); } // Let them use it in peace. - if (Controller.getValue(Controller.Standard.RT)) { return turnOffLaser(); } // Interferes with other scripts. + var now = Date.now(); + if ((now - mouseMoved) < MOUSE_MOVE_LOCKOUT_TIME) { return turnOffLaser(); } // Let them use it in peace. + var trigger = Controller.getValue(Controller.Standard.RT); + if (trigger > 0.5) { print('FULL TRIGGER');return turnOffLaser(); } // Interferes with other scripts. + maybeToggleVisualization(trigger, now); var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); if (!controllerPose.valid) { return; } // Controller is cradled. @@ -172,26 +210,23 @@ function update() { var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnLaserOff(); } var hudPoint2d = overlayFromWorldPoint(hudPoint3d); + // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if + // it's pointing at a QML tool (aka system overlay). setCursor(hudPoint2d); weMovedReticle = true; // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. if (Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(hudPoint2d)) { Reticle.visible = true; + //mapping.enable(); return turnOffLaser(); } - // Otherwise, show the laser and intersect it with 3d overlays and entities. - var pickRay = {origin: controllerPosition, direction: controllerDirection}; - var result = Overlays.findRayIntersection(pickRay) - if (!result.intersects) { - result = Entities.findRayIntersection(pickRay, true); + //mapping.disable(); + if (wantsVisualization) { + updateLaser(controllerPosition, controllerDirection); + } else { + Reticle.visible = false; } - var termination = result.intersects ? - result.intersection : - Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); - isOn = true; - Overlays.editOverlay(terminatingBall, {visible: true, position: termination}); - Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); /* // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on // 2D and 3D entities without rewriting other parts of the system, but it isn't right, @@ -209,10 +244,7 @@ function update() { var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. var updater = Script.setInterval(update, UPDATE_INTERVAL); -Script.scriptEnding.connect(function () { - Overlays.deleteOverlay(terminatingBall); - Script.clearInterval(updater); -}); +Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); // DEBUGGING WITHOUT HYDRA ----------------------- From 58b4187f227d11b1316170f3903e07e2e4fdde79 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 26 Apr 2016 09:21:40 -0700 Subject: [PATCH 011/106] Cleanup of non-hydra code. --- examples/controllers/handControllerPointer.js | 141 +++++++++++------- 1 file changed, 88 insertions(+), 53 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 6fe4d701f5..7cbf92282b 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -1,6 +1,6 @@ "use strict"; /*jslint vars: true, plusplus: true*/ -/*globals Script, Overlays, Controller, Reticle, HMD, Camera, MyAvatar, Settings, Vec3, Quat, print */ +/*globals Script, Overlays, Controller, Reticle, HMD, Camera, Entities, MyAvatar, Settings, Vec3, Quat, print */ // // handControllerPointer.js @@ -29,10 +29,21 @@ function debug() { // Display the arguments not just [Object object]. } // Utility to make it easier to setup and disconnect cleanly. -function setupHandler(event, handler) { +function setupHandler(event, handler) { event.connect(handler); Script.scriptEnding.connect(function () { event.disconnect(handler); }); } +// If some capability is not available until expiration milliseconds after the last update. +function TimeLock(expiration) { + var last = 0; + this.update = function (optionalNow) { + last = optionalNow || Date.now(); + }; + this.available = function (optionalNow) { + return ((optionalNow || Date.now()) - last) > expiration; + }; +} +var lockOut = new TimeLock(1000); // VERTICAL FIELD OF VIEW --------- // @@ -47,16 +58,18 @@ Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); // SHIMS ---------- // -// Define shimable functions for getting hand controller and setting cursor, for the normal -// case of having a hand controller. Alternative are at the bottom of the file. +// Define customizable versions of some standard operators. Alternative are at the bottom of the file. var getControllerPose = Controller.getPoseValue; var setCursor = function (point2d) { if (!HMD.active) { - // FIX BUG: The width of the window title bar (on Windows, anyway). - point2d = {x: point2d.x, y: point2d.y + 50}; + // FIX BUG: The width of the window title bar (on Windows, anyway). + point2d = {x: point2d.x, y: point2d.y + 50}; } Reticle.setPosition(point2d); -} +}; +var setReticleVisible = function (on) { Reticle.visible = on; }; +var getOverlayAtPoint = Overlays.getOverlayAtPoint; +var getValue = Controller.getValue; // Generalized HUD utilities, with or without HMD: function calculateRayUICollisionPoint(position, direction) { @@ -116,23 +129,20 @@ mapToAction('Vive', 'RightPrimaryThumb', 'ReticleClick'); mapping.enable(); Script.scriptEnding.connect(mapping.disable); - // MOUSE LOCKOUT -------- // -var MOUSE_MOVE_LOCKOUT_TIME = 1000; //fixme 5000; // milliseconds after mouse movement before hand controller can move pointer. -var mouseMoved = 0, weMovedReticle = false; +var weMovedReticle = false; if (Controller.Hardware.Hydra) { - function onMouseMove(event) { - if (weMovedReticle) { weMovedReticle = false; return; } - Reticle.visible = true; - mouseMoved = Date.now(); - } - setupHandler(Controller.mouseMoveEvent, onMouseMove); + setupHandler(Controller.mouseMoveEvent, function () { + if (weMovedReticle) { weMovedReticle = false; return; } + setReticleVisible(true); + lockOut.update(); + }); } // VISUAL AID ----------- var LASER_COLOR = {red: 10, green: 10, blue: 255}; -var terminatingBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere +var laserBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere size: 0.011, color: LASER_COLOR, ignoreRayIntersection: true, @@ -150,54 +160,59 @@ var laserLine = Overlays.addOverlay("line3d", { // same properties as handContro visible: false, alpha: 1 }); -var overlays = [terminatingBall, laserLine] +var overlays = [laserBall, laserLine]; Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); var visualizationOn = true; // Not whether it desired, but simply whether it is. Just an optimization. -var VISUALIZATION_TOGGLE_LOCKOUT_TIME = 1000; // milliseconds -var wasToggled = 0, wantsVisualization = false; function turnOffLaser() { - if (!wasToggled) { wasToggled = Date.now(); } if (!visualizationOn) { return; } visualizationOn = false; overlays.forEach(function (overlay) { - Overlays.editOverlay(overlay, {visible: false}); + Overlays.editOverlay(overlay, {visible: false}); }); } var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. -function updateLaser(controllerPosition, controllerDirection) { +var wantsVisualization = false; +function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { + if (!wantsVisualization) { return false; } // Show the laser and intersect it with 3d overlays and entities. var pickRay = {origin: controllerPosition, direction: controllerDirection}; - var result = Overlays.findRayIntersection(pickRay) + var result = Overlays.findRayIntersection(pickRay); if (!result.intersects) { - result = Entities.findRayIntersection(pickRay, true); + result = Entities.findRayIntersection(pickRay, true); } - var termination = result.intersects ? - result.intersection : - Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); + if (!visualizationOn) { setReticleVisible(true); } visualizationOn = true; - Overlays.editOverlay(terminatingBall, {visible: true, position: termination}); + var termination = result.intersects ? + result.intersection : + Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); + // We show the ball at the hud intersection rather than at the termination because: + // 1) As you swing the laser in space, it's hard to judge where it will intersect with a HUD element, + // unless the intersection of the laser with the HUD is marked. But it's confusing to do that + // with the pointer, so we use the ball. + // 2) On some objects, the intersection is just enough inside the object that we're not going to see + // the ball anyway. + Overlays.editOverlay(laserBall, {visible: true, position: hudPosition3d}); + return true; } +var toggleLockout = new TimeLock(500); function maybeToggleVisualization(trigger, now) { - if (trigger > 0) { - print('TRIGGER', now - wasToggled); - if ((now - wasToggled) > VISUALIZATION_TOGGLE_LOCKOUT_TIME) { - wantsVisualization = !wantsVisualization; - wasToggled = Date.now(); - } + if (!trigger) { return; } + if (toggleLockout.available(now)) { + wantsVisualization = !wantsVisualization; + print('Toggled visualization', wantsVisualization ? 'on' : 'off'); } else { - wasToggled = 0; + toggleLockout.update(now); } } - // MAIN OPERATIONS ----------- // function update() { var now = Date.now(); - if ((now - mouseMoved) < MOUSE_MOVE_LOCKOUT_TIME) { return turnOffLaser(); } // Let them use it in peace. - var trigger = Controller.getValue(Controller.Standard.RT); - if (trigger > 0.5) { print('FULL TRIGGER');return turnOffLaser(); } // Interferes with other scripts. + if (!lockOut.available(now)) { return turnOffLaser(); } // Let them use it in peace. + var trigger = getValue(Controller.Standard.RT); + if (trigger > 0.5) { lockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. maybeToggleVisualization(trigger, now); var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); @@ -208,7 +223,7 @@ function update() { var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); - if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnLaserOff(); } + if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffLaser(); } var hudPoint2d = overlayFromWorldPoint(hudPoint3d); // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if // it's pointing at a QML tool (aka system overlay). @@ -216,16 +231,16 @@ function update() { weMovedReticle = true; // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. - if (Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(hudPoint2d)) { - Reticle.visible = true; - //mapping.enable(); - return turnOffLaser(); + if (Reticle.pointingAtSystemOverlay || getOverlayAtPoint(hudPoint2d)) { + setReticleVisible(true); + //mapping.enable(); + return turnOffLaser(); } + // We are not pointing at a HUD element (but it could be a 3d overlay). //mapping.disable(); - if (wantsVisualization) { - updateLaser(controllerPosition, controllerDirection); - } else { - Reticle.visible = false; + if (!updateLaser(controllerPosition, controllerDirection, hudPoint3d)) { + setReticleVisible(false); + turnOffLaser(); } /* // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on @@ -284,10 +299,6 @@ if (!Controller.Hardware.Hydra) { }; // We can't set the mouse if we're using the mouse as a fake controller. So stick an image where we would be putting the mouse. // WARNING: This fake cursor is an overlay that will be the target of clicks and drags rather than other overlays underneath it! - if (true) { // Don't do the overlay, but do turn off cursor warping, which would be circular. - setCursor = function () { }; - return; - } var reticleHalfSize = 16; var fakeReticle = Overlays.addOverlay("image", { imageURL: "http://s3.amazonaws.com/hifi-public/images/delete.png", @@ -299,4 +310,28 @@ if (!Controller.Hardware.Hydra) { setCursor = function (hudPoint2d) { Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); }; + setReticleVisible = function (on) { + Reticle.visible = on; // BUG: doesn't work on mac. + Overlays.editOverlay(fakeReticle, {visible: on}); + }; + // The idea here is that we not return a truthy result constantly when we display the fake reticle. + // But this is done wrong when we're over another overlay as well: if we hit the fakeReticle, we incorrectly answer null here. + // FIXME: display fake reticle slightly off to the side instead. + getOverlayAtPoint = function (point2d) { + var overlay = Overlays.getOverlayAtPoint(point2d); + if (overlay === fakeReticle) { return null; } + return overlay; + }; + var fakeTrigger = 0; + getValue = function () { var trigger = fakeTrigger; fakeTrigger = 0; return trigger; }; + setupHandler(Controller.keyPressEvent, function (event) { + switch (event.text) { + case '`': + fakeTrigger = 0.4; + break; + case '~': + fakeTrigger = 0.9; + break; + } + }); } From 53d7b57d49672c93441818d8ea0cbe202c02464b Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 26 Apr 2016 14:30:20 -0700 Subject: [PATCH 012/106] checkpoint --- examples/controllers/handControllerPointer.js | 128 +++++++++++++----- 1 file changed, 92 insertions(+), 36 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 7cbf92282b..0a06d2b7a3 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -13,12 +13,29 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +// Control the "mouse" using hand controller. (HMD and desktop.) // For now: -// Right hand only. -// HMD only. (Desktop isn't turned off, but right now it's using -// HMD.overlayFromWorldPoint(HMD.calculateRayUICollisionPoint ...) without compensation.) -// Cursor all the time when uncradled. (E.g., not just when blue ray is on, or five seconds after movement, etc.) // Button 3 is left-mouse, button 4 is right-mouse. +// First-person only. +// Partial trigger squeeze toggles a laser visualization. When on, you can also click on objects in-world, not just HUD. +// On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) +// +// Bugs: +// Turn in-world click off when visualization is off. +// May also interfere with other scripts? + +// Right hand only. +// Do not use with depthReticle.js. +// Trigger toggle is flakey. +// When clicking on in-world objects, the click acts on the red ball, not the termination of the blue line. +/* +ScriptDiscoveryService.getRunning().forEach(function (script) { + if (script.name === 'depthReticle.js') { + print("Stopping script", script.name); + script.stop(); + } +}); +*/ // UTILITIES ------------- // @@ -43,7 +60,20 @@ function TimeLock(expiration) { return ((optionalNow || Date.now()) - last) > expiration; }; } -var lockOut = new TimeLock(1000); +var lockOut = new TimeLock(2000); + +// Calls onFunction() or offFunction() when swtich(on), but only if it is to a new value. +function LatchedToggle(onFunction, offFunction, state) { + this.setState = function (on) { + if (state === on) { return; } + state = on; + if (on) { + onFunction(); + } else { + offFunction(); + } + }; +} // VERTICAL FIELD OF VIEW --------- // @@ -62,7 +92,7 @@ Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); var getControllerPose = Controller.getPoseValue; var setCursor = function (point2d) { if (!HMD.active) { - // FIX BUG: The width of the window title bar (on Windows, anyway). + // FIX SYSEM BUG: On Windows, setPosition is setting relative to screen origin, not the content area of the window. point2d = {x: point2d.x, y: point2d.y + 50}; } Reticle.setPosition(point2d); @@ -126,8 +156,8 @@ mapToAction('Hydra', 'L3', 'ReticleClick'); mapToAction('Hydra', 'L4', 'ContextMenu'); mapToAction('Vive', 'LeftPrimaryThumb', 'ReticleClick'); mapToAction('Vive', 'RightPrimaryThumb', 'ReticleClick'); -mapping.enable(); Script.scriptEnding.connect(mapping.disable); +toggleMap = new LatchedToggle(mapping.enable, mapping.disable); // MOUSE LOCKOUT -------- // @@ -135,6 +165,7 @@ var weMovedReticle = false; if (Controller.Hardware.Hydra) { setupHandler(Controller.mouseMoveEvent, function () { if (weMovedReticle) { weMovedReticle = false; return; } + // Should we implement dephReticle's inactivity timeout here? setReticleVisible(true); lockOut.update(); }); @@ -142,17 +173,9 @@ if (Controller.Hardware.Hydra) { // VISUAL AID ----------- var LASER_COLOR = {red: 10, green: 10, blue: 255}; -var laserBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere - size: 0.011, - color: LASER_COLOR, - ignoreRayIntersection: true, - alpha: 0.8, // handControllerGrab has this as 0.5, but I have trouble seeing that. - visible: false, - solid: true -}); var laserLine = Overlays.addOverlay("line3d", { // same properties as handControllerGrab search line lineWidth: 5, - // BUG: If you don't supply a start and end at creation, it will never show up, even after editing. + // FIX SYSTEM BUG: If you don't supply a start and end at creation, it will never show up, even after editing. start: MyAvatar.position, end: Vec3.ZERO, color: LASER_COLOR, @@ -160,12 +183,33 @@ var laserLine = Overlays.addOverlay("line3d", { // same properties as handContro visible: false, alpha: 1 }); -var overlays = [laserBall, laserLine]; +var BALL_SIZE = 0.011; +var BALL_ALPHA = 0.5; +var laserBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere + size: BALL_SIZE, + color: LASER_COLOR, + ignoreRayIntersection: true, + alpha: BALL_ALPHA, + visible: false, + solid: true, + drawInFront: true // Even when burried inside of something, show it. +}); +var fakeProjectionBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere + size: 5 * BALL_SIZE, + color: {red: 255, green: 10, blue: 10}, + ignoreRayIntersection: true, + alpha: BALL_ALPHA, + visible: false, + solid: true, + drawInFront: true // Even when burried inside of something, show it. +}); +var overlays = [laserBall, laserLine, fakeProjectionBall]; Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); -var visualizationOn = true; // Not whether it desired, but simply whether it is. Just an optimization. -function turnOffLaser() { - if (!visualizationOn) { return; } - visualizationOn = false; +var visualizationIsShowing = true; // Not whether it desired, but simply whether it is. Just an optimization. +function turnOffLaser(optionalEnableClicks) { + toggleMap.setState(optionalEnableClicks); + if (!visualizationIsShowing) { return; } + visualizationIsShowing = false; overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); }); @@ -173,18 +217,22 @@ function turnOffLaser() { var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. var wantsVisualization = false; function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { + toggleMap.setState(true); if (!wantsVisualization) { return false; } // Show the laser and intersect it with 3d overlays and entities. - var pickRay = {origin: controllerPosition, direction: controllerDirection}; - var result = Overlays.findRayIntersection(pickRay); - if (!result.intersects) { - result = Entities.findRayIntersection(pickRay, true); - } - if (!visualizationOn) { setReticleVisible(true); } - visualizationOn = true; - var termination = result.intersects ? + function intersection3d(position, direction) { + var pickRay = {origin: position, direction: direction}; + var result = Overlays.findRayIntersection(pickRay); + if (!result.intersects) { + result = Entities.findRayIntersection(pickRay, true); + } + return result.intersects ? result.intersection : - Vec3.sum(controllerPosition, Vec3.multiply(MAX_RAY_SCALE, controllerDirection)); + Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); + } + termination = intersection3d(controllerPosition, controllerDirection); + visualizationIsShowing = true; + setReticleVisible(false); Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); // We show the ball at the hud intersection rather than at the termination because: // 1) As you swing the laser in space, it's hard to judge where it will intersect with a HUD element, @@ -193,6 +241,15 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { // 2) On some objects, the intersection is just enough inside the object that we're not going to see // the ball anyway. Overlays.editOverlay(laserBall, {visible: true, position: hudPosition3d}); + + // We really want in-world interactions to take place at termination: + // - We could do some of that with callEntityMethod (e.g., light switch entity script) + // - But we would have to alter edit.js to accept synthetic mouse data. + // So for now, we present a false projection of the cursor onto whatever is below it. This is different from + // the laser termination because the false projection is from the camera, while the laser termination is from the hand. + var eye = Camera.getPosition(); + var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); + Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); return true; } var toggleLockout = new TimeLock(500); @@ -211,12 +268,13 @@ function maybeToggleVisualization(trigger, now) { function update() { var now = Date.now(); if (!lockOut.available(now)) { return turnOffLaser(); } // Let them use it in peace. + if (!Menu.isOptionChecked("First Person")) { debug('not 1st person'); return turnOffLaser(); } // What to do? menus can be behind hand! var trigger = getValue(Controller.Standard.RT); - if (trigger > 0.5) { lockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. + if (trigger > 0.9) { lockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. maybeToggleVisualization(trigger, now); var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); - if (!controllerPose.valid) { return; } // Controller is cradled. + if (!controllerPose.valid) { wantsVisualization = false; return turnOffLaser(); } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); // This gets point direction right, but if you want general quaternion it would be more complicated: @@ -233,11 +291,9 @@ function update() { // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. if (Reticle.pointingAtSystemOverlay || getOverlayAtPoint(hudPoint2d)) { setReticleVisible(true); - //mapping.enable(); - return turnOffLaser(); + return turnOffLaser(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). - //mapping.disable(); if (!updateLaser(controllerPosition, controllerDirection, hudPoint3d)) { setReticleVisible(false); turnOffLaser(); @@ -311,7 +367,7 @@ if (!Controller.Hardware.Hydra) { Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); }; setReticleVisible = function (on) { - Reticle.visible = on; // BUG: doesn't work on mac. + Reticle.visible = on; // FIX SYSTEM BUG: doesn't work on mac. Overlays.editOverlay(fakeReticle, {visible: on}); }; // The idea here is that we not return a truthy result constantly when we display the fake reticle. From e2101a8996d4ba05d1b46a23f1b5db00fea443f4 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Wed, 27 Apr 2016 10:32:18 -0700 Subject: [PATCH 013/106] checkpoint --- examples/controllers/handControllerPointer.js | 182 ++++++++++++------ 1 file changed, 120 insertions(+), 62 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 0a06d2b7a3..ad22d940af 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -1,6 +1,6 @@ "use strict"; /*jslint vars: true, plusplus: true*/ -/*globals Script, Overlays, Controller, Reticle, HMD, Camera, Entities, MyAvatar, Settings, Vec3, Quat, print */ +/*globals Script, Overlays, Controller, Reticle, HMD, Camera, Entities, MyAvatar, Settings, Menu, ScriptDiscoveryService, Window, Vec3, Quat, print */ // // handControllerPointer.js @@ -25,17 +25,20 @@ // May also interfere with other scripts? // Right hand only. -// Do not use with depthReticle.js. // Trigger toggle is flakey. // When clicking on in-world objects, the click acts on the red ball, not the termination of the blue line. -/* -ScriptDiscoveryService.getRunning().forEach(function (script) { - if (script.name === 'depthReticle.js') { - print("Stopping script", script.name); - script.stop(); - } -}); -*/ + +function checkForDepthReticleScript() { + ScriptDiscoveryService.getRunning().forEach(function (script) { + if (script.name === 'depthReticle.js') { + Window.alert('Please shut down depthReticle script.\n' + script.path + + '\nMost of the behavior is included here in\n' + + Script.resolvePath('')); + // Some current deviations are listed below as fixmes. + } + }); +} + // UTILITIES ------------- // @@ -56,52 +59,75 @@ function TimeLock(expiration) { this.update = function (optionalNow) { last = optionalNow || Date.now(); }; - this.available = function (optionalNow) { + this.expired = function (optionalNow) { return ((optionalNow || Date.now()) - last) > expiration; }; } -var lockOut = new TimeLock(2000); +var handControllerLockOut = new TimeLock(2000); // Calls onFunction() or offFunction() when swtich(on), but only if it is to a new value. function LatchedToggle(onFunction, offFunction, state) { this.setState = function (on) { - if (state === on) { return; } - state = on; - if (on) { - onFunction(); - } else { - offFunction(); - } + if (state === on) { return; } + state = on; + if (on) { + onFunction(); + } else { + offFunction(); + } }; } + // VERTICAL FIELD OF VIEW --------- // // Cache the verticalFieldOfView setting and update it every so often. -var DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees -var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds -var verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; -var settingsChecker = Script.setInterval(function () { +var verticalFieldOfView, DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees +function updateFieldOfView() { verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; -}, SETTINGS_CHANGE_RECHECK_INTERVAL); -Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); +} // SHIMS ---------- // // Define customizable versions of some standard operators. Alternative are at the bottom of the file. var getControllerPose = Controller.getPoseValue; -var setCursor = function (point2d) { +var getValue = Controller.getValue; +var getOverlayAtPoint = Overlays.getOverlayAtPoint; +var setReticleVisible = function (on) { Reticle.visible = on; }; + +var weMovedReticle = false; +function handControllerMovedReticle() { // I.e., change in cursor position is from us, not the mouse. + // Only we know if we moved it, which is why this script has to replace depthReticle.js + if (!weMovedReticle) { return false; } + weMovedReticle = false; + return true; +} +var setReticlePosition = function (point2d) { if (!HMD.active) { // FIX SYSEM BUG: On Windows, setPosition is setting relative to screen origin, not the content area of the window. point2d = {x: point2d.x, y: point2d.y + 50}; } + weMovedReticle = true; Reticle.setPosition(point2d); }; -var setReticleVisible = function (on) { Reticle.visible = on; }; -var getOverlayAtPoint = Overlays.getOverlayAtPoint; -var getValue = Controller.getValue; + +// Generalizations of utilities that work with system and overlay elements. +function findRayIntersection(pickRay) { + // Check 3D overlays and entities. Argument is an object with origin and direction. + var result = Overlays.findRayIntersection(pickRay); + if (!result.intersects) { + result = Entities.findRayIntersection(pickRay, true); + } + return result; +} +function isPointingAtOverlay(optionalHudPosition2d) { + return Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(optionalHudPosition2d || Reticle.position); +} // Generalized HUD utilities, with or without HMD: +// These two "vars" are for documentation. Do not change their values! +var SPHERICAL_HUD_DISTANCE = 1; // meters. +var PLANAR_PERPENDICULAR_HUD_DISTANCE = SPHERICAL_HUD_DISTANCE; function calculateRayUICollisionPoint(position, direction) { // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. if (HMD.active) { @@ -111,7 +137,7 @@ function calculateRayUICollisionPoint(position, direction) { // scale = hudNormal dot (hudPoint - position) / hudNormal dot direction // intersection = postion + scale*direction var hudNormal = Quat.getFront(Camera.getOrientation()); - var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // 1m out + var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // must also scale if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 var denominator = Vec3.dot(hudNormal, direction); if (denominator === 0) { return null; } // parallel to plane var numerator = Vec3.dot(hudNormal, Vec3.subtract(hudPoint, position)); @@ -132,7 +158,7 @@ function overlayFromWorldPoint(point) { var cameraX = Vec3.dot(cameraToPoint, Quat.getRight(Camera.getOrientation())); var cameraY = Vec3.dot(cameraToPoint, Quat.getUp(Camera.getOrientation())); var size = Controller.getViewportDimensions(); - var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); + var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); // must adjust if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 var hudWidth = hudHeight * size.x / size.y; var horizontalFraction = (cameraX / hudWidth + 0.5); var verticalFraction = 1 - (cameraY / hudHeight + 0.5); @@ -147,7 +173,7 @@ function overlayFromWorldPoint(point) { var MAPPING_NAME = Script.resolvePath(''); var mapping = Controller.newMapping(MAPPING_NAME); function mapToAction(controller, button, action) { - if (!Controller.Hardware[controller]) { return; } + if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! mapping.from(Controller.Hardware[controller][button]).peek().to(Controller.Actions[action]); } mapToAction('Hydra', 'R3', 'ReticleClick'); @@ -157,19 +183,45 @@ mapToAction('Hydra', 'L4', 'ContextMenu'); mapToAction('Vive', 'LeftPrimaryThumb', 'ReticleClick'); mapToAction('Vive', 'RightPrimaryThumb', 'ReticleClick'); Script.scriptEnding.connect(mapping.disable); -toggleMap = new LatchedToggle(mapping.enable, mapping.disable); +var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); -// MOUSE LOCKOUT -------- +// MOUSE ACTIVITY -------- // -var weMovedReticle = false; -if (Controller.Hardware.Hydra) { - setupHandler(Controller.mouseMoveEvent, function () { - if (weMovedReticle) { weMovedReticle = false; return; } - // Should we implement dephReticle's inactivity timeout here? - setReticleVisible(true); - lockOut.update(); - }); +var mouseCursorActivity = new TimeLock(5000); +var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant +function updateMouseActivity() { + if (handControllerMovedReticle()) { return; } + // Turn off mouse cursor after inactivity (as in depthReticle.js), and turn off hand controller mouse for a while. + var now = Date.now(); + handControllerLockOut.update(now); + mouseCursorActivity.update(now); + // FIXME: Does not yet seek to lookAt upon waking. + setReticleVisible(true); } +function expireMouseCursor(now) { + if (mouseCursorActivity.expired(now)) { + setReticleVisible(false); + } +} +function onMouseMove() { + // Display cursor at correct depth (as in depthReticle.js), and updateMouseActivity. + if (handControllerMovedReticle()) { return; } + + if (HMD.active) { // set depth + // FIXME: does not yet adjust slowly. + if (isPointingAtOverlay()) { + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT FOR OFFSET SPHERE! + } else { + var result = findRayIntersection(Camera.computePickRay(Reticle.position.x, Reticle.position.y)); + Reticle.depth = result.intersects ? result.depth : APPARENT_MAXIMUM_DEPTH; + } + } + updateMouseActivity(); +} +setupHandler(Controller.mouseMoveEvent, onMouseMove); +setupHandler(Controller.mousePressEvent, updateMouseActivity); +setupHandler(Controller.mouseDoublePressEvent, updateMouseActivity); + // VISUAL AID ----------- var LASER_COLOR = {red: 10, green: 10, blue: 255}; @@ -208,8 +260,9 @@ Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverla var visualizationIsShowing = true; // Not whether it desired, but simply whether it is. Just an optimization. function turnOffLaser(optionalEnableClicks) { toggleMap.setState(optionalEnableClicks); + if (!optionalEnableClicks) { expireMouseCursor(); } if (!visualizationIsShowing) { return; } - visualizationIsShowing = false; + visualizationIsShowing = false; overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); }); @@ -221,16 +274,11 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { if (!wantsVisualization) { return false; } // Show the laser and intersect it with 3d overlays and entities. function intersection3d(position, direction) { - var pickRay = {origin: position, direction: direction}; - var result = Overlays.findRayIntersection(pickRay); - if (!result.intersects) { - result = Entities.findRayIntersection(pickRay, true); - } - return result.intersects ? - result.intersection : - Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); + var pickRay = {origin: position, direction: direction}; + var result = findRayIntersection(pickRay); + return result.intersects ? result.intersection : Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); } - termination = intersection3d(controllerPosition, controllerDirection); + var termination = intersection3d(controllerPosition, controllerDirection); visualizationIsShowing = true; setReticleVisible(false); Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); @@ -255,7 +303,7 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { var toggleLockout = new TimeLock(500); function maybeToggleVisualization(trigger, now) { if (!trigger) { return; } - if (toggleLockout.available(now)) { + if (toggleLockout.expired(now)) { wantsVisualization = !wantsVisualization; print('Toggled visualization', wantsVisualization ? 'on' : 'off'); } else { @@ -265,12 +313,13 @@ function maybeToggleVisualization(trigger, now) { // MAIN OPERATIONS ----------- // +var FULL_TRIGGER_THRESHOLD = 0.9; // 0 to 1. Non-linear. function update() { var now = Date.now(); - if (!lockOut.available(now)) { return turnOffLaser(); } // Let them use it in peace. + if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. if (!Menu.isOptionChecked("First Person")) { debug('not 1st person'); return turnOffLaser(); } // What to do? menus can be behind hand! var trigger = getValue(Controller.Standard.RT); - if (trigger > 0.9) { lockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. + if (trigger > FULL_TRIGGER_THRESHOLD) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. maybeToggleVisualization(trigger, now); var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); @@ -285,11 +334,10 @@ function update() { var hudPoint2d = overlayFromWorldPoint(hudPoint3d); // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if // it's pointing at a QML tool (aka system overlay). - setCursor(hudPoint2d); - weMovedReticle = true; + setReticlePosition(hudPoint2d); // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. - if (Reticle.pointingAtSystemOverlay || getOverlayAtPoint(hudPoint2d)) { + if (isPointingAtOverlay(hudPoint2d)) { setReticleVisible(true); return turnOffLaser(true); } @@ -308,8 +356,7 @@ function update() { var apparentHudTermination2d = overlayFromWorldPoint(apparentHudTermination3d); Overlays.editOverlay(fakeReticle, {x: apparentHudTermination2d.x - reticleHalfSize, y: apparentHudTermination2d.y - reticleHalfSize}); //Reticle.visible = false; - weMovedReticle = true; - setCursor(apparentHudTermination2d); + setReticlePosition(apparentHudTermination2d); */ } @@ -317,12 +364,22 @@ var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. var updater = Script.setInterval(update, UPDATE_INTERVAL); Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); +// Check periodically for changes to setup. +var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds +function checkSettings() { + updateFieldOfView(); + updateMouseHandlers(); +} +checkSettings(); +var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); +Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); + // DEBUGGING WITHOUT HYDRA ----------------------- // // The rest of this is for debugging without working hand controllers, using a line from camera to mouse, and an image for cursor. var CONTROLLER_ROTATION = Quat.fromPitchYawRollDegrees(90, 180, -90); -if (!Controller.Hardware.Hydra) { +if (false && !Controller.Hardware.Hydra) { print('WARNING: no hand controller detected. Using mouse!'); var mouseKeeper = {x: 0, y: 0}; var onMouseMoveCapture = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; @@ -363,7 +420,8 @@ if (!Controller.Hardware.Hydra) { alpha: 0.7 }); Script.scriptEnding.connect(function () { Overlays.deleteOverlay(fakeReticle); }); - setCursor = function (hudPoint2d) { + setReticlePosition = function (hudPoint2d) { + weMovedReticle = true; Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); }; setReticleVisible = function (on) { From d2a92acc73832c6cee72221bb885666fb1f374c2 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Wed, 27 Apr 2016 15:38:25 -0700 Subject: [PATCH 014/106] checkpoint demo2 --- examples/controllers/handControllerPointer.js | 69 +++++++++++-------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index ad22d940af..b8bda0c6d0 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -13,18 +13,19 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +print('handControllerPointer version', 10); + // Control the "mouse" using hand controller. (HMD and desktop.) // For now: // Button 3 is left-mouse, button 4 is right-mouse. // First-person only. +// Right hand only. // Partial trigger squeeze toggles a laser visualization. When on, you can also click on objects in-world, not just HUD. // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) // // Bugs: -// Turn in-world click off when visualization is off. -// May also interfere with other scripts? - -// Right hand only. +// Don't turn off hand controllers on simulated click (only on real mouse click). +// Turn in-world click off when moving by hand controller. // Trigger toggle is flakey. // When clicking on in-world objects, the click acts on the red ball, not the termination of the blue line. @@ -42,7 +43,7 @@ function checkForDepthReticleScript() { // UTILITIES ------------- // -var counter = 0, skip = 50; +var counter = 0, skip = 0; //fixme 50; function debug() { // Display the arguments not just [Object object]. if (skip && (counter++ % skip)) { return; } print.apply(null, [].map.call(arguments, JSON.stringify)); @@ -96,7 +97,7 @@ var getOverlayAtPoint = Overlays.getOverlayAtPoint; var setReticleVisible = function (on) { Reticle.visible = on; }; var weMovedReticle = false; -function handControllerMovedReticle() { // I.e., change in cursor position is from us, not the mouse. +function handControllerMovedReticle() { // I.e., change in cursor position is from this script, not the mouse. // Only we know if we moved it, which is why this script has to replace depthReticle.js if (!weMovedReticle) { return false; } weMovedReticle = false; @@ -174,32 +175,40 @@ var MAPPING_NAME = Script.resolvePath(''); var mapping = Controller.newMapping(MAPPING_NAME); function mapToAction(controller, button, action) { if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! - mapping.from(Controller.Hardware[controller][button]).peek().to(Controller.Actions[action]); + mapping.from(Controller.Hardware[controller][button]).peek().to(action); } -mapToAction('Hydra', 'R3', 'ReticleClick'); -mapToAction('Hydra', 'R4', 'ContextMenu'); -mapToAction('Hydra', 'L3', 'ReticleClick'); -mapToAction('Hydra', 'L4', 'ContextMenu'); -mapToAction('Vive', 'LeftPrimaryThumb', 'ReticleClick'); -mapToAction('Vive', 'RightPrimaryThumb', 'ReticleClick'); +function handControllerClick(input) { + if (!input) { return; } // We get both a down (with input 1) and up (with input 0) + if (isPointingAtOverlay()) { print('OVERLAY CLICK'); return; } + print('FIXME controller click'); +} +mapToAction('Hydra', 'R3', Controller.Actions.ReticleClick); // handControllerClick); +mapToAction('Hydra', 'L3', handControllerClick); +mapToAction('Vive', 'LeftPrimaryThumb', handControllerClick); +mapToAction('Vive', 'RightPrimaryThumb', handControllerClick); +mapToAction('Hydra', 'R4', Controller.Actions.ContextMenu); +mapToAction('Hydra', 'L4', Controller.Actions.ContextMenu); Script.scriptEnding.connect(mapping.disable); -var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); +mapping.enable(); +//var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); // MOUSE ACTIVITY -------- // var mouseCursorActivity = new TimeLock(5000); var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant -function updateMouseActivity() { +function updateMouseActivity(isClick) { if (handControllerMovedReticle()) { return; } - // Turn off mouse cursor after inactivity (as in depthReticle.js), and turn off hand controller mouse for a while. var now = Date.now(); - handControllerLockOut.update(now); mouseCursorActivity.update(now); + if (isClick) { return; } // FIXME: mouse clicks should keep going. Just not hand controller clicks + handControllerLockOut.update(now); + // Turn off mouse cursor after inactivity (as in depthReticle.js), and turn off hand controller mouse for a while. // FIXME: Does not yet seek to lookAt upon waking. + // FIXME not unless Reticle.allowMouseCapture setReticleVisible(true); } function expireMouseCursor(now) { - if (mouseCursorActivity.expired(now)) { + if (!isPointingAtOverlay() && mouseCursorActivity.expired(now)) { setReticleVisible(false); } } @@ -210,17 +219,20 @@ function onMouseMove() { if (HMD.active) { // set depth // FIXME: does not yet adjust slowly. if (isPointingAtOverlay()) { - Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT FOR OFFSET SPHERE! + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! } else { var result = findRayIntersection(Camera.computePickRay(Reticle.position.x, Reticle.position.y)); - Reticle.depth = result.intersects ? result.depth : APPARENT_MAXIMUM_DEPTH; + Reticle.depth = result.intersects ? result.distance : APPARENT_MAXIMUM_DEPTH; } } - updateMouseActivity(); + updateMouseActivity(); // After the above, just in case the depth movement is awkward when becoming visible. +} +function onMouseClick() { + updateMouseActivity(true); } setupHandler(Controller.mouseMoveEvent, onMouseMove); -setupHandler(Controller.mousePressEvent, updateMouseActivity); -setupHandler(Controller.mouseDoublePressEvent, updateMouseActivity); +setupHandler(Controller.mousePressEvent, onMouseClick); +setupHandler(Controller.mouseDoublePressEvent, onMouseClick); // VISUAL AID ----------- @@ -257,9 +269,9 @@ var fakeProjectionBall = Overlays.addOverlay("sphere", { // Same properties as h }); var overlays = [laserBall, laserLine, fakeProjectionBall]; Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); -var visualizationIsShowing = true; // Not whether it desired, but simply whether it is. Just an optimization. +var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. function turnOffLaser(optionalEnableClicks) { - toggleMap.setState(optionalEnableClicks); + //toggleMap.setState(optionalEnableClicks); if (!optionalEnableClicks) { expireMouseCursor(); } if (!visualizationIsShowing) { return; } visualizationIsShowing = false; @@ -270,7 +282,7 @@ function turnOffLaser(optionalEnableClicks) { var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. var wantsVisualization = false; function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { - toggleMap.setState(true); + //toggleMap.setState(true); if (!wantsVisualization) { return false; } // Show the laser and intersect it with 3d overlays and entities. function intersection3d(position, direction) { @@ -317,7 +329,7 @@ var FULL_TRIGGER_THRESHOLD = 0.9; // 0 to 1. Non-linear. function update() { var now = Date.now(); if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. - if (!Menu.isOptionChecked("First Person")) { debug('not 1st person'); return turnOffLaser(); } // What to do? menus can be behind hand! + if (!Menu.isOptionChecked("First Person")) { return turnOffLaser(); } // What to do? menus can be behind hand! var trigger = getValue(Controller.Standard.RT); if (trigger > FULL_TRIGGER_THRESHOLD) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. maybeToggleVisualization(trigger, now); @@ -339,6 +351,7 @@ function update() { // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. if (isPointingAtOverlay(hudPoint2d)) { setReticleVisible(true); + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! return turnOffLaser(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). @@ -368,7 +381,7 @@ Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds function checkSettings() { updateFieldOfView(); - updateMouseHandlers(); + checkForDepthReticleScript() } checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); From 5ac67119a1cdcd9a0c4b7b205acfe567d94bb917 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 28 Apr 2016 10:28:04 -0700 Subject: [PATCH 015/106] Pretty solid except for in-world clicking via red ball instead of laser end, and not turning off clicking when no visualization. --- examples/controllers/handControllerPointer.js | 134 +++++++++++------- 1 file changed, 84 insertions(+), 50 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index b8bda0c6d0..c2a12a59ac 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -24,21 +24,28 @@ print('handControllerPointer version', 10); // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) // // Bugs: -// Don't turn off hand controllers on simulated click (only on real mouse click). -// Turn in-world click off when moving by hand controller. -// Trigger toggle is flakey. // When clicking on in-world objects, the click acts on the red ball, not the termination of the blue line. +// While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. +// Turn in-world click off when moving by hand controller. +var wasRunningDepthReticle = false; function checkForDepthReticleScript() { ScriptDiscoveryService.getRunning().forEach(function (script) { if (script.name === 'depthReticle.js') { - Window.alert('Please shut down depthReticle script.\n' + script.path + + wasRunningDepthReticle = script.path; + Window.alert('Shuting down depthReticle script.\n' + script.path + '\nMost of the behavior is included here in\n' + Script.resolvePath('')); - // Some current deviations are listed below as fixmes. + ScriptDiscoveryService.stopScript(script.path); // BUG: getRunning gets path and url backwards. stopScript wants a url. + // Some current deviations are listed below as 'FIXME'. } }); } +Script.scriptEnding.connect(function () { + if (wasRunningDepthReticle) { + Script.load(wasRunningDepthReticle); + } +}); // UTILITIES ------------- @@ -79,6 +86,35 @@ function LatchedToggle(onFunction, offFunction, state) { }; } +// Code copied and adapted from handControllerGrab.js. We should refactor this. +function Trigger() { + var TRIGGER_SMOOTH_RATIO = 0.1; // Time averaging of trigger - 0.0 disables smoothing + var TRIGGER_ON_VALUE = 0.4; // Squeezed just enough to activate search or near grab + var TRIGGER_GRAB_VALUE = 0.85; // Squeezed far enough to complete distant grab + var TRIGGER_OFF_VALUE = 0.15; + var that = this; + that.triggerValue = 0; // rolling average of trigger value + that.rawTriggerValue = 0; + that.triggerPress = function(value) { + print('fixme trigger', value); + that.rawTriggerValue = value; + }; + that.updateSmoothedTrigger = function() { + var triggerValue = that.rawTriggerValue; + // smooth out trigger value + that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); + }; + that.triggerSmoothedGrab = function() { + return that.triggerValue > TRIGGER_GRAB_VALUE; + }; + that.triggerSmoothedSqueezed = function() { + return that.triggerValue > TRIGGER_ON_VALUE; + }; + that.triggerSmoothedReleased = function() { + return that.triggerValue < TRIGGER_OFF_VALUE; + }; +} // VERTICAL FIELD OF VIEW --------- // @@ -168,30 +204,6 @@ function overlayFromWorldPoint(point) { return { x: horizontalPixels, y: verticalPixels }; } -// CONTROLLER MAPPING --------- -// -// Synthesize left and right mouse click from controller: -var MAPPING_NAME = Script.resolvePath(''); -var mapping = Controller.newMapping(MAPPING_NAME); -function mapToAction(controller, button, action) { - if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! - mapping.from(Controller.Hardware[controller][button]).peek().to(action); -} -function handControllerClick(input) { - if (!input) { return; } // We get both a down (with input 1) and up (with input 0) - if (isPointingAtOverlay()) { print('OVERLAY CLICK'); return; } - print('FIXME controller click'); -} -mapToAction('Hydra', 'R3', Controller.Actions.ReticleClick); // handControllerClick); -mapToAction('Hydra', 'L3', handControllerClick); -mapToAction('Vive', 'LeftPrimaryThumb', handControllerClick); -mapToAction('Vive', 'RightPrimaryThumb', handControllerClick); -mapToAction('Hydra', 'R4', Controller.Actions.ContextMenu); -mapToAction('Hydra', 'L4', Controller.Actions.ContextMenu); -Script.scriptEnding.connect(mapping.disable); -mapping.enable(); -//var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); - // MOUSE ACTIVITY -------- // var mouseCursorActivity = new TimeLock(5000); @@ -200,11 +212,10 @@ function updateMouseActivity(isClick) { if (handControllerMovedReticle()) { return; } var now = Date.now(); mouseCursorActivity.update(now); - if (isClick) { return; } // FIXME: mouse clicks should keep going. Just not hand controller clicks - handControllerLockOut.update(now); - // Turn off mouse cursor after inactivity (as in depthReticle.js), and turn off hand controller mouse for a while. + if (isClick) { return; } // Bug: mouse clicks should keep going. Just not hand controller clicks // FIXME: Does not yet seek to lookAt upon waking. // FIXME not unless Reticle.allowMouseCapture + handControllerLockOut.update(now); setReticleVisible(true); } function expireMouseCursor(now) { @@ -234,6 +245,37 @@ setupHandler(Controller.mouseMoveEvent, onMouseMove); setupHandler(Controller.mousePressEvent, onMouseClick); setupHandler(Controller.mouseDoublePressEvent, onMouseClick); +// CONTROLLER MAPPING --------- +// +// Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. +var MAPPING_NAME = Script.resolvePath(''); +var mapping = Controller.newMapping(MAPPING_NAME); + +var leftTrigger = new Trigger(); +var rightTrigger = new Trigger(); +mapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); +mapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); + +function mapToAction(controller, button, action) { + if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! + mapping.from(Controller.Hardware[controller][button]).peek().to(action); +} +function handControllerClick(input) { // FIXME + if (!input) { return; } // We get both a down (with input 1) and up (with input 0) + if (isPointingAtOverlay()) { return; } +} +mapToAction('Hydra', 'R3', Controller.Actions.ReticleClick); // handControllerClick); +mapToAction('Hydra', 'L3', handControllerClick); +mapToAction('Vive', 'LeftPrimaryThumb', handControllerClick); +mapToAction('Vive', 'RightPrimaryThumb', handControllerClick); +mapToAction('Hydra', 'R4', Controller.Actions.ContextMenu); +mapToAction('Hydra', 'L4', Controller.Actions.ContextMenu); +Script.scriptEnding.connect(mapping.disable); +//mapping.enable(); +var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); +toggleMap.setState(true); +Script.scriptEnding.connect(mapping.disable); + // VISUAL AID ----------- var LASER_COLOR = {red: 10, green: 10, blue: 255}; @@ -270,17 +312,20 @@ var fakeProjectionBall = Overlays.addOverlay("sphere", { // Same properties as h var overlays = [laserBall, laserLine, fakeProjectionBall]; Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. +var wantsVisualization = false; function turnOffLaser(optionalEnableClicks) { - //toggleMap.setState(optionalEnableClicks); - if (!optionalEnableClicks) { expireMouseCursor(); } + if (!optionalEnableClicks) { + expireMouseCursor(); + wantsVisualization = false; + } if (!visualizationIsShowing) { return; } visualizationIsShowing = false; + //toggleMap.setState(optionalEnableClicks); overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); }); } var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. -var wantsVisualization = false; function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { //toggleMap.setState(true); if (!wantsVisualization) { return false; } @@ -312,30 +357,19 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); return true; } -var toggleLockout = new TimeLock(500); -function maybeToggleVisualization(trigger, now) { - if (!trigger) { return; } - if (toggleLockout.expired(now)) { - wantsVisualization = !wantsVisualization; - print('Toggled visualization', wantsVisualization ? 'on' : 'off'); - } else { - toggleLockout.update(now); - } -} // MAIN OPERATIONS ----------- // -var FULL_TRIGGER_THRESHOLD = 0.9; // 0 to 1. Non-linear. function update() { var now = Date.now(); + rightTrigger.updateSmoothedTrigger(); if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. if (!Menu.isOptionChecked("First Person")) { return turnOffLaser(); } // What to do? menus can be behind hand! - var trigger = getValue(Controller.Standard.RT); - if (trigger > FULL_TRIGGER_THRESHOLD) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. - maybeToggleVisualization(trigger, now); + if (rightTrigger.triggerSmoothedGrab()) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. + if (rightTrigger.triggerSmoothedSqueezed()) { print('FIXME on'); wantsVisualization = true; } var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); - if (!controllerPose.valid) { wantsVisualization = false; return turnOffLaser(); } // Controller is cradled. + if (!controllerPose.valid) { return turnOffLaser(); } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); // This gets point direction right, but if you want general quaternion it would be more complicated: From f3adfb7c50358205a0bedcaf30fdaa091af5137b Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 28 Apr 2016 10:49:45 -0700 Subject: [PATCH 016/106] disable controller-button to mouse click mapping when off-hud and no visualization. --- examples/controllers/handControllerPointer.js | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index c2a12a59ac..7ae0f34067 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -35,7 +35,8 @@ function checkForDepthReticleScript() { wasRunningDepthReticle = script.path; Window.alert('Shuting down depthReticle script.\n' + script.path + '\nMost of the behavior is included here in\n' + - Script.resolvePath('')); + Script.resolvePath('') + + '\ndepthReticle.js will be silently restarted when this script ends.'); ScriptDiscoveryService.stopScript(script.path); // BUG: getRunning gets path and url backwards. stopScript wants a url. // Some current deviations are listed below as 'FIXME'. } @@ -96,7 +97,6 @@ function Trigger() { that.triggerValue = 0; // rolling average of trigger value that.rawTriggerValue = 0; that.triggerPress = function(value) { - print('fixme trigger', value); that.rawTriggerValue = value; }; that.updateSmoothedTrigger = function() { @@ -248,17 +248,20 @@ setupHandler(Controller.mouseDoublePressEvent, onMouseClick); // CONTROLLER MAPPING --------- // // Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. -var MAPPING_NAME = Script.resolvePath(''); -var mapping = Controller.newMapping(MAPPING_NAME); +var triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger'); +Script.scriptEnding.connect(triggerMapping.disable); var leftTrigger = new Trigger(); var rightTrigger = new Trigger(); -mapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); -mapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); +triggerMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); +triggerMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); +triggerMapping.enable(); +var clickMapping = Controller.newMapping(Script.resolvePath('') + '-click'); +Script.scriptEnding.connect(clickMapping.disable); function mapToAction(controller, button, action) { if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! - mapping.from(Controller.Hardware[controller][button]).peek().to(action); + clickMapping.from(Controller.Hardware[controller][button]).peek().to(action); } function handControllerClick(input) { // FIXME if (!input) { return; } // We get both a down (with input 1) and up (with input 0) @@ -270,11 +273,8 @@ mapToAction('Vive', 'LeftPrimaryThumb', handControllerClick); mapToAction('Vive', 'RightPrimaryThumb', handControllerClick); mapToAction('Hydra', 'R4', Controller.Actions.ContextMenu); mapToAction('Hydra', 'L4', Controller.Actions.ContextMenu); -Script.scriptEnding.connect(mapping.disable); -//mapping.enable(); -var toggleMap = new LatchedToggle(mapping.enable, mapping.disable); -toggleMap.setState(true); -Script.scriptEnding.connect(mapping.disable); +var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); +clickMapToggle.setState(true); // VISUAL AID ----------- @@ -366,7 +366,7 @@ function update() { if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. if (!Menu.isOptionChecked("First Person")) { return turnOffLaser(); } // What to do? menus can be behind hand! if (rightTrigger.triggerSmoothedGrab()) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. - if (rightTrigger.triggerSmoothedSqueezed()) { print('FIXME on'); wantsVisualization = true; } + if (rightTrigger.triggerSmoothedSqueezed()) { wantsVisualization = true; } var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); if (!controllerPose.valid) { return turnOffLaser(); } // Controller is cradled. @@ -386,13 +386,16 @@ function update() { if (isPointingAtOverlay(hudPoint2d)) { setReticleVisible(true); Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! + clickMapToggle.setState(true); return turnOffLaser(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). - if (!updateLaser(controllerPosition, controllerDirection, hudPoint3d)) { + var visualization3d = updateLaser(controllerPosition, controllerDirection, hudPoint3d); + if (!visualization3d) { setReticleVisible(false); turnOffLaser(); } + clickMapToggle.setState(visualization3d); /* // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on // 2D and 3D entities without rewriting other parts of the system, but it isn't right, From 89e4670361ef0f946b5ca3ed5a3c1ea200c62cce Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 28 Apr 2016 14:51:17 -0700 Subject: [PATCH 017/106] checkpoint --- examples/controllers/handControllerPointer.js | 127 ++++++++++-------- 1 file changed, 72 insertions(+), 55 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 7ae0f34067..3d11d0bdda 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -20,13 +20,13 @@ print('handControllerPointer version', 10); // Button 3 is left-mouse, button 4 is right-mouse. // First-person only. // Right hand only. -// Partial trigger squeeze toggles a laser visualization. When on, you can also click on objects in-world, not just HUD. // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) +// There's an additional experimental feature that isn't quite what we want: +// A partial trigger squeeze (like "hand controller search") turns on a laser. The red ball (mostly) works as a click on in-world +// entities and 3d overlays. We'd like that red ball to be at the end of the termination of the laser line, but right now its on the HUD. // // Bugs: -// When clicking on in-world objects, the click acts on the red ball, not the termination of the blue line. // While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. -// Turn in-world click off when moving by hand controller. var wasRunningDepthReticle = false; function checkForDepthReticleScript() { @@ -37,7 +37,9 @@ function checkForDepthReticleScript() { '\nMost of the behavior is included here in\n' + Script.resolvePath('') + '\ndepthReticle.js will be silently restarted when this script ends.'); - ScriptDiscoveryService.stopScript(script.path); // BUG: getRunning gets path and url backwards. stopScript wants a url. + ScriptDiscoveryService.stopScript(script.path); + // FIX SYSTEM BUG: getRunning gets path and url backwards. stopScript wants a url. + // https://app.asana.com/0/26225263936266/118428633439650 // Some current deviations are listed below as 'FIXME'. } }); @@ -130,6 +132,8 @@ function updateFieldOfView() { var getControllerPose = Controller.getPoseValue; var getValue = Controller.getValue; var getOverlayAtPoint = Overlays.getOverlayAtPoint; +// FIX SYSTEM BUG: doesn't work on mac. +// https://app.asana.com/0/26225263936266/118428633439654 var setReticleVisible = function (on) { Reticle.visible = on; }; var weMovedReticle = false; @@ -141,7 +145,8 @@ function handControllerMovedReticle() { // I.e., change in cursor position is fr } var setReticlePosition = function (point2d) { if (!HMD.active) { - // FIX SYSEM BUG: On Windows, setPosition is setting relative to screen origin, not the content area of the window. + // FIX SYSTEM BUG: setPosition is setting relative to screen origin, not the content area of the window. + // https://app.asana.com/0/26225263936266/118427643788550 point2d = {x: point2d.x, y: point2d.y + 50}; } weMovedReticle = true; @@ -241,38 +246,37 @@ function onMouseMove() { function onMouseClick() { updateMouseActivity(true); } -setupHandler(Controller.mouseMoveEvent, onMouseMove); -setupHandler(Controller.mousePressEvent, onMouseClick); -setupHandler(Controller.mouseDoublePressEvent, onMouseClick); +var fixmehack = false; +if (!fixmehack) { + setupHandler(Controller.mouseMoveEvent, onMouseMove); + setupHandler(Controller.mousePressEvent, onMouseClick); + setupHandler(Controller.mouseDoublePressEvent, onMouseClick); +} // CONTROLLER MAPPING --------- // // Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. +function mapToAction(mapping, controller, button, action) { + if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! + mapping.from(Controller.Hardware[controller][button]).peek().to(Controller.Actions[action]); +} -var triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger'); -Script.scriptEnding.connect(triggerMapping.disable); +var triggerMenuMapping = Controller.newMapping(Script.resolvePath('') + '-trigger'); +Script.scriptEnding.connect(triggerMenuMapping.disable); var leftTrigger = new Trigger(); var rightTrigger = new Trigger(); -triggerMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); -triggerMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); -triggerMapping.enable(); +triggerMenuMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); +triggerMenuMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); +mapToAction(triggerMenuMapping, 'Hydra', 'R4', 'ContextMenu'); +mapToAction(triggerMenuMapping, 'Hydra', 'L4', 'ContextMenu'); +triggerMenuMapping.enable(); var clickMapping = Controller.newMapping(Script.resolvePath('') + '-click'); Script.scriptEnding.connect(clickMapping.disable); -function mapToAction(controller, button, action) { - if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! - clickMapping.from(Controller.Hardware[controller][button]).peek().to(action); -} -function handControllerClick(input) { // FIXME - if (!input) { return; } // We get both a down (with input 1) and up (with input 0) - if (isPointingAtOverlay()) { return; } -} -mapToAction('Hydra', 'R3', Controller.Actions.ReticleClick); // handControllerClick); -mapToAction('Hydra', 'L3', handControllerClick); -mapToAction('Vive', 'LeftPrimaryThumb', handControllerClick); -mapToAction('Vive', 'RightPrimaryThumb', handControllerClick); -mapToAction('Hydra', 'R4', Controller.Actions.ContextMenu); -mapToAction('Hydra', 'L4', Controller.Actions.ContextMenu); +mapToAction(clickMapping, 'Hydra', 'R3', 'ReticleClick'); +mapToAction(clickMapping, 'Hydra', 'L3', 'ReticleClick'); +mapToAction(clickMapping, 'Vive', 'LeftPrimaryThumb', 'ReticleClick'); +mapToAction(clickMapping, 'Vive', 'RightPrimaryThumb', 'ReticleClick'); var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); clickMapToggle.setState(true); @@ -281,7 +285,7 @@ clickMapToggle.setState(true); var LASER_COLOR = {red: 10, green: 10, blue: 255}; var laserLine = Overlays.addOverlay("line3d", { // same properties as handControllerGrab search line lineWidth: 5, - // FIX SYSTEM BUG: If you don't supply a start and end at creation, it will never show up, even after editing. + // FIX SYSTEM BUG?: If you don't supply a start and end at creation, it will never show up, even after editing. start: MyAvatar.position, end: Vec3.ZERO, color: LASER_COLOR, @@ -326,8 +330,7 @@ function turnOffLaser(optionalEnableClicks) { }); } var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. -function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { - //toggleMap.setState(true); +function updateLaser(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { if (!wantsVisualization) { return false; } // Show the laser and intersect it with 3d overlays and entities. function intersection3d(position, direction) { @@ -336,8 +339,8 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { return result.intersects ? result.intersection : Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); } var termination = intersection3d(controllerPosition, controllerDirection); + visualizationIsShowing = true; - setReticleVisible(false); Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); // We show the ball at the hud intersection rather than at the termination because: // 1) As you swing the laser in space, it's hard to judge where it will intersect with a HUD element, @@ -347,14 +350,40 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d) { // the ball anyway. Overlays.editOverlay(laserBall, {visible: true, position: hudPosition3d}); - // We really want in-world interactions to take place at termination: - // - We could do some of that with callEntityMethod (e.g., light switch entity script) - // - But we would have to alter edit.js to accept synthetic mouse data. - // So for now, we present a false projection of the cursor onto whatever is below it. This is different from - // the laser termination because the false projection is from the camera, while the laser termination is from the hand. - var eye = Camera.getPosition(); - var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); - Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); + if (!fixmehack) { + // We really want in-world interactions to take place at termination: + // - We could do some of that with callEntityMethod (e.g., light switch entity script) + // - But we would have to alter edit.js to accept synthetic mouse data. + // So for now, we present a false projection of the cursor onto whatever is below it. This is different from + // the laser termination because the false projection is from the camera, while the laser termination is from the hand. + var eye = Camera.getPosition(); + var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); + Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); + setReticleVisible(false); + } else { + // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on + // 3D entities without rewriting other parts of the system, but it isn't right, + // because the line from camera to the new mouse position might intersect different things + // than the line from controllerPosition to termination. + var eye = Camera.getPosition(); + var apparentHudTermination3d = calculateRayUICollisionPoint(eye, Vec3.subtract(termination, eye)); + var apparentHudTermination2d = overlayFromWorldPoint(apparentHudTermination3d); + Overlays.editOverlay(fakeProjectionBall, {visible: true, position: termination}); + setReticleVisible(false); + + setReticlePosition(apparentHudTermination2d); + /*if (isPointingAtOverlay(apparentHudTermination2d)) { + // The intersection could be at a point underneath a HUD element! (I said this was a hack.) + // If so, set things back so we don't oscillate. + setReticleVisible(false); + setReticlePosition(hudPosition2d) + return true; + } else { + setReticleVisible(true); + }*/ + if (HMD.active) { Reticle.depth = Vec3.distance(eye, apparentHudTermination3d); } + } + return true; } @@ -378,10 +407,10 @@ function update() { var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffLaser(); } var hudPoint2d = overlayFromWorldPoint(hudPoint3d); + // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if // it's pointing at a QML tool (aka system overlay). setReticlePosition(hudPoint2d); - // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. if (isPointingAtOverlay(hudPoint2d)) { setReticleVisible(true); @@ -390,24 +419,12 @@ function update() { return turnOffLaser(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). - var visualization3d = updateLaser(controllerPosition, controllerDirection, hudPoint3d); + var visualization3d = updateLaser(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); + clickMapToggle.setState(visualization3d); if (!visualization3d) { setReticleVisible(false); turnOffLaser(); } - clickMapToggle.setState(visualization3d); - /* - // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on - // 2D and 3D entities without rewriting other parts of the system, but it isn't right, - // because the line from camera to the new mouse position might intersect different things - // than the line from controllerPosition to termination. - var eye = Camera.getPosition(); - var apparentHudTermination3d = calculateRayUICollisionPoint(eye, Vec3.subtract(termination, eye)); - var apparentHudTermination2d = overlayFromWorldPoint(apparentHudTermination3d); - Overlays.editOverlay(fakeReticle, {x: apparentHudTermination2d.x - reticleHalfSize, y: apparentHudTermination2d.y - reticleHalfSize}); - //Reticle.visible = false; - setReticlePosition(apparentHudTermination2d); -*/ } var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. @@ -475,7 +492,7 @@ if (false && !Controller.Hardware.Hydra) { Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); }; setReticleVisible = function (on) { - Reticle.visible = on; // FIX SYSTEM BUG: doesn't work on mac. + Reticle.visible = on; Overlays.editOverlay(fakeReticle, {visible: on}); }; // The idea here is that we not return a truthy result constantly when we display the fake reticle. From c68cae5dc085ab6e68ccdf44a33e48e70b8b593d Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 28 Apr 2016 15:28:50 -0700 Subject: [PATCH 018/106] stash some commented-out code before update --- examples/controllers/handControllerPointer.js | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 3d11d0bdda..79a558ea3f 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -17,7 +17,7 @@ print('handControllerPointer version', 10); // Control the "mouse" using hand controller. (HMD and desktop.) // For now: -// Button 3 is left-mouse, button 4 is right-mouse. +// Button 3 is left-mouse, button 4 is right-mouse. What to do on Vive? // First-person only. // Right hand only. // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) @@ -279,6 +279,33 @@ mapToAction(clickMapping, 'Vive', 'LeftPrimaryThumb', 'ReticleClick'); mapToAction(clickMapping, 'Vive', 'RightPrimaryThumb', 'ReticleClick'); var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); clickMapToggle.setState(true); +/* +var hardware; // undefined +var leftTrigger = new Trigger(); +var rightTrigger = new Trigger(); +function checkHardware() { + var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive': null); // not undefined + if (hardware === newHardware) { return; } + if (hardware) { + triggerMenuMapping.disable(); + clickMapping.disable(); + } + hardware = newHardware; + triggerMenuMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); + triggerMenuMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); + mapToAction(triggerMenuMapping, 'Hydra', 'R4', 'ContextMenu'); + mapToAction(triggerMenuMapping, 'Hydra', 'L4', 'ContextMenu'); + triggerMenuMapping.enable(); + + mapToAction(clickMapping, 'Hydra', 'R3', 'ReticleClick'); + mapToAction(clickMapping, 'Hydra', 'L3', 'ReticleClick'); + mapToAction(clickMapping, 'Vive', 'LeftPrimaryThumb', 'ReticleClick'); + mapToAction(clickMapping, 'Vive', 'RightPrimaryThumb', 'ReticleClick'); + var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); + clickMapToggle.setState(true); +} +checkHardware(); +*/ // VISUAL AID ----------- From 0362dd970ef6ff9c3ffe0120d6cca0499cad4717 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 28 Apr 2016 17:04:04 -0700 Subject: [PATCH 019/106] checkpoint. --- examples/controllers/handControllerPointer.js | 85 ++++++++++--------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 79a558ea3f..14acc62e7a 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -53,7 +53,7 @@ Script.scriptEnding.connect(function () { // UTILITIES ------------- // -var counter = 0, skip = 0; //fixme 50; +var counter = 0, skip = 50; function debug() { // Display the arguments not just [Object object]. if (skip && (counter++ % skip)) { return; } print.apply(null, [].map.call(arguments, JSON.stringify)); @@ -78,6 +78,9 @@ var handControllerLockOut = new TimeLock(2000); // Calls onFunction() or offFunction() when swtich(on), but only if it is to a new value. function LatchedToggle(onFunction, offFunction, state) { + this.getState = function () { + return state; + }; this.setState = function (on) { if (state === on) { return; } state = on; @@ -106,6 +109,7 @@ function Trigger() { // smooth out trigger value that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); + debug(that.triggerValue); }; that.triggerSmoothedGrab = function() { return that.triggerValue > TRIGGER_GRAB_VALUE; @@ -256,56 +260,58 @@ if (!fixmehack) { // CONTROLLER MAPPING --------- // // Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. -function mapToAction(mapping, controller, button, action) { - if (!Controller.Hardware[controller]) { return; } // FIXME: recheck periodically! - mapping.from(Controller.Hardware[controller][button]).peek().to(Controller.Actions[action]); -} - -var triggerMenuMapping = Controller.newMapping(Script.resolvePath('') + '-trigger'); -Script.scriptEnding.connect(triggerMenuMapping.disable); +var triggerMapping; var leftTrigger = new Trigger(); var rightTrigger = new Trigger(); -triggerMenuMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); -triggerMenuMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); -mapToAction(triggerMenuMapping, 'Hydra', 'R4', 'ContextMenu'); -mapToAction(triggerMenuMapping, 'Hydra', 'L4', 'ContextMenu'); -triggerMenuMapping.enable(); -var clickMapping = Controller.newMapping(Script.resolvePath('') + '-click'); -Script.scriptEnding.connect(clickMapping.disable); -mapToAction(clickMapping, 'Hydra', 'R3', 'ReticleClick'); -mapToAction(clickMapping, 'Hydra', 'L3', 'ReticleClick'); -mapToAction(clickMapping, 'Vive', 'LeftPrimaryThumb', 'ReticleClick'); -mapToAction(clickMapping, 'Vive', 'RightPrimaryThumb', 'ReticleClick'); -var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); -clickMapToggle.setState(true); -/* +// Create clickMappings as needed, on demand. +var clickMappings = {}, clickMapping, clickMapToggle; var hardware; // undefined -var leftTrigger = new Trigger(); -var rightTrigger = new Trigger(); function checkHardware() { + // FIX SYSTEM BUG: This does not work when hardware changes. + // https://app.asana.com/0/26225263936266/118428633439654 var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive': null); // not undefined if (hardware === newHardware) { return; } - if (hardware) { - triggerMenuMapping.disable(); - clickMapping.disable(); + print('Setting mapping for new controller hardware:', newHardware); + if (clickMapToggle) { + clickMapToggle.setState(false); + triggerMapping.disable(); } hardware = newHardware; - triggerMenuMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); - triggerMenuMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); - mapToAction(triggerMenuMapping, 'Hydra', 'R4', 'ContextMenu'); - mapToAction(triggerMenuMapping, 'Hydra', 'L4', 'ContextMenu'); - triggerMenuMapping.enable(); + if (clickMappings[hardware]) { + clickMapping = clickMappings[hardware].click; + triggerMapping = clickMappings[hardware].trigger; + } else { + clickMapping = Controller.newMapping(Script.resolvePath('') + '-click-' + hardware); + Script.scriptEnding.connect(clickMapping.disable); + function mapToAction(button, action) { + clickMapping.from(Controller.Hardware[hardware][button]).peek().to(Controller.Actions[action]); + } + switch (hardware) { + case 'Hydra': + mapToAction('R3', 'ReticleClick'); + mapToAction('L3', 'ReticleClick'); + mapToAction('R4', 'ContextMenu'); + mapToAction('L4', 'ContextMenu'); + break; + case 'Vive': + mapToAction('LeftPrimaryThumb', 'ReticleClick'); + mapToAction('RightPrimaryThumb', 'ReticleClick'); + break; + } - mapToAction(clickMapping, 'Hydra', 'R3', 'ReticleClick'); - mapToAction(clickMapping, 'Hydra', 'L3', 'ReticleClick'); - mapToAction(clickMapping, 'Vive', 'LeftPrimaryThumb', 'ReticleClick'); - mapToAction(clickMapping, 'Vive', 'RightPrimaryThumb', 'ReticleClick'); - var clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); + triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger-' + hardware); + Script.scriptEnding.connect(triggerMapping.disable); + triggerMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); + triggerMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); + + clickMappings[hardware] = {click: clickMapping, trigger: triggerMapping}; + } + clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); clickMapToggle.setState(true); + triggerMapping.enable(); } checkHardware(); -*/ // VISUAL AID ----------- @@ -462,7 +468,8 @@ Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds function checkSettings() { updateFieldOfView(); - checkForDepthReticleScript() + checkForDepthReticleScript(); + checkHardware();; } checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); From 9f5ee103749f8e8b089c63241f17e55e4f3f1807 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Fri, 29 Apr 2016 10:40:08 -0700 Subject: [PATCH 020/106] Simplification, with just a fake projection ball shown where click will occur in 3d. --- examples/controllers/handControllerPointer.js | 200 +++--------------- 1 file changed, 35 insertions(+), 165 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 14acc62e7a..794af64898 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -19,14 +19,14 @@ print('handControllerPointer version', 10); // For now: // Button 3 is left-mouse, button 4 is right-mouse. What to do on Vive? // First-person only. -// Right hand only. -// On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) -// There's an additional experimental feature that isn't quite what we want: -// A partial trigger squeeze (like "hand controller search") turns on a laser. The red ball (mostly) works as a click on in-world -// entities and 3d overlays. We'd like that red ball to be at the end of the termination of the laser line, but right now its on the HUD. +// Right hand only. FIXME +// When over a HUD element, the reticle is shown where the active hand controller beam intersects the HUD. +// Otherwise, the active hand controller shows a red ball where a click will act. // // Bugs: +// On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) // While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. +// lockout after click on 2d overlay? var wasRunningDepthReticle = false; function checkForDepthReticleScript() { @@ -268,14 +268,16 @@ var rightTrigger = new Trigger(); var clickMappings = {}, clickMapping, clickMapToggle; var hardware; // undefined function checkHardware() { - // FIX SYSTEM BUG: This does not work when hardware changes. - // https://app.asana.com/0/26225263936266/118428633439654 var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive': null); // not undefined if (hardware === newHardware) { return; } print('Setting mapping for new controller hardware:', newHardware); if (clickMapToggle) { clickMapToggle.setState(false); triggerMapping.disable(); + // FIX SYSTEM BUG: This does not work when hardware changes. + Window.alert("This isn't likely to work because of " + + 'https://app.asana.com/0/26225263936266/118428633439654\n' + + "You'll probably need to restart interface."); } hardware = newHardware; if (clickMappings[hardware]) { @@ -290,12 +292,9 @@ function checkHardware() { switch (hardware) { case 'Hydra': mapToAction('R3', 'ReticleClick'); - mapToAction('L3', 'ReticleClick'); mapToAction('R4', 'ContextMenu'); - mapToAction('L4', 'ContextMenu'); break; case 'Vive': - mapToAction('LeftPrimaryThumb', 'ReticleClick'); mapToAction('RightPrimaryThumb', 'ReticleClick'); break; } @@ -315,29 +314,10 @@ checkHardware(); // VISUAL AID ----------- -var LASER_COLOR = {red: 10, green: 10, blue: 255}; -var laserLine = Overlays.addOverlay("line3d", { // same properties as handControllerGrab search line - lineWidth: 5, - // FIX SYSTEM BUG?: If you don't supply a start and end at creation, it will never show up, even after editing. - start: MyAvatar.position, - end: Vec3.ZERO, - color: LASER_COLOR, - ignoreRayIntersection: true, - visible: false, - alpha: 1 -}); +// Same properties as handControllerGrab search sphere var BALL_SIZE = 0.011; var BALL_ALPHA = 0.5; -var laserBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere - size: BALL_SIZE, - color: LASER_COLOR, - ignoreRayIntersection: true, - alpha: BALL_ALPHA, - visible: false, - solid: true, - drawInFront: true // Even when burried inside of something, show it. -}); -var fakeProjectionBall = Overlays.addOverlay("sphere", { // Same properties as handControllerGrab search sphere +var fakeProjectionBall = Overlays.addOverlay("sphere", { size: 5 * BALL_SIZE, color: {red: 255, green: 10, blue: 10}, ignoreRayIntersection: true, @@ -346,14 +326,12 @@ var fakeProjectionBall = Overlays.addOverlay("sphere", { // Same properties as h solid: true, drawInFront: true // Even when burried inside of something, show it. }); -var overlays = [laserBall, laserLine, fakeProjectionBall]; +var overlays = [fakeProjectionBall]; // If we want to try showing multiple balls and lasers. Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. -var wantsVisualization = false; function turnOffLaser(optionalEnableClicks) { if (!optionalEnableClicks) { expireMouseCursor(); - wantsVisualization = false; } if (!visualizationIsShowing) { return; } visualizationIsShowing = false; @@ -364,60 +342,33 @@ function turnOffLaser(optionalEnableClicks) { } var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. function updateLaser(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { - if (!wantsVisualization) { return false; } - // Show the laser and intersect it with 3d overlays and entities. + // Show an indication of where the cursor will appear when crossing a HUD element, + // and where in-world clicking will occur. + // + // There are a number of ways we could do this, but for now, it's a blue sphere that rolls along + // the HUD surface, and a red sphere that rolls along the 3d objects that will receive the click. + // We'll leave it to other scripts (like handControllerGrab) to show a search beam when desired. + function intersection3d(position, direction) { + // Answer in-world intersection (entity or 3d overlay), or way-out point var pickRay = {origin: position, direction: direction}; var result = findRayIntersection(pickRay); return result.intersects ? result.intersection : Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); } - var termination = intersection3d(controllerPosition, controllerDirection); visualizationIsShowing = true; - Overlays.editOverlay(laserLine, {visible: true, start: controllerPosition, end: termination}); - // We show the ball at the hud intersection rather than at the termination because: - // 1) As you swing the laser in space, it's hard to judge where it will intersect with a HUD element, - // unless the intersection of the laser with the HUD is marked. But it's confusing to do that - // with the pointer, so we use the ball. - // 2) On some objects, the intersection is just enough inside the object that we're not going to see - // the ball anyway. - Overlays.editOverlay(laserBall, {visible: true, position: hudPosition3d}); + // We'd rather in-world interactions be done at the termination of the hand beam + // -- intersection3d(controllerPosition, controllerDirection). Maybe have handControllerGrab + // direclty manipulate both entity and 3d overlay objects. + // For now, though, we present a false projection of the cursor onto whatever is below it. This is + // different from the hand beam termination because the false projection is from the camera, while + // the hand beam termination is from the hand. + var eye = Camera.getPosition(); + var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); + Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); + setReticleVisible(false); - if (!fixmehack) { - // We really want in-world interactions to take place at termination: - // - We could do some of that with callEntityMethod (e.g., light switch entity script) - // - But we would have to alter edit.js to accept synthetic mouse data. - // So for now, we present a false projection of the cursor onto whatever is below it. This is different from - // the laser termination because the false projection is from the camera, while the laser termination is from the hand. - var eye = Camera.getPosition(); - var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); - Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); - setReticleVisible(false); - } else { - // Hack: Move the pointer again, this time to the intersection. This allows "clicking" on - // 3D entities without rewriting other parts of the system, but it isn't right, - // because the line from camera to the new mouse position might intersect different things - // than the line from controllerPosition to termination. - var eye = Camera.getPosition(); - var apparentHudTermination3d = calculateRayUICollisionPoint(eye, Vec3.subtract(termination, eye)); - var apparentHudTermination2d = overlayFromWorldPoint(apparentHudTermination3d); - Overlays.editOverlay(fakeProjectionBall, {visible: true, position: termination}); - setReticleVisible(false); - - setReticlePosition(apparentHudTermination2d); - /*if (isPointingAtOverlay(apparentHudTermination2d)) { - // The intersection could be at a point underneath a HUD element! (I said this was a hack.) - // If so, set things back so we don't oscillate. - setReticleVisible(false); - setReticlePosition(hudPosition2d) - return true; - } else { - setReticleVisible(true); - }*/ - if (HMD.active) { Reticle.depth = Vec3.distance(eye, apparentHudTermination3d); } - } - - return true; + return visualizationIsShowing; // In case we change caller to act conditionally. } // MAIN OPERATIONS ----------- @@ -428,7 +379,6 @@ function update() { if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. if (!Menu.isOptionChecked("First Person")) { return turnOffLaser(); } // What to do? menus can be behind hand! if (rightTrigger.triggerSmoothedGrab()) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. - if (rightTrigger.triggerSmoothedSqueezed()) { wantsVisualization = true; } var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); if (!controllerPose.valid) { return turnOffLaser(); } // Controller is cradled. @@ -446,18 +396,14 @@ function update() { setReticlePosition(hudPoint2d); // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. if (isPointingAtOverlay(hudPoint2d)) { + if (HMD.active) { // Doesn't hurt anything without the guard, but consider it documentation. + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! + } setReticleVisible(true); - Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! - clickMapToggle.setState(true); return turnOffLaser(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). - var visualization3d = updateLaser(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); - clickMapToggle.setState(visualization3d); - if (!visualization3d) { - setReticleVisible(false); - turnOffLaser(); - } + updateLaser(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); } var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. @@ -474,79 +420,3 @@ function checkSettings() { checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); - - -// DEBUGGING WITHOUT HYDRA ----------------------- -// -// The rest of this is for debugging without working hand controllers, using a line from camera to mouse, and an image for cursor. -var CONTROLLER_ROTATION = Quat.fromPitchYawRollDegrees(90, 180, -90); -if (false && !Controller.Hardware.Hydra) { - print('WARNING: no hand controller detected. Using mouse!'); - var mouseKeeper = {x: 0, y: 0}; - var onMouseMoveCapture = function (event) { mouseKeeper.x = event.x; mouseKeeper.y = event.y; }; - setupHandler(Controller.mouseMoveEvent, onMouseMoveCapture); - getControllerPose = function () { - var size = Controller.getViewportDimensions(); - var handPoint = Vec3.subtract(Camera.getPosition(), MyAvatar.position); // Pretend controller is at camera - - // In world-space 3D meters: - var rotation = Camera.getOrientation(); - var normal = Quat.getFront(rotation); - var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); - var hudWidth = hudHeight * size.x / size.y; - var rightFraction = mouseKeeper.x / size.x - 0.5; - var rightMeters = rightFraction * hudWidth; - var upFraction = mouseKeeper.y / size.y - 0.5; - var upMeters = upFraction * hudHeight * -1; - var right = Vec3.multiply(Quat.getRight(rotation), rightMeters); - var up = Vec3.multiply(Quat.getUp(rotation), upMeters); - var direction = Vec3.sum(normal, Vec3.sum(right, up)); - var mouseRotation = Quat.rotationBetween(normal, direction); - - var controllerRotation = Quat.multiply(Quat.multiply(mouseRotation, rotation), CONTROLLER_ROTATION); - var inverseAvatar = Quat.inverse(MyAvatar.orientation); - return { - valid: true, - translation: Vec3.multiplyQbyV(inverseAvatar, handPoint), - rotation: Quat.multiply(inverseAvatar, controllerRotation) - }; - }; - // We can't set the mouse if we're using the mouse as a fake controller. So stick an image where we would be putting the mouse. - // WARNING: This fake cursor is an overlay that will be the target of clicks and drags rather than other overlays underneath it! - var reticleHalfSize = 16; - var fakeReticle = Overlays.addOverlay("image", { - imageURL: "http://s3.amazonaws.com/hifi-public/images/delete.png", - width: 2 * reticleHalfSize, - height: 2 * reticleHalfSize, - alpha: 0.7 - }); - Script.scriptEnding.connect(function () { Overlays.deleteOverlay(fakeReticle); }); - setReticlePosition = function (hudPoint2d) { - weMovedReticle = true; - Overlays.editOverlay(fakeReticle, {x: hudPoint2d.x - reticleHalfSize, y: hudPoint2d.y - reticleHalfSize}); - }; - setReticleVisible = function (on) { - Reticle.visible = on; - Overlays.editOverlay(fakeReticle, {visible: on}); - }; - // The idea here is that we not return a truthy result constantly when we display the fake reticle. - // But this is done wrong when we're over another overlay as well: if we hit the fakeReticle, we incorrectly answer null here. - // FIXME: display fake reticle slightly off to the side instead. - getOverlayAtPoint = function (point2d) { - var overlay = Overlays.getOverlayAtPoint(point2d); - if (overlay === fakeReticle) { return null; } - return overlay; - }; - var fakeTrigger = 0; - getValue = function () { var trigger = fakeTrigger; fakeTrigger = 0; return trigger; }; - setupHandler(Controller.keyPressEvent, function (event) { - switch (event.text) { - case '`': - fakeTrigger = 0.4; - break; - case '~': - fakeTrigger = 0.9; - break; - } - }); -} From e847948f9b82caaa1776a14458874300098dcd84 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Fri, 29 Apr 2016 11:01:07 -0700 Subject: [PATCH 021/106] Handle away mode. --- examples/controllers/handControllerPointer.js | 36 +++++++++---------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 794af64898..87a52a6a10 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -141,7 +141,9 @@ var getOverlayAtPoint = Overlays.getOverlayAtPoint; var setReticleVisible = function (on) { Reticle.visible = on; }; var weMovedReticle = false; -function handControllerMovedReticle() { // I.e., change in cursor position is from this script, not the mouse. +function ignoreMouseActivity() { + // If we're paused, or if change in cursor position is from this script, not the hardware mouse. + if (!Reticle.allowMouseCapture) { return true; } // Only we know if we moved it, which is why this script has to replace depthReticle.js if (!weMovedReticle) { return false; } weMovedReticle = false; @@ -218,12 +220,11 @@ function overlayFromWorldPoint(point) { var mouseCursorActivity = new TimeLock(5000); var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant function updateMouseActivity(isClick) { - if (handControllerMovedReticle()) { return; } + if (ignoreMouseActivity()) { return; } var now = Date.now(); mouseCursorActivity.update(now); if (isClick) { return; } // Bug: mouse clicks should keep going. Just not hand controller clicks // FIXME: Does not yet seek to lookAt upon waking. - // FIXME not unless Reticle.allowMouseCapture handControllerLockOut.update(now); setReticleVisible(true); } @@ -234,7 +235,7 @@ function expireMouseCursor(now) { } function onMouseMove() { // Display cursor at correct depth (as in depthReticle.js), and updateMouseActivity. - if (handControllerMovedReticle()) { return; } + if (ignoreMouseActivity()) { return; } if (HMD.active) { // set depth // FIXME: does not yet adjust slowly. @@ -250,12 +251,9 @@ function onMouseMove() { function onMouseClick() { updateMouseActivity(true); } -var fixmehack = false; -if (!fixmehack) { - setupHandler(Controller.mouseMoveEvent, onMouseMove); - setupHandler(Controller.mousePressEvent, onMouseClick); - setupHandler(Controller.mouseDoublePressEvent, onMouseClick); -} +setupHandler(Controller.mouseMoveEvent, onMouseMove); +setupHandler(Controller.mousePressEvent, onMouseClick); +setupHandler(Controller.mouseDoublePressEvent, onMouseClick); // CONTROLLER MAPPING --------- // @@ -329,19 +327,18 @@ var fakeProjectionBall = Overlays.addOverlay("sphere", { var overlays = [fakeProjectionBall]; // If we want to try showing multiple balls and lasers. Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. -function turnOffLaser(optionalEnableClicks) { +function turnOffVisualization(optionalEnableClicks) { // because we're showing cursor on HUD if (!optionalEnableClicks) { expireMouseCursor(); } if (!visualizationIsShowing) { return; } visualizationIsShowing = false; - //toggleMap.setState(optionalEnableClicks); overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); }); } var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. -function updateLaser(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { +function updateVisualization(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { // Show an indication of where the cursor will appear when crossing a HUD element, // and where in-world clicking will occur. // @@ -376,19 +373,18 @@ function updateLaser(controllerPosition, controllerDirection, hudPosition3d, hud function update() { var now = Date.now(); rightTrigger.updateSmoothedTrigger(); - if (!handControllerLockOut.expired(now)) { return turnOffLaser(); } // Let them use mouse it in peace. - if (!Menu.isOptionChecked("First Person")) { return turnOffLaser(); } // What to do? menus can be behind hand! - if (rightTrigger.triggerSmoothedGrab()) { handControllerLockOut.update(now); return turnOffLaser(); } // Interferes with other scripts. + if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. + if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! var hand = Controller.Standard.RightHand; var controllerPose = getControllerPose(hand); - if (!controllerPose.valid) { return turnOffLaser(); } // Controller is cradled. + if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); // This gets point direction right, but if you want general quaternion it would be more complicated: var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); - if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffLaser(); } + if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffVisualization(); } var hudPoint2d = overlayFromWorldPoint(hudPoint3d); // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if @@ -400,10 +396,10 @@ function update() { Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! } setReticleVisible(true); - return turnOffLaser(true); + return turnOffVisualization(true); } // We are not pointing at a HUD element (but it could be a 3d overlay). - updateLaser(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); + updateVisualization(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); } var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. From 37380556f67419a0c1a0442d72b1a8885cc6d026 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Fri, 29 Apr 2016 11:32:29 -0700 Subject: [PATCH 022/106] checkpoint basic handedness (before the remapping part) --- examples/controllers/handControllerPointer.js | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 87a52a6a10..6d0973622a 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -109,7 +109,7 @@ function Trigger() { // smooth out trigger value that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); - debug(that.triggerValue); + debug(that.triggerValue); // FIXME }; that.triggerSmoothedGrab = function() { return that.triggerValue > TRIGGER_GRAB_VALUE; @@ -310,6 +310,17 @@ function checkHardware() { } checkHardware(); +var activeHand = Controller.Standard.RightHand; +var activeTrigger = rightTrigger; +function toggleHand() { + if (activeHand === Controller.Standard.RightHand) { + activeHand = Controller.Standard.LeftHand; + activeTrigger = leftTrigger; + } else { + activeHand = Controller.Standard.RightHand; + activeTrigger = rightTrigger; + } +} // VISUAL AID ----------- // Same properties as handControllerGrab search sphere @@ -372,11 +383,14 @@ function updateVisualization(controllerPosition, controllerDirection, hudPositio // function update() { var now = Date.now(); + leftTrigger.updateSmoothedTrigger(); rightTrigger.updateSmoothedTrigger(); if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. + + if (activeTrigger.triggerSmoothedSqueezed()) { toggleHand(); } + if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! - var hand = Controller.Standard.RightHand; - var controllerPose = getControllerPose(hand); + var controllerPose = getControllerPose(activeHand); if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); From b3fda55ea9b612c6324bb3530aad032e28e61cca Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Fri, 29 Apr 2016 11:39:36 -0700 Subject: [PATCH 023/106] handedness --- examples/controllers/handControllerPointer.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 6d0973622a..223a34658f 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -17,16 +17,16 @@ print('handControllerPointer version', 10); // Control the "mouse" using hand controller. (HMD and desktop.) // For now: -// Button 3 is left-mouse, button 4 is right-mouse. What to do on Vive? +// Thumb utton 3 is left-mouse, button 4 is right-mouse. What to do on Vive? (Currently primary thumb is left click.) // First-person only. -// Right hand only. FIXME +// Starts right handed, but switches to whichever is free: Whichever hand was NOT most recently squeezed. +// (For now, the thumb buttons on both controllers are always on.) // When over a HUD element, the reticle is shown where the active hand controller beam intersects the HUD. // Otherwise, the active hand controller shows a red ball where a click will act. // // Bugs: // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) // While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. -// lockout after click on 2d overlay? var wasRunningDepthReticle = false; function checkForDepthReticleScript() { @@ -109,7 +109,6 @@ function Trigger() { // smooth out trigger value that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); - debug(that.triggerValue); // FIXME }; that.triggerSmoothedGrab = function() { return that.triggerValue > TRIGGER_GRAB_VALUE; @@ -291,9 +290,12 @@ function checkHardware() { case 'Hydra': mapToAction('R3', 'ReticleClick'); mapToAction('R4', 'ContextMenu'); + mapToAction('L3', 'ReticleClick'); + mapToAction('L4', 'ContextMenu'); break; case 'Vive': mapToAction('RightPrimaryThumb', 'ReticleClick'); + mapToAction('LeftPrimaryThumb', 'ReticleClick'); break; } From b05bbdd041ba14d6fab03b76243219fd31ebfa9c Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Fri, 29 Apr 2016 13:54:02 -0700 Subject: [PATCH 024/106] don't oscillate hands when both triggers are pulled. --- examples/controllers/handControllerPointer.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 223a34658f..e7eba78a45 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -13,8 +13,6 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -print('handControllerPointer version', 10); - // Control the "mouse" using hand controller. (HMD and desktop.) // For now: // Thumb utton 3 is left-mouse, button 4 is right-mouse. What to do on Vive? (Currently primary thumb is left click.) @@ -314,13 +312,16 @@ checkHardware(); var activeHand = Controller.Standard.RightHand; var activeTrigger = rightTrigger; +var inactiveTrigger = leftTrigger; function toggleHand() { if (activeHand === Controller.Standard.RightHand) { activeHand = Controller.Standard.LeftHand; activeTrigger = leftTrigger; + inactiveTrigger = rightTrigger; } else { activeHand = Controller.Standard.RightHand; activeTrigger = rightTrigger; + inactiveTrigger = leftTrigger; } } @@ -389,7 +390,7 @@ function update() { rightTrigger.updateSmoothedTrigger(); if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. - if (activeTrigger.triggerSmoothedSqueezed()) { toggleHand(); } + if (activeTrigger.triggerSmoothedSqueezed() && !inactiveTrigger.triggerSmoothedSqueezed()) { toggleHand(); } if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! var controllerPose = getControllerPose(activeHand); From cd0737446bb371113a8f000561a4cc5f12e08523 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Fri, 29 Apr 2016 16:56:30 -0700 Subject: [PATCH 025/106] cleanup --- examples/controllers/handControllerPointer.js | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index e7eba78a45..4652c9258c 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -99,22 +99,22 @@ function Trigger() { var that = this; that.triggerValue = 0; // rolling average of trigger value that.rawTriggerValue = 0; - that.triggerPress = function(value) { + that.triggerPress = function (value) { that.rawTriggerValue = value; }; - that.updateSmoothedTrigger = function() { + that.updateSmoothedTrigger = function () { var triggerValue = that.rawTriggerValue; // smooth out trigger value that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); }; - that.triggerSmoothedGrab = function() { + that.triggerSmoothedGrab = function () { return that.triggerValue > TRIGGER_GRAB_VALUE; }; - that.triggerSmoothedSqueezed = function() { + that.triggerSmoothedSqueezed = function () { return that.triggerValue > TRIGGER_ON_VALUE; }; - that.triggerSmoothedReleased = function() { + that.triggerSmoothedReleased = function () { return that.triggerValue < TRIGGER_OFF_VALUE; }; } @@ -263,7 +263,7 @@ var rightTrigger = new Trigger(); var clickMappings = {}, clickMapping, clickMapToggle; var hardware; // undefined function checkHardware() { - var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive': null); // not undefined + var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive' : null); // not undefined if (hardware === newHardware) { return; } print('Setting mapping for new controller hardware:', newHardware); if (clickMapToggle) { @@ -292,15 +292,15 @@ function checkHardware() { mapToAction('L4', 'ContextMenu'); break; case 'Vive': - mapToAction('RightPrimaryThumb', 'ReticleClick'); - mapToAction('LeftPrimaryThumb', 'ReticleClick'); + mapToAction('RS', 'ReticleClick'); + mapToAction('LS', 'ReticleClick'); break; } triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger-' + hardware); Script.scriptEnding.connect(triggerMapping.disable); - triggerMapping.from([Controller.Standard.RT]).peek().to(rightTrigger.triggerPress); - triggerMapping.from([Controller.Standard.LT]).peek().to(leftTrigger.triggerPress); + triggerMapping.from(Controller.Standard.RT).peek().to(rightTrigger.triggerPress); + triggerMapping.from(Controller.Standard.LT).peek().to(leftTrigger.triggerPress); clickMappings[hardware] = {click: clickMapping, trigger: triggerMapping}; } @@ -329,7 +329,7 @@ function toggleHand() { // Same properties as handControllerGrab search sphere var BALL_SIZE = 0.011; var BALL_ALPHA = 0.5; -var fakeProjectionBall = Overlays.addOverlay("sphere", { +var fakeProjectionBall = Overlays.addOverlay("sphere", { size: 5 * BALL_SIZE, color: {red: 255, green: 10, blue: 10}, ignoreRayIntersection: true, @@ -391,7 +391,7 @@ function update() { if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. if (activeTrigger.triggerSmoothedSqueezed() && !inactiveTrigger.triggerSmoothedSqueezed()) { toggleHand(); } - + if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! var controllerPose = getControllerPose(activeHand); if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. @@ -428,7 +428,7 @@ var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds function checkSettings() { updateFieldOfView(); checkForDepthReticleScript(); - checkHardware();; + checkHardware(); } checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); From 6dd21d8c6fcd9e14a68757ef1002639dbcd99a1b Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Fri, 29 Apr 2016 16:59:16 -0700 Subject: [PATCH 026/106] cleanup --- examples/controllers/handControllerPointer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js index 4652c9258c..bf9accb9f0 100644 --- a/examples/controllers/handControllerPointer.js +++ b/examples/controllers/handControllerPointer.js @@ -15,7 +15,8 @@ // Control the "mouse" using hand controller. (HMD and desktop.) // For now: -// Thumb utton 3 is left-mouse, button 4 is right-mouse. What to do on Vive? (Currently primary thumb is left click.) +// Hydra thumb button 3 is left-mouse, button 4 is right-mouse. +// Vive thumb pad is left mouse (but that interferes with driveing!). Vive menu button is context menu (right mouse). // First-person only. // Starts right handed, but switches to whichever is free: Whichever hand was NOT most recently squeezed. // (For now, the thumb buttons on both controllers are always on.) From 6591329b0cb5adf3956d03cbce0f09bfa0166bb3 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 26 Apr 2016 13:04:08 -0700 Subject: [PATCH 027/106] grab script calls startDistanceGrab and releaseGrab entity methods and sends grab/release messages to Hifi-Object-Manipulation channel --- examples/grab.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/examples/grab.js b/examples/grab.js index 8857b5f611..2134616f89 100644 --- a/examples/grab.js +++ b/examples/grab.js @@ -383,7 +383,16 @@ Grabber.prototype.pressEvent = function(event) { if(!entityIsGrabbedByOther(this.entityID)){ this.moveEvent(event); } - + + var args = "mouse"; + Entities.callEntityMethod(this.entityID, "startDistanceGrab", args); + + Messages.sendMessage('Hifi-Object-Manipulation', JSON.stringify({ + action: 'grab', + grabbedEntity: this.entityID + })); + + // TODO: play sounds again when we aren't leaking AudioInjector threads //Audio.playSound(grabSound, { position: entityProperties.position, volume: VOLUME }); } @@ -401,6 +410,16 @@ Grabber.prototype.releaseEvent = function(event) { beacon.disable(); + var args = "mouse"; + Entities.callEntityMethod(this.entityID, "releaseGrab", args); + + Messages.sendMessage('Hifi-Object-Manipulation', JSON.stringify({ + action: 'release', + grabbedEntity: this.entityID, + joint: "mouse" + })); + + // TODO: play sounds again when we aren't leaking AudioInjector threads //Audio.playSound(releaseSound, { position: entityProperties.position, volume: VOLUME }); } From 5b8960e43c74443baecb3e0d6e4d6c4711f49ee4 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 26 Apr 2016 13:04:37 -0700 Subject: [PATCH 028/106] send a grab message for action grabs, not just parenting ones --- examples/controllers/handControllerGrab.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/controllers/handControllerGrab.js b/examples/controllers/handControllerGrab.js index f79773fe6c..8a7399abc2 100644 --- a/examples/controllers/handControllerGrab.js +++ b/examples/controllers/handControllerGrab.js @@ -1435,6 +1435,10 @@ function MyController(hand) { if (!this.setupHoldAction()) { return; } + Messages.sendMessage('Hifi-Object-Manipulation', JSON.stringify({ + action: 'grab', + grabbedEntity: this.grabbedEntity + })); } else { // grab entity via parenting this.actionID = null; From 773770a7fc4ed18da74364ac69ab3feb1e2e0d02 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 3 May 2016 07:01:23 -0700 Subject: [PATCH 029/106] All but origin-correction. --- interface/resources/controllers/vive.json | 8 +- .../impl/filters/DeadZoneFilter.cpp | 7 +- .../src/display-plugins/CompositorHelper.cpp | 10 - scripts/defaultScripts.js | 2 +- .../controllers/handControllerPointer.js | 450 ++++++++++++++++++ scripts/system/depthReticle.js | 185 ------- 6 files changed, 459 insertions(+), 203 deletions(-) create mode 100644 scripts/system/controllers/handControllerPointer.js delete mode 100644 scripts/system/depthReticle.js diff --git a/interface/resources/controllers/vive.json b/interface/resources/controllers/vive.json index 1f71658946..d2d296aeea 100644 --- a/interface/resources/controllers/vive.json +++ b/interface/resources/controllers/vive.json @@ -1,15 +1,15 @@ { "name": "Vive to Standard", "channels": [ - { "from": "Vive.LY", "when": "Vive.LS", "filters": "invert", "to": "Standard.LY" }, - { "from": "Vive.LX", "when": "Vive.LS", "to": "Standard.LX" }, + { "from": "Vive.LY", "when": "Vive.LS", "filters": ["invert" ,{ "type": "deadZone", "min": 0.7 }], "to": "Standard.LY" }, + { "from": "Vive.LX", "when": "Vive.LS", "filters": [{ "type": "deadZone", "min": 0.7 }], "to": "Standard.LX" }, { "from": "Vive.LT", "to": "Standard.LT" }, { "from": "Vive.LB", "to": "Standard.LB" }, { "from": "Vive.LS", "to": "Standard.LS" }, - { "from": "Vive.RY", "when": "Vive.RS", "filters": "invert", "to": "Standard.RY" }, - { "from": "Vive.RX", "when": "Vive.RS", "to": "Standard.RX" }, + { "from": "Vive.RY", "when": "Vive.RS", "filters": ["invert", { "type": "deadZone", "min": 0.7 }], "to": "Standard.RY" }, + { "from": "Vive.RX", "when": "Vive.RS", "filters": [{ "type": "deadZone", "min": 0.7 }], "to": "Standard.RX" }, { "from": "Vive.RT", "to": "Standard.RT" }, { "from": "Vive.RB", "to": "Standard.RB" }, diff --git a/libraries/controllers/src/controllers/impl/filters/DeadZoneFilter.cpp b/libraries/controllers/src/controllers/impl/filters/DeadZoneFilter.cpp index 809308eeab..f07ef25976 100644 --- a/libraries/controllers/src/controllers/impl/filters/DeadZoneFilter.cpp +++ b/libraries/controllers/src/controllers/impl/filters/DeadZoneFilter.cpp @@ -13,11 +13,12 @@ using namespace controller; float DeadZoneFilter::apply(float value) const { - float scale = 1.0f / (1.0f - _min); - if (std::abs(value) < _min) { + float scale = ((value < 0.0f) ? -1.0f : 1.0f) / (1.0f - _min); + float magnitude = std::abs(value); + if (magnitude < _min) { return 0.0f; } - return (value - _min) * scale; + return (magnitude - _min) * scale; } bool DeadZoneFilter::parseParameters(const QJsonValue& parameters) { diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp index 4648fc8957..5bbf183141 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp @@ -322,16 +322,6 @@ void CompositorHelper::setReticlePosition(const glm::vec2& position, bool sendFa sendFakeMouseEvent(); } } else { - // NOTE: This is some debugging code we will leave in while debugging various reticle movement strategies, - // remove it after we're done - const float REASONABLE_CHANGE = 50.0f; - glm::vec2 oldPos = toGlm(QCursor::pos()); - auto distance = glm::distance(oldPos, position); - if (distance > REASONABLE_CHANGE) { - qDebug() << "Contrller::ScriptingInterface ---- UNREASONABLE CHANGE! distance:" << - distance << " oldPos:" << oldPos.x << "," << oldPos.y << " newPos:" << position.x << "," << position.y; - } - QCursor::setPos(position.x, position.y); } } diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index ceccf20647..d5001c7f53 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -15,7 +15,7 @@ Script.load("system/examples.js"); Script.load("system/selectAudioDevice.js"); Script.load("system/notifications.js"); Script.load("system/controllers/handControllerGrab.js"); +Script.load("system/controllers/handControllerPointer.js"); Script.load("system/controllers/squeezeHands.js"); Script.load("system/controllers/grab.js"); Script.load("system/dialTone.js"); -Script.load("system/depthReticle.js"); \ No newline at end of file diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js new file mode 100644 index 0000000000..229aa79fed --- /dev/null +++ b/scripts/system/controllers/handControllerPointer.js @@ -0,0 +1,450 @@ +"use strict"; +/*jslint vars: true, plusplus: true*/ +/*globals Script, Overlays, Controller, Reticle, HMD, Camera, Entities, MyAvatar, Settings, Menu, ScriptDiscoveryService, Window, Vec3, Quat, print */ + +// +// handControllerPointer.js +// examples/controllers +// +// Created by Howard Stearns on 2016/04/22 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +// Control the "mouse" using hand controller. (HMD and desktop.) +// For now: +// Hydra thumb button 3 is left-mouse, button 4 is right-mouse. +// A click in the center of the vive thumb pad is left mouse. Vive menu button is context menu (right mouse). +// First-person only. +// Starts right handed, but switches to whichever is free: Whichever hand was NOT most recently squeezed. +// (For now, the thumb buttons on both controllers are always on.) +// When over a HUD element, the reticle is shown where the active hand controller beam intersects the HUD. +// Otherwise, the active hand controller shows a red ball where a click will act. +// +// Bugs: +// On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) +// While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. + +// UTILITIES ------------- +// + +// Utility to make it easier to setup and disconnect cleanly. +function setupHandler(event, handler) { + event.connect(handler); + Script.scriptEnding.connect(function () { event.disconnect(handler); }); +} +// If some capability is not available until expiration milliseconds after the last update. +function TimeLock(expiration) { + var last = 0; + this.update = function (optionalNow) { + last = optionalNow || Date.now(); + }; + this.expired = function (optionalNow) { + return ((optionalNow || Date.now()) - last) > expiration; + }; +} +var handControllerLockOut = new TimeLock(2000); + +// Calls onFunction() or offFunction() when swtich(on), but only if it is to a new value. +function LatchedToggle(onFunction, offFunction, state) { + this.getState = function () { + return state; + }; + this.setState = function (on) { + if (state === on) { return; } + state = on; + if (on) { + onFunction(); + } else { + offFunction(); + } + }; +} + +// Code copied and adapted from handControllerGrab.js. We should refactor this. +function Trigger() { + var TRIGGER_SMOOTH_RATIO = 0.1; // Time averaging of trigger - 0.0 disables smoothing + var TRIGGER_ON_VALUE = 0.4; // Squeezed just enough to activate search or near grab + var TRIGGER_GRAB_VALUE = 0.85; // Squeezed far enough to complete distant grab + var TRIGGER_OFF_VALUE = 0.15; + var that = this; + that.triggerValue = 0; // rolling average of trigger value + that.rawTriggerValue = 0; + that.triggerPress = function (value) { + that.rawTriggerValue = value; + }; + that.updateSmoothedTrigger = function () { + var triggerValue = that.rawTriggerValue; + // smooth out trigger value + that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + + (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); + }; + that.triggerSmoothedGrab = function () { + return that.triggerValue > TRIGGER_GRAB_VALUE; + }; + that.triggerSmoothedSqueezed = function () { + return that.triggerValue > TRIGGER_ON_VALUE; + }; + that.triggerSmoothedReleased = function () { + return that.triggerValue < TRIGGER_OFF_VALUE; + }; +} + +// VERTICAL FIELD OF VIEW --------- +// +// Cache the verticalFieldOfView setting and update it every so often. +var verticalFieldOfView, DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees +function updateFieldOfView() { + verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; +} + +// SHIMS ---------- +// +var weMovedReticle = false; +function ignoreMouseActivity() { + // If we're paused, or if change in cursor position is from this script, not the hardware mouse. + if (!Reticle.allowMouseCapture) { return true; } + // Only we know if we moved it, which is why this script has to replace depthReticle.js + if (!weMovedReticle) { return false; } + weMovedReticle = false; + return true; +} +var setReticlePosition = function (point2d) { + if (!HMD.active) { + // FIX SYSTEM BUG: setPosition is setting relative to screen origin, not the content area of the window. + // https://app.asana.com/0/26225263936266/118427643788550 + point2d = {x: point2d.x, y: point2d.y + 50}; + } + weMovedReticle = true; + Reticle.setPosition(point2d); +}; + +// Generalizations of utilities that work with system and overlay elements. +function findRayIntersection(pickRay) { + // Check 3D overlays and entities. Argument is an object with origin and direction. + var result = Overlays.findRayIntersection(pickRay); + if (!result.intersects) { + result = Entities.findRayIntersection(pickRay, true); + } + return result; +} +function isPointingAtOverlay(optionalHudPosition2d) { + return Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(optionalHudPosition2d || Reticle.position); +} + +// Generalized HUD utilities, with or without HMD: +// These two "vars" are for documentation. Do not change their values! +var SPHERICAL_HUD_DISTANCE = 1; // meters. +var PLANAR_PERPENDICULAR_HUD_DISTANCE = SPHERICAL_HUD_DISTANCE; +function calculateRayUICollisionPoint(position, direction) { + // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. + if (HMD.active) { + return HMD.calculateRayUICollisionPoint(position, direction); + } + // interect HUD plane, 1m in front of camera, using formula: + // scale = hudNormal dot (hudPoint - position) / hudNormal dot direction + // intersection = postion + scale*direction + var hudNormal = Quat.getFront(Camera.getOrientation()); + var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // must also scale if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 + var denominator = Vec3.dot(hudNormal, direction); + if (denominator === 0) { return null; } // parallel to plane + var numerator = Vec3.dot(hudNormal, Vec3.subtract(hudPoint, position)); + var scale = numerator / denominator; + return Vec3.sum(position, Vec3.multiply(scale, direction)); +} +var DEGREES_TO_HALF_RADIANS = Math.PI / 360; +function overlayFromWorldPoint(point) { + // Answer the 2d pixel-space location in the HUD that covers the given 3D point. + // REQUIRES: that the 3d point be on the hud surface! + // Note that this is based on the Camera, and doesn't know anything about any + // ray that may or may not have been used to compute the point. E.g., the + // overlay point is NOT the intersection of some non-camera ray with the HUD. + if (HMD.active) { + return HMD.overlayFromWorldPoint(point); + } + var cameraToPoint = Vec3.subtract(point, Camera.getPosition()); + var cameraX = Vec3.dot(cameraToPoint, Quat.getRight(Camera.getOrientation())); + var cameraY = Vec3.dot(cameraToPoint, Quat.getUp(Camera.getOrientation())); + var size = Controller.getViewportDimensions(); + var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); // must adjust if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 + var hudWidth = hudHeight * size.x / size.y; + var horizontalFraction = (cameraX / hudWidth + 0.5); + var verticalFraction = 1 - (cameraY / hudHeight + 0.5); + var horizontalPixels = size.x * horizontalFraction; + var verticalPixels = size.y * verticalFraction; + return { x: horizontalPixels, y: verticalPixels }; +} + +// MOUSE ACTIVITY -------- +// +var isSeeking = false; +var averageMouseVelocity = 0, lastIntegration = 0, lastMouse; +var WEIGHTING = 1 / 20; // simple moving average over last 20 samples +var ONE_MINUS_WEIGHTING = 1 - WEIGHTING; +var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 2.5; +function isShakingMouse() { // True if the person is waving the mouse around trying to find it. + var now = Date.now(), mouse = Reticle.position, isShaking = false; + if (lastIntegration && (lastIntegration !== now)) { + var velocity = Vec3.length(Vec3.subtract(mouse, lastMouse)) / (now - lastIntegration); + averageMouseVelocity = (ONE_MINUS_WEIGHTING * averageMouseVelocity) + (WEIGHTING * velocity); + if (averageMouseVelocity > AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO) { + isShaking = true; + } + } + lastIntegration = now; + lastMouse = mouse; + return isShaking; +} +var NON_LINEAR_DIVISOR = 2; +var MINIMUM_SEEK_DISTANCE = 0.01; +function updateSeeking() { + if (!Reticle.visible || isShakingMouse()) { isSeeking = true; } // e.g., if we're about to turn it on with first movement. + if (!isSeeking) { return; } + averageMouseVelocity = lastIntegration = 0; + var lookAt2D = HMD.getHUDLookAtPosition2D(); + if (!lookAt2D) { return; } // E.g., if parallel to location in HUD + var copy = Reticle.position; // Idiomatic javascript would let us side effect the reticle, but this is a copy. + function updateDimension(axis) { + var distanceBetween = lookAt2D[axis] - Reticle.position[axis]; + var move = distanceBetween / NON_LINEAR_DIVISOR; + if (move >= MINIMUM_SEEK_DISTANCE) { return false; } + copy[axis] += move; + return true; + } + if (!updateDimension('x') && !updateDimension('y')) { + isSeeking = false; + } else { + Reticle.position = copy; + } +} + +var mouseCursorActivity = new TimeLock(5000); +var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant +function updateMouseActivity(isClick) { + if (ignoreMouseActivity()) { return; } + var now = Date.now(); + mouseCursorActivity.update(now); + if (isClick) { return; } // Bug: mouse clicks should keep going. Just not hand controller clicks + handControllerLockOut.update(now); + Reticle.visible = true; +} +function expireMouseCursor(now) { + if (!isPointingAtOverlay() && mouseCursorActivity.expired(now)) { + Reticle.visible = false; + } +} +function onMouseMove() { + // Display cursor at correct depth (as in depthReticle.js), and updateMouseActivity. + if (ignoreMouseActivity()) { return; } + + if (HMD.active) { // set depth + updateSeeking(); + if (isPointingAtOverlay()) { + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! + } else { + var result = findRayIntersection(Camera.computePickRay(Reticle.position.x, Reticle.position.y)); + Reticle.depth = result.intersects ? result.distance : APPARENT_MAXIMUM_DEPTH; + } + } + updateMouseActivity(); // After the above, just in case the depth movement is awkward when becoming visible. +} +function onMouseClick() { + updateMouseActivity(true); +} +setupHandler(Controller.mouseMoveEvent, onMouseMove); +setupHandler(Controller.mousePressEvent, onMouseClick); +setupHandler(Controller.mouseDoublePressEvent, onMouseClick); + +// CONTROLLER MAPPING --------- +// +// Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. +var triggerMapping; +var leftTrigger = new Trigger(); +var rightTrigger = new Trigger(); + +// Create clickMappings as needed, on demand. +var clickMappings = {}, clickMapping, clickMapToggle; +var hardware; // undefined +function checkHardware() { + var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive' : null); // not undefined + if (hardware === newHardware) { return; } + print('Setting mapping for new controller hardware:', newHardware); + if (clickMapToggle) { + clickMapToggle.setState(false); + triggerMapping.disable(); + // FIX SYSTEM BUG: This does not work when hardware changes. + Window.alert("This isn't likely to work because of " + + 'https://app.asana.com/0/26225263936266/118428633439654\n' + + "You'll probably need to restart interface."); + } + hardware = newHardware; + if (clickMappings[hardware]) { + clickMapping = clickMappings[hardware].click; + triggerMapping = clickMappings[hardware].trigger; + } else { + clickMapping = Controller.newMapping(Script.resolvePath('') + '-click-' + hardware); + Script.scriptEnding.connect(clickMapping.disable); + function mapToAction(button, action) { + clickMapping.from(Controller.Hardware[hardware][button]).peek().to(Controller.Actions[action]); + } + function makeViveWhen(click, x, y) { + var viveClick = Controller.Hardware.Vive[click], + viveX = Controller.Hardware.Vive[x], + viveY = Controller.Hardware.Vive[y]; + return function () { + return Controller.getValue(viveClick) && !Controller.getValue(viveX) && !Controller.getValue(viveY); + }; + } + switch (hardware) { + case 'Hydra': + mapToAction('R3', 'ReticleClick'); + mapToAction('L3', 'ReticleClick'); + mapToAction('R4', 'ContextMenu'); + mapToAction('L4', 'ContextMenu'); + break; + case 'Vive': + // When touchpad click is NOT treated as movement, treat as left click + clickMapping.from(Controller.Hardware.Vive.RS).when(makeViveWhen('RS', 'RX', 'RY')).to(Controller.Actions.ReticleClick); + clickMapping.from(Controller.Hardware.Vive.LS).when(makeViveWhen('LS', 'LX', 'LY')).to(Controller.Actions.ReticleClick); + mapToAction('RightApplicationMenu', 'ContextMenu'); + mapToAction('LeftApplicationMenu', 'ContextMenu'); + break; + } + + triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger-' + hardware); + Script.scriptEnding.connect(triggerMapping.disable); + triggerMapping.from(Controller.Standard.RT).peek().to(rightTrigger.triggerPress); + triggerMapping.from(Controller.Standard.LT).peek().to(leftTrigger.triggerPress); + + clickMappings[hardware] = {click: clickMapping, trigger: triggerMapping}; + } + clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); + clickMapToggle.setState(true); + triggerMapping.enable(); +} +checkHardware(); + +var activeHand = Controller.Standard.RightHand; +var activeTrigger = rightTrigger; +var inactiveTrigger = leftTrigger; +function toggleHand() { + if (activeHand === Controller.Standard.RightHand) { + activeHand = Controller.Standard.LeftHand; + activeTrigger = leftTrigger; + inactiveTrigger = rightTrigger; + } else { + activeHand = Controller.Standard.RightHand; + activeTrigger = rightTrigger; + inactiveTrigger = leftTrigger; + } +} + +// VISUAL AID ----------- +// Same properties as handControllerGrab search sphere +var BALL_SIZE = 0.011; +var BALL_ALPHA = 0.5; +var fakeProjectionBall = Overlays.addOverlay("sphere", { + size: 5 * BALL_SIZE, + color: {red: 255, green: 10, blue: 10}, + ignoreRayIntersection: true, + alpha: BALL_ALPHA, + visible: false, + solid: true, + drawInFront: true // Even when burried inside of something, show it. +}); +var overlays = [fakeProjectionBall]; // If we want to try showing multiple balls and lasers. +Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); +var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. +function turnOffVisualization(optionalEnableClicks) { // because we're showing cursor on HUD + if (!optionalEnableClicks) { + expireMouseCursor(); + } + if (!visualizationIsShowing) { return; } + visualizationIsShowing = false; + overlays.forEach(function (overlay) { + Overlays.editOverlay(overlay, {visible: false}); + }); +} +var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. +function updateVisualization(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { + // Show an indication of where the cursor will appear when crossing a HUD element, + // and where in-world clicking will occur. + // + // There are a number of ways we could do this, but for now, it's a blue sphere that rolls along + // the HUD surface, and a red sphere that rolls along the 3d objects that will receive the click. + // We'll leave it to other scripts (like handControllerGrab) to show a search beam when desired. + + function intersection3d(position, direction) { + // Answer in-world intersection (entity or 3d overlay), or way-out point + var pickRay = {origin: position, direction: direction}; + var result = findRayIntersection(pickRay); + return result.intersects ? result.intersection : Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); + } + + visualizationIsShowing = true; + // We'd rather in-world interactions be done at the termination of the hand beam + // -- intersection3d(controllerPosition, controllerDirection). Maybe have handControllerGrab + // direclty manipulate both entity and 3d overlay objects. + // For now, though, we present a false projection of the cursor onto whatever is below it. This is + // different from the hand beam termination because the false projection is from the camera, while + // the hand beam termination is from the hand. + var eye = Camera.getPosition(); + var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); + Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); + Reticle.visible = false; + + return visualizationIsShowing; // In case we change caller to act conditionally. +} + +// MAIN OPERATIONS ----------- +// +function update() { + var now = Date.now(); + leftTrigger.updateSmoothedTrigger(); + rightTrigger.updateSmoothedTrigger(); + if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. + + if (activeTrigger.triggerSmoothedSqueezed() && !inactiveTrigger.triggerSmoothedSqueezed()) { toggleHand(); } + + if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! + var controllerPose = Controller.getPoseValue(activeHand); + if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. + var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), + MyAvatar.position); + // This gets point direction right, but if you want general quaternion it would be more complicated: + var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); + + var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); + if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffVisualization(); } + var hudPoint2d = overlayFromWorldPoint(hudPoint3d); + + // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if + // it's pointing at a QML tool (aka system overlay). + setReticlePosition(hudPoint2d); + // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. + if (isPointingAtOverlay(hudPoint2d)) { + if (HMD.active) { // Doesn't hurt anything without the guard, but consider it documentation. + Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! + } + Reticle.visible = true; + return turnOffVisualization(true); + } + // We are not pointing at a HUD element (but it could be a 3d overlay). + updateVisualization(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); +} + +var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. +var updater = Script.setInterval(update, UPDATE_INTERVAL); +Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); + +// Check periodically for changes to setup. +var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds +function checkSettings() { + updateFieldOfView(); + checkHardware(); +} +checkSettings(); +var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); +Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); diff --git a/scripts/system/depthReticle.js b/scripts/system/depthReticle.js deleted file mode 100644 index 10d604f707..0000000000 --- a/scripts/system/depthReticle.js +++ /dev/null @@ -1,185 +0,0 @@ -// depthReticle.js -// examples -// -// Created by Brad Hefta-Gaub on 2/23/16. -// Copyright 2016 High Fidelity, Inc. -// -// When used in HMD, this script will make the reticle depth track to any clickable item in view. -// This script also handles auto-hiding the reticle after inactivity, as well as having the reticle -// seek the look at position upon waking up. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -var APPARENT_2D_OVERLAY_DEPTH = 1.0; -var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant -var lastDepthCheckTime = Date.now(); -var desiredDepth = APPARENT_2D_OVERLAY_DEPTH; -var TIME_BETWEEN_DEPTH_CHECKS = 100; -var MINIMUM_DEPTH_ADJUST = 0.01; -var NON_LINEAR_DIVISOR = 2; -var MINIMUM_SEEK_DISTANCE = 0.01; - -var lastMouseMoveOrClick = Date.now(); -var lastMouseX = Reticle.position.x; -var lastMouseY = Reticle.position.y; -var HIDE_STATIC_MOUSE_AFTER = 3000; // 3 seconds -var shouldSeekToLookAt = false; -var fastMouseMoves = 0; -var averageMouseVelocity = 0; -var WEIGHTING = 1/20; // simple moving average over last 20 samples -var ONE_MINUS_WEIGHTING = 1 - WEIGHTING; -var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 50; - -function showReticleOnMouseClick() { - Reticle.visible = true; - lastMouseMoveOrClick = Date.now(); // move or click -} - -Controller.mousePressEvent.connect(showReticleOnMouseClick); -Controller.mouseDoublePressEvent.connect(showReticleOnMouseClick); - -Controller.mouseMoveEvent.connect(function(mouseEvent) { - var now = Date.now(); - - // if the reticle is hidden, and we're not in away mode... - if (!Reticle.visible && Reticle.allowMouseCapture) { - Reticle.visible = true; - if (HMD.active) { - shouldSeekToLookAt = true; - } - } else { - // even if the reticle is visible, if we're in HMD mode, and the person is moving their mouse quickly (shaking it) - // then they are probably looking for it, and we should move into seekToLookAt mode - if (HMD.active && !shouldSeekToLookAt && Reticle.allowMouseCapture) { - var dx = Reticle.position.x - lastMouseX; - var dy = Reticle.position.y - lastMouseY; - var dt = Math.max(1, (now - lastMouseMoveOrClick)); // mSecs since last mouse move - var mouseMoveDistance = Math.sqrt((dx*dx) + (dy*dy)); - var mouseVelocity = mouseMoveDistance / dt; - averageMouseVelocity = (ONE_MINUS_WEIGHTING * averageMouseVelocity) + (WEIGHTING * mouseVelocity); - if (averageMouseVelocity > AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO) { - shouldSeekToLookAt = true; - } - } - } - lastMouseMoveOrClick = now; - lastMouseX = mouseEvent.x; - lastMouseY = mouseEvent.y; -}); - -function seekToLookAt() { - // if we're currently seeking the lookAt move the mouse toward the lookat - if (shouldSeekToLookAt) { - averageMouseVelocity = 0; // reset this, these never count for movement... - var lookAt2D = HMD.getHUDLookAtPosition2D(); - var currentReticlePosition = Reticle.position; - var distanceBetweenX = lookAt2D.x - Reticle.position.x; - var distanceBetweenY = lookAt2D.y - Reticle.position.y; - var moveX = distanceBetweenX / NON_LINEAR_DIVISOR; - var moveY = distanceBetweenY / NON_LINEAR_DIVISOR; - var newPosition = { x: Reticle.position.x + moveX, y: Reticle.position.y + moveY }; - var closeEnoughX = false; - var closeEnoughY = false; - if (moveX < MINIMUM_SEEK_DISTANCE) { - newPosition.x = lookAt2D.x; - closeEnoughX = true; - } - if (moveY < MINIMUM_SEEK_DISTANCE) { - newPosition.y = lookAt2D.y; - closeEnoughY = true; - } - Reticle.position = newPosition; - if (closeEnoughX && closeEnoughY) { - shouldSeekToLookAt = false; - } - } -} - -function autoHideReticle() { - var now = Date.now(); - - // sometimes we don't actually get mouse move messages (for example, if the focus has been set - // to an overlay or web page 'overlay') in but the mouse can still be moving, and we don't want - // to autohide in these cases, so we will take this opportunity to also check if the reticle - // position has changed. - if (lastMouseX != Reticle.position.x || lastMouseY != Reticle.position.y) { - lastMouseMoveOrClick = now; - lastMouseX = Reticle.position.x; - lastMouseY = Reticle.position.y; - } - - // if we haven't moved in a long period of time, and we're not pointing at some - // system overlay (like a window), then hide the reticle - if (Reticle.visible && !Reticle.pointingAtSystemOverlay) { - var timeSinceLastMouseMove = now - lastMouseMoveOrClick; - if (timeSinceLastMouseMove > HIDE_STATIC_MOUSE_AFTER) { - Reticle.visible = false; - } - } -} - -function checkReticleDepth() { - var now = Date.now(); - var timeSinceLastDepthCheck = now - lastDepthCheckTime; - if (timeSinceLastDepthCheck > TIME_BETWEEN_DEPTH_CHECKS && Reticle.visible) { - var newDesiredDepth = desiredDepth; - lastDepthCheckTime = now; - var reticlePosition = Reticle.position; - - // first check the 2D Overlays - if (Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(reticlePosition)) { - newDesiredDepth = APPARENT_2D_OVERLAY_DEPTH; - } else { - var pickRay = Camera.computePickRay(reticlePosition.x, reticlePosition.y); - - // Then check the 3D overlays - var result = Overlays.findRayIntersection(pickRay); - - if (!result.intersects) { - // finally check the entities - result = Entities.findRayIntersection(pickRay, true); - } - - // If either the overlays or entities intersect, then set the reticle depth to - // the distance of intersection - if (result.intersects) { - newDesiredDepth = result.distance; - } else { - // if nothing intersects... set the depth to some sufficiently large depth - newDesiredDepth = APPARENT_MAXIMUM_DEPTH; - } - } - - // If the desired depth has changed, reset our fade start time - if (desiredDepth != newDesiredDepth) { - desiredDepth = newDesiredDepth; - } - } - -} - -function moveToDesiredDepth() { - // move the reticle toward the desired depth - if (desiredDepth != Reticle.depth) { - - // cut distance between desiredDepth and current depth in half until we're close enough - var distanceToAdjustThisCycle = (desiredDepth - Reticle.depth) / NON_LINEAR_DIVISOR; - if (Math.abs(distanceToAdjustThisCycle) < MINIMUM_DEPTH_ADJUST) { - newDepth = desiredDepth; - } else { - newDepth = Reticle.depth + distanceToAdjustThisCycle; - } - Reticle.setDepth(newDepth); - } -} - -Script.update.connect(function(deltaTime) { - autoHideReticle(); // auto hide reticle for desktop or HMD mode - if (HMD.active) { - seekToLookAt(); // handle moving the reticle toward the look at - checkReticleDepth(); // make sure reticle is at correct depth - moveToDesiredDepth(); // move the fade the reticle to the desired depth - } -}); From 5bd77bf3434cc8ee6246d4a4d003f87a31cb78f6 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 3 May 2016 13:23:04 -0700 Subject: [PATCH 030/106] Matching "final" version of test script. --- .../controllers/handControllerPointer.js | 112 +++++++----------- 1 file changed, 40 insertions(+), 72 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 229aa79fed..ed062018fe 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -27,6 +27,7 @@ // On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) // While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. + // UTILITIES ------------- // @@ -63,35 +64,6 @@ function LatchedToggle(onFunction, offFunction, state) { }; } -// Code copied and adapted from handControllerGrab.js. We should refactor this. -function Trigger() { - var TRIGGER_SMOOTH_RATIO = 0.1; // Time averaging of trigger - 0.0 disables smoothing - var TRIGGER_ON_VALUE = 0.4; // Squeezed just enough to activate search or near grab - var TRIGGER_GRAB_VALUE = 0.85; // Squeezed far enough to complete distant grab - var TRIGGER_OFF_VALUE = 0.15; - var that = this; - that.triggerValue = 0; // rolling average of trigger value - that.rawTriggerValue = 0; - that.triggerPress = function (value) { - that.rawTriggerValue = value; - }; - that.updateSmoothedTrigger = function () { - var triggerValue = that.rawTriggerValue; - // smooth out trigger value - that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + - (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); - }; - that.triggerSmoothedGrab = function () { - return that.triggerValue > TRIGGER_GRAB_VALUE; - }; - that.triggerSmoothedSqueezed = function () { - return that.triggerValue > TRIGGER_ON_VALUE; - }; - that.triggerSmoothedReleased = function () { - return that.triggerValue < TRIGGER_OFF_VALUE; - }; -} - // VERTICAL FIELD OF VIEW --------- // // Cache the verticalFieldOfView setting and update it every so often. @@ -205,7 +177,7 @@ function updateSeeking() { averageMouseVelocity = lastIntegration = 0; var lookAt2D = HMD.getHUDLookAtPosition2D(); if (!lookAt2D) { return; } // E.g., if parallel to location in HUD - var copy = Reticle.position; // Idiomatic javascript would let us side effect the reticle, but this is a copy. + var copy = Reticle.position; function updateDimension(axis) { var distanceBetween = lookAt2D[axis] - Reticle.position[axis]; var move = distanceBetween / NON_LINEAR_DIVISOR; @@ -216,7 +188,7 @@ function updateSeeking() { if (!updateDimension('x') && !updateDimension('y')) { isSeeking = false; } else { - Reticle.position = copy; + Reticle.position(copy); } } @@ -242,10 +214,11 @@ function onMouseMove() { if (HMD.active) { // set depth updateSeeking(); if (isPointingAtOverlay()) { - Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! + Reticle.setDepth(SPHERICAL_HUD_DISTANCE); // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! } else { var result = findRayIntersection(Camera.computePickRay(Reticle.position.x, Reticle.position.y)); - Reticle.depth = result.intersects ? result.distance : APPARENT_MAXIMUM_DEPTH; + var depth = result.intersects ? result.distance : APPARENT_MAXIMUM_DEPTH; + Reticle.setDepth(depth); } } updateMouseActivity(); // After the above, just in case the depth movement is awkward when becoming visible. @@ -259,10 +232,15 @@ setupHandler(Controller.mouseDoublePressEvent, onMouseClick); // CONTROLLER MAPPING --------- // -// Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. -var triggerMapping; -var leftTrigger = new Trigger(); -var rightTrigger = new Trigger(); + +var activeHand = Controller.Standard.RightHand; +function toggleHand() { + if (activeHand === Controller.Standard.RightHand) { + activeHand = Controller.Standard.LeftHand; + } else { + activeHand = Controller.Standard.RightHand; + } +} // Create clickMappings as needed, on demand. var clickMappings = {}, clickMapping, clickMapToggle; @@ -273,7 +251,6 @@ function checkHardware() { print('Setting mapping for new controller hardware:', newHardware); if (clickMapToggle) { clickMapToggle.setState(false); - triggerMapping.disable(); // FIX SYSTEM BUG: This does not work when hardware changes. Window.alert("This isn't likely to work because of " + 'https://app.asana.com/0/26225263936266/118428633439654\n' + @@ -281,24 +258,39 @@ function checkHardware() { } hardware = newHardware; if (clickMappings[hardware]) { - clickMapping = clickMappings[hardware].click; - triggerMapping = clickMappings[hardware].trigger; + clickMapping = clickMappings[hardware]; } else { clickMapping = Controller.newMapping(Script.resolvePath('') + '-click-' + hardware); Script.scriptEnding.connect(clickMapping.disable); function mapToAction(button, action) { clickMapping.from(Controller.Hardware[hardware][button]).peek().to(Controller.Actions[action]); } + function makeHandToggle(button, hand, optionalWhen) { + var whenThunk = optionalWhen || function () { return true; }; + function maybeToggle() { + if (activeHand !== Controller.Standard[hand]) { + toggleHand(); + } + + } + clickMapping.from(Controller.Hardware[hardware][button]).peek().when(whenThunk).to(maybeToggle); + } function makeViveWhen(click, x, y) { var viveClick = Controller.Hardware.Vive[click], - viveX = Controller.Hardware.Vive[x], - viveY = Controller.Hardware.Vive[y]; + viveX = Controller.Standard[x], // Standard after filtering by mapping + viveY = Controller.Standard[y]; return function () { - return Controller.getValue(viveClick) && !Controller.getValue(viveX) && !Controller.getValue(viveY); + var clickValue = Controller.getValue(viveClick); + var xValue = Controller.getValue(viveX); + var yValue = Controller.getValue(viveY); + return clickValue && !xValue && !yValue; }; } switch (hardware) { case 'Hydra': + makeHandToggle('R3', 'RightHand'); + makeHandToggle('L3', 'LeftHand'); + mapToAction('R3', 'ReticleClick'); mapToAction('L3', 'ReticleClick'); mapToAction('R4', 'ContextMenu'); @@ -306,41 +298,21 @@ function checkHardware() { break; case 'Vive': // When touchpad click is NOT treated as movement, treat as left click + makeHandToggle('RS', 'RightHand', makeViveWhen('RS', 'RX', 'RY')); + makeHandToggle('LS', 'LeftHand', makeViveWhen('LS', 'LX', 'LY')); clickMapping.from(Controller.Hardware.Vive.RS).when(makeViveWhen('RS', 'RX', 'RY')).to(Controller.Actions.ReticleClick); clickMapping.from(Controller.Hardware.Vive.LS).when(makeViveWhen('LS', 'LX', 'LY')).to(Controller.Actions.ReticleClick); mapToAction('RightApplicationMenu', 'ContextMenu'); mapToAction('LeftApplicationMenu', 'ContextMenu'); break; } - - triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger-' + hardware); - Script.scriptEnding.connect(triggerMapping.disable); - triggerMapping.from(Controller.Standard.RT).peek().to(rightTrigger.triggerPress); - triggerMapping.from(Controller.Standard.LT).peek().to(leftTrigger.triggerPress); - - clickMappings[hardware] = {click: clickMapping, trigger: triggerMapping}; + clickMappings[hardware] = clickMapping; } clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); clickMapToggle.setState(true); - triggerMapping.enable(); } checkHardware(); -var activeHand = Controller.Standard.RightHand; -var activeTrigger = rightTrigger; -var inactiveTrigger = leftTrigger; -function toggleHand() { - if (activeHand === Controller.Standard.RightHand) { - activeHand = Controller.Standard.LeftHand; - activeTrigger = leftTrigger; - inactiveTrigger = rightTrigger; - } else { - activeHand = Controller.Standard.RightHand; - activeTrigger = rightTrigger; - inactiveTrigger = leftTrigger; - } -} - // VISUAL AID ----------- // Same properties as handControllerGrab search sphere var BALL_SIZE = 0.011; @@ -402,15 +374,11 @@ function updateVisualization(controllerPosition, controllerDirection, hudPositio // function update() { var now = Date.now(); - leftTrigger.updateSmoothedTrigger(); - rightTrigger.updateSmoothedTrigger(); if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. - - if (activeTrigger.triggerSmoothedSqueezed() && !inactiveTrigger.triggerSmoothedSqueezed()) { toggleHand(); } - if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! var controllerPose = Controller.getPoseValue(activeHand); - if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. + // Vive is effectively invalid when not in HMD + if (!controllerPose.valid || ((hardware === 'Vive') && !HMD.active)) { return turnOffVisualization(); } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); // This gets point direction right, but if you want general quaternion it would be more complicated: From eb0517f3cd98f3d1a0c8d8ea99065b90c165208a Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 3 May 2016 14:36:52 -0700 Subject: [PATCH 031/106] fix updateSeeking --- scripts/system/controllers/handControllerPointer.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index ed062018fe..6a1509253f 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -155,7 +155,7 @@ var isSeeking = false; var averageMouseVelocity = 0, lastIntegration = 0, lastMouse; var WEIGHTING = 1 / 20; // simple moving average over last 20 samples var ONE_MINUS_WEIGHTING = 1 - WEIGHTING; -var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 2.5; +var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 5; function isShakingMouse() { // True if the person is waving the mouse around trying to find it. var now = Date.now(), mouse = Reticle.position, isShaking = false; if (lastIntegration && (lastIntegration !== now)) { @@ -176,7 +176,7 @@ function updateSeeking() { if (!isSeeking) { return; } averageMouseVelocity = lastIntegration = 0; var lookAt2D = HMD.getHUDLookAtPosition2D(); - if (!lookAt2D) { return; } // E.g., if parallel to location in HUD + if (!lookAt2D) { print('Cannot seek without lookAt position'); return; } // E.g., if parallel to location in HUD var copy = Reticle.position; function updateDimension(axis) { var distanceBetween = lookAt2D[axis] - Reticle.position[axis]; @@ -188,7 +188,7 @@ function updateSeeking() { if (!updateDimension('x') && !updateDimension('y')) { isSeeking = false; } else { - Reticle.position(copy); + Reticle.setPosition(copy); // Not setReticlePosition } } From 71a885998b980208c6f4aec7f76cb8cbbe05feb7 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 3 May 2016 15:17:53 -0700 Subject: [PATCH 032/106] Don't duplicate script. --- examples/controllers/handControllerPointer.js | 436 ------------------ 1 file changed, 436 deletions(-) delete mode 100644 examples/controllers/handControllerPointer.js diff --git a/examples/controllers/handControllerPointer.js b/examples/controllers/handControllerPointer.js deleted file mode 100644 index bf9accb9f0..0000000000 --- a/examples/controllers/handControllerPointer.js +++ /dev/null @@ -1,436 +0,0 @@ -"use strict"; -/*jslint vars: true, plusplus: true*/ -/*globals Script, Overlays, Controller, Reticle, HMD, Camera, Entities, MyAvatar, Settings, Menu, ScriptDiscoveryService, Window, Vec3, Quat, print */ - -// -// handControllerPointer.js -// examples/controllers -// -// Created by Howard Stearns on 2016/04/22 -// Copyright 2016 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -// Control the "mouse" using hand controller. (HMD and desktop.) -// For now: -// Hydra thumb button 3 is left-mouse, button 4 is right-mouse. -// Vive thumb pad is left mouse (but that interferes with driveing!). Vive menu button is context menu (right mouse). -// First-person only. -// Starts right handed, but switches to whichever is free: Whichever hand was NOT most recently squeezed. -// (For now, the thumb buttons on both controllers are always on.) -// When over a HUD element, the reticle is shown where the active hand controller beam intersects the HUD. -// Otherwise, the active hand controller shows a red ball where a click will act. -// -// Bugs: -// On Windows, the upper left corner of Interface must be in the upper left corner of the screen, and the title bar must be 50px high. (System bug.) -// While hardware mouse move switches to mouse move, hardware mouse click (without amove) does not. - -var wasRunningDepthReticle = false; -function checkForDepthReticleScript() { - ScriptDiscoveryService.getRunning().forEach(function (script) { - if (script.name === 'depthReticle.js') { - wasRunningDepthReticle = script.path; - Window.alert('Shuting down depthReticle script.\n' + script.path + - '\nMost of the behavior is included here in\n' + - Script.resolvePath('') + - '\ndepthReticle.js will be silently restarted when this script ends.'); - ScriptDiscoveryService.stopScript(script.path); - // FIX SYSTEM BUG: getRunning gets path and url backwards. stopScript wants a url. - // https://app.asana.com/0/26225263936266/118428633439650 - // Some current deviations are listed below as 'FIXME'. - } - }); -} -Script.scriptEnding.connect(function () { - if (wasRunningDepthReticle) { - Script.load(wasRunningDepthReticle); - } -}); - - -// UTILITIES ------------- -// -var counter = 0, skip = 50; -function debug() { // Display the arguments not just [Object object]. - if (skip && (counter++ % skip)) { return; } - print.apply(null, [].map.call(arguments, JSON.stringify)); -} - -// Utility to make it easier to setup and disconnect cleanly. -function setupHandler(event, handler) { - event.connect(handler); - Script.scriptEnding.connect(function () { event.disconnect(handler); }); -} -// If some capability is not available until expiration milliseconds after the last update. -function TimeLock(expiration) { - var last = 0; - this.update = function (optionalNow) { - last = optionalNow || Date.now(); - }; - this.expired = function (optionalNow) { - return ((optionalNow || Date.now()) - last) > expiration; - }; -} -var handControllerLockOut = new TimeLock(2000); - -// Calls onFunction() or offFunction() when swtich(on), but only if it is to a new value. -function LatchedToggle(onFunction, offFunction, state) { - this.getState = function () { - return state; - }; - this.setState = function (on) { - if (state === on) { return; } - state = on; - if (on) { - onFunction(); - } else { - offFunction(); - } - }; -} - -// Code copied and adapted from handControllerGrab.js. We should refactor this. -function Trigger() { - var TRIGGER_SMOOTH_RATIO = 0.1; // Time averaging of trigger - 0.0 disables smoothing - var TRIGGER_ON_VALUE = 0.4; // Squeezed just enough to activate search or near grab - var TRIGGER_GRAB_VALUE = 0.85; // Squeezed far enough to complete distant grab - var TRIGGER_OFF_VALUE = 0.15; - var that = this; - that.triggerValue = 0; // rolling average of trigger value - that.rawTriggerValue = 0; - that.triggerPress = function (value) { - that.rawTriggerValue = value; - }; - that.updateSmoothedTrigger = function () { - var triggerValue = that.rawTriggerValue; - // smooth out trigger value - that.triggerValue = (that.triggerValue * TRIGGER_SMOOTH_RATIO) + - (triggerValue * (1.0 - TRIGGER_SMOOTH_RATIO)); - }; - that.triggerSmoothedGrab = function () { - return that.triggerValue > TRIGGER_GRAB_VALUE; - }; - that.triggerSmoothedSqueezed = function () { - return that.triggerValue > TRIGGER_ON_VALUE; - }; - that.triggerSmoothedReleased = function () { - return that.triggerValue < TRIGGER_OFF_VALUE; - }; -} - -// VERTICAL FIELD OF VIEW --------- -// -// Cache the verticalFieldOfView setting and update it every so often. -var verticalFieldOfView, DEFAULT_VERTICAL_FIELD_OF_VIEW = 45; // degrees -function updateFieldOfView() { - verticalFieldOfView = Settings.getValue('fieldOfView') || DEFAULT_VERTICAL_FIELD_OF_VIEW; -} - -// SHIMS ---------- -// -// Define customizable versions of some standard operators. Alternative are at the bottom of the file. -var getControllerPose = Controller.getPoseValue; -var getValue = Controller.getValue; -var getOverlayAtPoint = Overlays.getOverlayAtPoint; -// FIX SYSTEM BUG: doesn't work on mac. -// https://app.asana.com/0/26225263936266/118428633439654 -var setReticleVisible = function (on) { Reticle.visible = on; }; - -var weMovedReticle = false; -function ignoreMouseActivity() { - // If we're paused, or if change in cursor position is from this script, not the hardware mouse. - if (!Reticle.allowMouseCapture) { return true; } - // Only we know if we moved it, which is why this script has to replace depthReticle.js - if (!weMovedReticle) { return false; } - weMovedReticle = false; - return true; -} -var setReticlePosition = function (point2d) { - if (!HMD.active) { - // FIX SYSTEM BUG: setPosition is setting relative to screen origin, not the content area of the window. - // https://app.asana.com/0/26225263936266/118427643788550 - point2d = {x: point2d.x, y: point2d.y + 50}; - } - weMovedReticle = true; - Reticle.setPosition(point2d); -}; - -// Generalizations of utilities that work with system and overlay elements. -function findRayIntersection(pickRay) { - // Check 3D overlays and entities. Argument is an object with origin and direction. - var result = Overlays.findRayIntersection(pickRay); - if (!result.intersects) { - result = Entities.findRayIntersection(pickRay, true); - } - return result; -} -function isPointingAtOverlay(optionalHudPosition2d) { - return Reticle.pointingAtSystemOverlay || Overlays.getOverlayAtPoint(optionalHudPosition2d || Reticle.position); -} - -// Generalized HUD utilities, with or without HMD: -// These two "vars" are for documentation. Do not change their values! -var SPHERICAL_HUD_DISTANCE = 1; // meters. -var PLANAR_PERPENDICULAR_HUD_DISTANCE = SPHERICAL_HUD_DISTANCE; -function calculateRayUICollisionPoint(position, direction) { - // Answer the 3D intersection of the HUD by the given ray, or falsey if no intersection. - if (HMD.active) { - return HMD.calculateRayUICollisionPoint(position, direction); - } - // interect HUD plane, 1m in front of camera, using formula: - // scale = hudNormal dot (hudPoint - position) / hudNormal dot direction - // intersection = postion + scale*direction - var hudNormal = Quat.getFront(Camera.getOrientation()); - var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // must also scale if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 - var denominator = Vec3.dot(hudNormal, direction); - if (denominator === 0) { return null; } // parallel to plane - var numerator = Vec3.dot(hudNormal, Vec3.subtract(hudPoint, position)); - var scale = numerator / denominator; - return Vec3.sum(position, Vec3.multiply(scale, direction)); -} -var DEGREES_TO_HALF_RADIANS = Math.PI / 360; -function overlayFromWorldPoint(point) { - // Answer the 2d pixel-space location in the HUD that covers the given 3D point. - // REQUIRES: that the 3d point be on the hud surface! - // Note that this is based on the Camera, and doesn't know anything about any - // ray that may or may not have been used to compute the point. E.g., the - // overlay point is NOT the intersection of some non-camera ray with the HUD. - if (HMD.active) { - return HMD.overlayFromWorldPoint(point); - } - var cameraToPoint = Vec3.subtract(point, Camera.getPosition()); - var cameraX = Vec3.dot(cameraToPoint, Quat.getRight(Camera.getOrientation())); - var cameraY = Vec3.dot(cameraToPoint, Quat.getUp(Camera.getOrientation())); - var size = Controller.getViewportDimensions(); - var hudHeight = 2 * Math.tan(verticalFieldOfView * DEGREES_TO_HALF_RADIANS); // must adjust if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 - var hudWidth = hudHeight * size.x / size.y; - var horizontalFraction = (cameraX / hudWidth + 0.5); - var verticalFraction = 1 - (cameraY / hudHeight + 0.5); - var horizontalPixels = size.x * horizontalFraction; - var verticalPixels = size.y * verticalFraction; - return { x: horizontalPixels, y: verticalPixels }; -} - -// MOUSE ACTIVITY -------- -// -var mouseCursorActivity = new TimeLock(5000); -var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant -function updateMouseActivity(isClick) { - if (ignoreMouseActivity()) { return; } - var now = Date.now(); - mouseCursorActivity.update(now); - if (isClick) { return; } // Bug: mouse clicks should keep going. Just not hand controller clicks - // FIXME: Does not yet seek to lookAt upon waking. - handControllerLockOut.update(now); - setReticleVisible(true); -} -function expireMouseCursor(now) { - if (!isPointingAtOverlay() && mouseCursorActivity.expired(now)) { - setReticleVisible(false); - } -} -function onMouseMove() { - // Display cursor at correct depth (as in depthReticle.js), and updateMouseActivity. - if (ignoreMouseActivity()) { return; } - - if (HMD.active) { // set depth - // FIXME: does not yet adjust slowly. - if (isPointingAtOverlay()) { - Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! - } else { - var result = findRayIntersection(Camera.computePickRay(Reticle.position.x, Reticle.position.y)); - Reticle.depth = result.intersects ? result.distance : APPARENT_MAXIMUM_DEPTH; - } - } - updateMouseActivity(); // After the above, just in case the depth movement is awkward when becoming visible. -} -function onMouseClick() { - updateMouseActivity(true); -} -setupHandler(Controller.mouseMoveEvent, onMouseMove); -setupHandler(Controller.mousePressEvent, onMouseClick); -setupHandler(Controller.mouseDoublePressEvent, onMouseClick); - -// CONTROLLER MAPPING --------- -// -// Synthesize left and right mouse click from controller, and get trigger values matching handControllerGrab. -var triggerMapping; -var leftTrigger = new Trigger(); -var rightTrigger = new Trigger(); - -// Create clickMappings as needed, on demand. -var clickMappings = {}, clickMapping, clickMapToggle; -var hardware; // undefined -function checkHardware() { - var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive' : null); // not undefined - if (hardware === newHardware) { return; } - print('Setting mapping for new controller hardware:', newHardware); - if (clickMapToggle) { - clickMapToggle.setState(false); - triggerMapping.disable(); - // FIX SYSTEM BUG: This does not work when hardware changes. - Window.alert("This isn't likely to work because of " + - 'https://app.asana.com/0/26225263936266/118428633439654\n' + - "You'll probably need to restart interface."); - } - hardware = newHardware; - if (clickMappings[hardware]) { - clickMapping = clickMappings[hardware].click; - triggerMapping = clickMappings[hardware].trigger; - } else { - clickMapping = Controller.newMapping(Script.resolvePath('') + '-click-' + hardware); - Script.scriptEnding.connect(clickMapping.disable); - function mapToAction(button, action) { - clickMapping.from(Controller.Hardware[hardware][button]).peek().to(Controller.Actions[action]); - } - switch (hardware) { - case 'Hydra': - mapToAction('R3', 'ReticleClick'); - mapToAction('R4', 'ContextMenu'); - mapToAction('L3', 'ReticleClick'); - mapToAction('L4', 'ContextMenu'); - break; - case 'Vive': - mapToAction('RS', 'ReticleClick'); - mapToAction('LS', 'ReticleClick'); - break; - } - - triggerMapping = Controller.newMapping(Script.resolvePath('') + '-trigger-' + hardware); - Script.scriptEnding.connect(triggerMapping.disable); - triggerMapping.from(Controller.Standard.RT).peek().to(rightTrigger.triggerPress); - triggerMapping.from(Controller.Standard.LT).peek().to(leftTrigger.triggerPress); - - clickMappings[hardware] = {click: clickMapping, trigger: triggerMapping}; - } - clickMapToggle = new LatchedToggle(clickMapping.enable, clickMapping.disable); - clickMapToggle.setState(true); - triggerMapping.enable(); -} -checkHardware(); - -var activeHand = Controller.Standard.RightHand; -var activeTrigger = rightTrigger; -var inactiveTrigger = leftTrigger; -function toggleHand() { - if (activeHand === Controller.Standard.RightHand) { - activeHand = Controller.Standard.LeftHand; - activeTrigger = leftTrigger; - inactiveTrigger = rightTrigger; - } else { - activeHand = Controller.Standard.RightHand; - activeTrigger = rightTrigger; - inactiveTrigger = leftTrigger; - } -} - -// VISUAL AID ----------- -// Same properties as handControllerGrab search sphere -var BALL_SIZE = 0.011; -var BALL_ALPHA = 0.5; -var fakeProjectionBall = Overlays.addOverlay("sphere", { - size: 5 * BALL_SIZE, - color: {red: 255, green: 10, blue: 10}, - ignoreRayIntersection: true, - alpha: BALL_ALPHA, - visible: false, - solid: true, - drawInFront: true // Even when burried inside of something, show it. -}); -var overlays = [fakeProjectionBall]; // If we want to try showing multiple balls and lasers. -Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); -var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. -function turnOffVisualization(optionalEnableClicks) { // because we're showing cursor on HUD - if (!optionalEnableClicks) { - expireMouseCursor(); - } - if (!visualizationIsShowing) { return; } - visualizationIsShowing = false; - overlays.forEach(function (overlay) { - Overlays.editOverlay(overlay, {visible: false}); - }); -} -var MAX_RAY_SCALE = 32000; // Anything large. It's a scale, not a distance. -function updateVisualization(controllerPosition, controllerDirection, hudPosition3d, hudPosition2d) { - // Show an indication of where the cursor will appear when crossing a HUD element, - // and where in-world clicking will occur. - // - // There are a number of ways we could do this, but for now, it's a blue sphere that rolls along - // the HUD surface, and a red sphere that rolls along the 3d objects that will receive the click. - // We'll leave it to other scripts (like handControllerGrab) to show a search beam when desired. - - function intersection3d(position, direction) { - // Answer in-world intersection (entity or 3d overlay), or way-out point - var pickRay = {origin: position, direction: direction}; - var result = findRayIntersection(pickRay); - return result.intersects ? result.intersection : Vec3.sum(position, Vec3.multiply(MAX_RAY_SCALE, direction)); - } - - visualizationIsShowing = true; - // We'd rather in-world interactions be done at the termination of the hand beam - // -- intersection3d(controllerPosition, controllerDirection). Maybe have handControllerGrab - // direclty manipulate both entity and 3d overlay objects. - // For now, though, we present a false projection of the cursor onto whatever is below it. This is - // different from the hand beam termination because the false projection is from the camera, while - // the hand beam termination is from the hand. - var eye = Camera.getPosition(); - var falseProjection = intersection3d(eye, Vec3.subtract(hudPosition3d, eye)); - Overlays.editOverlay(fakeProjectionBall, {visible: true, position: falseProjection}); - setReticleVisible(false); - - return visualizationIsShowing; // In case we change caller to act conditionally. -} - -// MAIN OPERATIONS ----------- -// -function update() { - var now = Date.now(); - leftTrigger.updateSmoothedTrigger(); - rightTrigger.updateSmoothedTrigger(); - if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. - - if (activeTrigger.triggerSmoothedSqueezed() && !inactiveTrigger.triggerSmoothedSqueezed()) { toggleHand(); } - - if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! - var controllerPose = getControllerPose(activeHand); - if (!controllerPose.valid) { return turnOffVisualization(); } // Controller is cradled. - var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), - MyAvatar.position); - // This gets point direction right, but if you want general quaternion it would be more complicated: - var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); - - var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); - if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffVisualization(); } - var hudPoint2d = overlayFromWorldPoint(hudPoint3d); - - // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if - // it's pointing at a QML tool (aka system overlay). - setReticlePosition(hudPoint2d); - // If there's a HUD element at the (newly moved) reticle, just make it visible and bail. - if (isPointingAtOverlay(hudPoint2d)) { - if (HMD.active) { // Doesn't hurt anything without the guard, but consider it documentation. - Reticle.depth = SPHERICAL_HUD_DISTANCE; // NOT CORRECT IF WE SWITCH TO OFFSET SPHERE! - } - setReticleVisible(true); - return turnOffVisualization(true); - } - // We are not pointing at a HUD element (but it could be a 3d overlay). - updateVisualization(controllerPosition, controllerDirection, hudPoint3d, hudPoint2d); -} - -var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. -var updater = Script.setInterval(update, UPDATE_INTERVAL); -Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); - -// Check periodically for changes to setup. -var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds -function checkSettings() { - updateFieldOfView(); - checkForDepthReticleScript(); - checkHardware(); -} -checkSettings(); -var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); -Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); From 9e53055d439f9336b976182641f1b23d982d9bc5 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 3 May 2016 15:48:50 -0700 Subject: [PATCH 033/106] parentID and parentJointIndex are now protected by simulation ownership --- libraries/entities/src/EntityItem.cpp | 9 +++++++-- libraries/entities/src/EntityItemProperties.cpp | 2 +- libraries/entities/src/EntityTree.cpp | 10 ++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index dc017f81e6..7bdd88ae5a 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -705,8 +705,13 @@ int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLef READ_ENTITY_PROPERTY(PROP_DESCRIPTION, QString, setDescription); READ_ENTITY_PROPERTY(PROP_ACTION_DATA, QByteArray, setActionData); - READ_ENTITY_PROPERTY(PROP_PARENT_ID, QUuid, setParentID); - READ_ENTITY_PROPERTY(PROP_PARENT_JOINT_INDEX, quint16, setParentJointIndex); + { // parentID and parentJointIndex are also protected by simulation ownership + bool oldOverwrite = overwriteLocalData; + overwriteLocalData = overwriteLocalData && !weOwnSimulation; + READ_ENTITY_PROPERTY(PROP_PARENT_ID, QUuid, setParentID); + READ_ENTITY_PROPERTY(PROP_PARENT_JOINT_INDEX, quint16, setParentJointIndex); + overwriteLocalData = oldOverwrite; + } READ_ENTITY_PROPERTY(PROP_QUERY_AA_CUBE, AACube, setQueryAACube); diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index 92849d6e2f..738e8910fe 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -1615,7 +1615,7 @@ void EntityItemProperties::setSimulationOwner(const QByteArray& data) { QList EntityItemProperties::listChangedProperties() { QList out; if (containsPositionChange()) { - out += "posistion"; + out += "position"; } if (dimensionsChanged()) { out += "dimensions"; diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index b4f0c484d5..27655e2a98 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -213,6 +213,8 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI properties.setVelocityChanged(false); properties.setAngularVelocityChanged(false); properties.setAccelerationChanged(false); + properties.setParentID(false); + properties.setParentJointIndex(false); if (wantTerseEditLogging()) { qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed"; @@ -848,6 +850,14 @@ void EntityTree::fixupTerseEditLogging(EntityItemProperties& properties, QList Date: Tue, 3 May 2016 16:26:45 -0700 Subject: [PATCH 034/106] Fix offset so that non-full-size window can be located anywhere on screen. --- .../src/display-plugins/CompositorHelper.cpp | 19 ++++++++++++++++++- .../src/display-plugins/CompositorHelper.h | 2 ++ .../controllers/handControllerPointer.js | 5 ----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp index 5bbf183141..1d725c140b 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp @@ -305,6 +305,10 @@ void CompositorHelper::sendFakeMouseEvent() { } } +//FIXME remove static Setting::Handle windowGeometry("WindowGeometry"); + +#include "QWindow.h" +#include "QQuickWindow.h" void CompositorHelper::setReticlePosition(const glm::vec2& position, bool sendFakeEvent) { if (isHMD()) { glm::vec2 maxOverlayPosition = _currentDisplayPlugin->getRecommendedUiSize(); @@ -322,7 +326,20 @@ void CompositorHelper::setReticlePosition(const glm::vec2& position, bool sendFa sendFakeMouseEvent(); } } else { - QCursor::setPos(position.x, position.y); + if (!_mainWindow) { + auto windows = qApp->topLevelWindows(); + QWindow* result = nullptr; + for (auto window : windows) { + QVariant isMainWindow = window->property("MainWindow"); + if (!qobject_cast(window)) { + result = window; + break; + } + } + _mainWindow = result;; + } + const int MENU_BAR_HEIGHT = 20; + QCursor::setPos(position.x + _mainWindow->x(), position.y + _mainWindow->y() + MENU_BAR_HEIGHT); } } diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.h b/libraries/display-plugins/src/display-plugins/CompositorHelper.h index c0b53b329e..83a1adde17 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.h +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -182,6 +183,7 @@ private: bool _fakeMouseEvent { false }; ReticleInterface* _reticleInterface { nullptr }; + QWindow* _mainWindow { nullptr }; }; // Scripting interface available to control the Reticle diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 6a1509253f..0ddbfa5b2d 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -84,11 +84,6 @@ function ignoreMouseActivity() { return true; } var setReticlePosition = function (point2d) { - if (!HMD.active) { - // FIX SYSTEM BUG: setPosition is setting relative to screen origin, not the content area of the window. - // https://app.asana.com/0/26225263936266/118427643788550 - point2d = {x: point2d.x, y: point2d.y + 50}; - } weMovedReticle = true; Reticle.setPosition(point2d); }; From acc216726a9d19d3745876bace2678e4b7094a19 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 3 May 2016 16:32:53 -0700 Subject: [PATCH 035/106] Cleanup --- .../src/display-plugins/CompositorHelper.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp index 1d725c140b..b8da7bd4f7 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp @@ -16,6 +16,8 @@ #include #include #include +#include +#include #include #include @@ -305,10 +307,6 @@ void CompositorHelper::sendFakeMouseEvent() { } } -//FIXME remove static Setting::Handle windowGeometry("WindowGeometry"); - -#include "QWindow.h" -#include "QQuickWindow.h" void CompositorHelper::setReticlePosition(const glm::vec2& position, bool sendFakeEvent) { if (isHMD()) { glm::vec2 maxOverlayPosition = _currentDisplayPlugin->getRecommendedUiSize(); From d3c6662198fc35c2448ffcd7315c5cd191d5b3a2 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 3 May 2016 16:35:20 -0700 Subject: [PATCH 036/106] Take the deadband down a notch, following feedback from P. --- interface/resources/controllers/vive.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interface/resources/controllers/vive.json b/interface/resources/controllers/vive.json index d2d296aeea..37f5b45b1e 100644 --- a/interface/resources/controllers/vive.json +++ b/interface/resources/controllers/vive.json @@ -1,15 +1,15 @@ { "name": "Vive to Standard", "channels": [ - { "from": "Vive.LY", "when": "Vive.LS", "filters": ["invert" ,{ "type": "deadZone", "min": 0.7 }], "to": "Standard.LY" }, - { "from": "Vive.LX", "when": "Vive.LS", "filters": [{ "type": "deadZone", "min": 0.7 }], "to": "Standard.LX" }, + { "from": "Vive.LY", "when": "Vive.LS", "filters": ["invert" ,{ "type": "deadZone", "min": 0.6 }], "to": "Standard.LY" }, + { "from": "Vive.LX", "when": "Vive.LS", "filters": [{ "type": "deadZone", "min": 0.6 }], "to": "Standard.LX" }, { "from": "Vive.LT", "to": "Standard.LT" }, { "from": "Vive.LB", "to": "Standard.LB" }, { "from": "Vive.LS", "to": "Standard.LS" }, - { "from": "Vive.RY", "when": "Vive.RS", "filters": ["invert", { "type": "deadZone", "min": 0.7 }], "to": "Standard.RY" }, - { "from": "Vive.RX", "when": "Vive.RS", "filters": [{ "type": "deadZone", "min": 0.7 }], "to": "Standard.RX" }, + { "from": "Vive.RY", "when": "Vive.RS", "filters": ["invert", { "type": "deadZone", "min": 0.6 }], "to": "Standard.RY" }, + { "from": "Vive.RX", "when": "Vive.RS", "filters": [{ "type": "deadZone", "min": 0.6 }], "to": "Standard.RX" }, { "from": "Vive.RT", "to": "Standard.RT" }, { "from": "Vive.RB", "to": "Standard.RB" }, From 44beca1687edd56c58892963d7ef903b86fffdb2 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 4 May 2016 11:29:17 -0700 Subject: [PATCH 037/106] try having all spring derived actions agree on a target --- interface/src/avatar/AvatarActionHold.cpp | 63 ++--------- interface/src/avatar/AvatarActionHold.h | 7 +- libraries/physics/src/ObjectActionSpring.cpp | 106 +++++++++++++++--- libraries/physics/src/ObjectActionSpring.h | 10 ++ .../system/controllers/handControllerGrab.js | 4 +- 5 files changed, 112 insertions(+), 78 deletions(-) diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index 629b3aac12..c84cfecb40 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -93,13 +93,13 @@ void AvatarActionHold::prepareForPhysicsSimulation() { activateBody(true); } -std::shared_ptr AvatarActionHold::getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, - glm::vec3& linearVelocity, glm::vec3& angularVelocity) { +bool AvatarActionHold::getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, + glm::vec3& linearVelocity, glm::vec3& angularVelocity) { auto avatarManager = DependencyManager::get(); auto holdingAvatar = std::static_pointer_cast(avatarManager->getAvatarBySessionID(_holderID)); if (!holdingAvatar) { - return holdingAvatar; + return false;; } withReadLock([&]{ @@ -171,62 +171,17 @@ std::shared_ptr AvatarActionHold::getTarget(float deltaTimeStep, glm::qu linearVelocity = linearVelocity + glm::cross(angularVelocity, position - palmPosition); }); - return holdingAvatar; + return true; } void AvatarActionHold::updateActionWorker(float deltaTimeStep) { - glm::quat rotation; - glm::vec3 position; - glm::vec3 linearVelocity; - glm::vec3 angularVelocity; - bool valid = false; - int holdCount = 0; - - auto ownerEntity = _ownerEntity.lock(); - if (!ownerEntity) { - return; - } - QList holdActions = ownerEntity->getActionsOfType(ACTION_TYPE_HOLD); - foreach (EntityActionPointer action, holdActions) { - std::shared_ptr holdAction = std::static_pointer_cast(action); - glm::quat rotationForAction; - glm::vec3 positionForAction; - glm::vec3 linearVelocityForAction, angularVelocityForAction; - std::shared_ptr holdingAvatar = holdAction->getTarget(deltaTimeStep, rotationForAction, positionForAction, linearVelocityForAction, angularVelocityForAction); - if (holdingAvatar) { - holdCount ++; - if (holdAction.get() == this) { - // only use the rotation for this action - valid = true; - rotation = rotationForAction; - } - - position += positionForAction; - linearVelocity += linearVelocityForAction; - angularVelocity += angularVelocityForAction; - } - } - - if (valid && holdCount > 0) { - position /= holdCount; - linearVelocity /= holdCount; - angularVelocity /= holdCount; - - withWriteLock([&]{ - _positionalTarget = position; - _rotationalTarget = rotation; - _linearVelocityTarget = linearVelocity; - _angularVelocityTarget = angularVelocity; - _positionalTargetSet = true; - _rotationalTargetSet = true; - _active = true; - }); - if (_kinematic) { + if (_kinematic) { + if (prepareForSpringUpdate(deltaTimeStep)) { doKinematicUpdate(deltaTimeStep); - } else { - forceBodyNonStatic(); - ObjectActionSpring::updateActionWorker(deltaTimeStep); } + } else { + forceBodyNonStatic(); + ObjectActionSpring::updateActionWorker(deltaTimeStep); } } diff --git a/interface/src/avatar/AvatarActionHold.h b/interface/src/avatar/AvatarActionHold.h index 0ad9cff257..609fd57ff3 100644 --- a/interface/src/avatar/AvatarActionHold.h +++ b/interface/src/avatar/AvatarActionHold.h @@ -36,8 +36,8 @@ public: virtual bool shouldSuppressLocationEdits() override { return _active && !_ownerEntity.expired(); } bool getAvatarRigidBodyLocation(glm::vec3& avatarRigidBodyPosition, glm::quat& avatarRigidBodyRotation); - std::shared_ptr getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, - glm::vec3& linearVelocity, glm::vec3& angularVelocity); + virtual bool getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, + glm::vec3& linearVelocity, glm::vec3& angularVelocity) override; virtual void prepareForPhysicsSimulation() override; @@ -51,9 +51,6 @@ private: QString _hand { "right" }; QUuid _holderID; - glm::vec3 _linearVelocityTarget; - glm::vec3 _angularVelocityTarget; - bool _kinematic { false }; bool _kinematicSetVelocity { false }; bool _previousSet { false }; diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index dcd77c1010..563733ea2d 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -21,9 +21,11 @@ const uint16_t ObjectActionSpring::springVersion = 1; ObjectActionSpring::ObjectActionSpring(const QUuid& id, EntityItemPointer ownerEntity) : ObjectAction(ACTION_TYPE_SPRING, id, ownerEntity), _positionalTarget(glm::vec3(0.0f)), + _desiredPositionalTarget(glm::vec3(0.0f)), _linearTimeScale(FLT_MAX), _positionalTargetSet(true), _rotationalTarget(glm::quat()), + _desiredRotationalTarget(glm::quat()), _angularTimeScale(FLT_MAX), _rotationalTargetSet(true) { #if WANT_DEBUG @@ -37,9 +39,82 @@ ObjectActionSpring::~ObjectActionSpring() { #endif } +bool ObjectActionSpring::getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, + glm::vec3& linearVelocity, glm::vec3& angularVelocity) { + rotation = _desiredRotationalTarget; + position = _desiredPositionalTarget; + linearVelocity = glm::vec3(); + angularVelocity = glm::vec3(); + return true; +} + + +bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep) { + glm::quat rotation; + glm::vec3 position; + glm::vec3 linearVelocity; + glm::vec3 angularVelocity; + + bool valid = false; + int springCount = 0; + + auto ownerEntity = _ownerEntity.lock(); + if (!ownerEntity) { + return false; + } + + QList springDerivedActions; + springDerivedActions.append(ownerEntity->getActionsOfType(ACTION_TYPE_SPRING)); + springDerivedActions.append(ownerEntity->getActionsOfType(ACTION_TYPE_HOLD)); + + foreach (EntityActionPointer action, springDerivedActions) { + std::shared_ptr springAction = std::static_pointer_cast(action); + glm::quat rotationForAction; + glm::vec3 positionForAction; + glm::vec3 linearVelocityForAction, angularVelocityForAction; + bool success = springAction->getTarget(deltaTimeStep, rotationForAction, + positionForAction, linearVelocityForAction, + angularVelocityForAction); + if (success) { + springCount ++; + if (springAction.get() == this) { + // only use the rotation for this action + valid = true; + rotation = rotationForAction; + } + + position += positionForAction; + linearVelocity += linearVelocityForAction; + angularVelocity += angularVelocityForAction; + } + } + + if (valid && springCount > 0) { + position /= springCount; + linearVelocity /= springCount; + angularVelocity /= springCount; + + withWriteLock([&]{ + _positionalTarget = position; + _rotationalTarget = rotation; + _linearVelocityTarget = linearVelocity; + _angularVelocityTarget = angularVelocity; + _positionalTargetSet = true; + _rotationalTargetSet = true; + _active = true; + }); + } + + return valid; +} + + void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { - // don't risk hanging the thread running the physics simulation - auto lockResult = withTryReadLock([&]{ + if (!prepareForSpringUpdate(deltaTimeStep)) { + return; + } + + withReadLock([&]{ auto ownerEntity = _ownerEntity.lock(); if (!ownerEntity) { return; @@ -101,9 +176,6 @@ void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { rigidBody->setAngularVelocity(targetVelocity); } }); - if (!lockResult) { - qDebug() << "ObjectActionSpring::updateActionWorker lock failed"; - } } const float MIN_TIMESCALE = 0.1f; @@ -122,7 +194,7 @@ bool ObjectActionSpring::updateArguments(QVariantMap arguments) { bool ok = true; positionalTarget = EntityActionInterface::extractVec3Argument("spring action", arguments, "targetPosition", ok, false); if (!ok) { - positionalTarget = _positionalTarget; + positionalTarget = _desiredPositionalTarget; } ok = true; linearTimeScale = EntityActionInterface::extractFloatArgument("spring action", arguments, "linearTimeScale", ok, false); @@ -133,7 +205,7 @@ bool ObjectActionSpring::updateArguments(QVariantMap arguments) { ok = true; rotationalTarget = EntityActionInterface::extractQuatArgument("spring action", arguments, "targetRotation", ok, false); if (!ok) { - rotationalTarget = _rotationalTarget; + rotationalTarget = _desiredRotationalTarget; } ok = true; @@ -144,9 +216,9 @@ bool ObjectActionSpring::updateArguments(QVariantMap arguments) { } if (somethingChanged || - positionalTarget != _positionalTarget || + positionalTarget != _desiredPositionalTarget || linearTimeScale != _linearTimeScale || - rotationalTarget != _rotationalTarget || + rotationalTarget != _desiredRotationalTarget || angularTimeScale != _angularTimeScale) { // something changed needUpdate = true; @@ -155,9 +227,9 @@ bool ObjectActionSpring::updateArguments(QVariantMap arguments) { if (needUpdate) { withWriteLock([&] { - _positionalTarget = positionalTarget; + _desiredPositionalTarget = positionalTarget; _linearTimeScale = glm::max(MIN_TIMESCALE, glm::abs(linearTimeScale)); - _rotationalTarget = rotationalTarget; + _desiredRotationalTarget = rotationalTarget; _angularTimeScale = glm::max(MIN_TIMESCALE, glm::abs(angularTimeScale)); _active = true; @@ -177,9 +249,9 @@ QVariantMap ObjectActionSpring::getArguments() { QVariantMap arguments = ObjectAction::getArguments(); withReadLock([&] { arguments["linearTimeScale"] = _linearTimeScale; - arguments["targetPosition"] = glmToQMap(_positionalTarget); + arguments["targetPosition"] = glmToQMap(_desiredPositionalTarget); - arguments["targetRotation"] = glmToQMap(_rotationalTarget); + arguments["targetRotation"] = glmToQMap(_desiredRotationalTarget); arguments["angularTimeScale"] = _angularTimeScale; }); return arguments; @@ -194,10 +266,10 @@ QByteArray ObjectActionSpring::serialize() const { dataStream << ObjectActionSpring::springVersion; withReadLock([&] { - dataStream << _positionalTarget; + dataStream << _desiredPositionalTarget; dataStream << _linearTimeScale; dataStream << _positionalTargetSet; - dataStream << _rotationalTarget; + dataStream << _desiredRotationalTarget; dataStream << _angularTimeScale; dataStream << _rotationalTargetSet; dataStream << localTimeToServerTime(_expires); @@ -226,11 +298,11 @@ void ObjectActionSpring::deserialize(QByteArray serializedArguments) { } withWriteLock([&] { - dataStream >> _positionalTarget; + dataStream >> _desiredPositionalTarget; dataStream >> _linearTimeScale; dataStream >> _positionalTargetSet; - dataStream >> _rotationalTarget; + dataStream >> _desiredRotationalTarget; dataStream >> _angularTimeScale; dataStream >> _rotationalTargetSet; diff --git a/libraries/physics/src/ObjectActionSpring.h b/libraries/physics/src/ObjectActionSpring.h index 96bb900bf6..4f9443121e 100644 --- a/libraries/physics/src/ObjectActionSpring.h +++ b/libraries/physics/src/ObjectActionSpring.h @@ -27,16 +27,26 @@ public: virtual QByteArray serialize() const override; virtual void deserialize(QByteArray serializedArguments) override; + virtual bool getTarget(float deltaTimeStep, glm::quat& rotation, glm::vec3& position, + glm::vec3& linearVelocity, glm::vec3& angularVelocity); + protected: static const uint16_t springVersion; glm::vec3 _positionalTarget; + glm::vec3 _desiredPositionalTarget; float _linearTimeScale; bool _positionalTargetSet; glm::quat _rotationalTarget; + glm::quat _desiredRotationalTarget; float _angularTimeScale; bool _rotationalTargetSet; + + glm::vec3 _linearVelocityTarget; + glm::vec3 _angularVelocityTarget; + + virtual bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep); }; #endif // hifi_ObjectActionSpring_h diff --git a/scripts/system/controllers/handControllerGrab.js b/scripts/system/controllers/handControllerGrab.js index 2ac07e5c3d..8bbbfcdd88 100644 --- a/scripts/system/controllers/handControllerGrab.js +++ b/scripts/system/controllers/handControllerGrab.js @@ -12,7 +12,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html /*global print, MyAvatar, Entities, AnimationCache, SoundCache, Scene, Camera, Overlays, Audio, HMD, AvatarList, AvatarManager, Controller, UndoStack, Window, Account, GlobalServices, Script, ScriptDiscoveryService, LODManager, Menu, Vec3, Quat, AudioDevice, Paths, Clipboard, Settings, XMLHttpRequest, randFloat, randInt, pointInExtents, vec3equal, setEntityCustomData, getEntityCustomData */ -Script.include("../libraries/utils.js"); +Script.include("/~/system/libraries/utils.js"); // @@ -28,7 +28,7 @@ var WANT_DEBUG_SEARCH_NAME = null; var TRIGGER_SMOOTH_RATIO = 0.1; // Time averaging of trigger - 0.0 disables smoothing var TRIGGER_ON_VALUE = 0.4; // Squeezed just enough to activate search or near grab -var TRIGGER_GRAB_VALUE = 0.85; // Squeezed far enough to complete distant grab +var TRIGGER_GRAB_VALUE = 0.75; // Squeezed far enough to complete distant grab var TRIGGER_OFF_VALUE = 0.15; var BUMPER_ON_VALUE = 0.5; From b6918f59a693acdcbc40f9bd15beb604756f413f Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 4 May 2016 11:33:41 -0700 Subject: [PATCH 038/106] remove extra qualification --- libraries/physics/src/ObjectActionSpring.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/physics/src/ObjectActionSpring.h b/libraries/physics/src/ObjectActionSpring.h index 4f9443121e..498bb6c1f5 100644 --- a/libraries/physics/src/ObjectActionSpring.h +++ b/libraries/physics/src/ObjectActionSpring.h @@ -46,7 +46,7 @@ protected: glm::vec3 _linearVelocityTarget; glm::vec3 _angularVelocityTarget; - virtual bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep); + virtual bool prepareForSpringUpdate(btScalar deltaTimeStep); }; #endif // hifi_ObjectActionSpring_h From 382a0c48da96c51a1f66e7533f3cf19bf5f6077e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 4 May 2016 12:09:26 -0700 Subject: [PATCH 039/106] fix warning --- libraries/entities/src/EntityTree.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index 27655e2a98..6a0d0c968f 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -213,7 +213,7 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI properties.setVelocityChanged(false); properties.setAngularVelocityChanged(false); properties.setAccelerationChanged(false); - properties.setParentID(false); + properties.setParentID(QUuid()); properties.setParentJointIndex(false); if (wantTerseEditLogging()) { From 9db839bc138c3acd01f6ed2b4a4e020772bee8f4 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 4 May 2016 15:01:00 -0700 Subject: [PATCH 040/106] don't allow someone else to delete an action that I own. reset dynamic property when releasing and entity, even if refCount isn't 0 --- libraries/entities/src/EntityItem.cpp | 7 +++++-- libraries/entities/src/EntityTree.cpp | 4 ++-- libraries/physics/src/ObjectActionSpring.cpp | 6 ++++-- scripts/system/controllers/handControllerGrab.js | 3 ++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 7bdd88ae5a..f0022245ad 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1740,6 +1740,7 @@ bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulation* s EntityActionPointer action = _objectActions[actionID]; action->setOwnerEntity(nullptr); + action->setIsMine(false); _objectActions.remove(actionID); if (simulation) { @@ -1846,8 +1847,10 @@ void EntityItem::deserializeActionsInternal() { QUuid id = i.key(); if (!updated.contains(id)) { EntityActionPointer action = i.value(); - // if we've just added this action, don't remove it due to lack of mention in an incoming packet. - if (! action->locallyAddedButNotYetReceived) { + // don't let someone else delete my action. + if (!action->isMine() && + // if we've just added this action, don't remove it due to lack of mention in an incoming packet. + !action->locallyAddedButNotYetReceived) { _actionsToRemove << id; _previouslyDeletedActions.insert(id, now); } diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index 6a0d0c968f..8a3395f9dc 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -213,8 +213,8 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI properties.setVelocityChanged(false); properties.setAngularVelocityChanged(false); properties.setAccelerationChanged(false); - properties.setParentID(QUuid()); - properties.setParentJointIndex(false); + properties.setParentIDChanged(false); + properties.setParentJointIndexChanged(false); if (wantTerseEditLogging()) { qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed"; diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index 563733ea2d..49944d6ed9 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -45,10 +45,9 @@ bool ObjectActionSpring::getTarget(float deltaTimeStep, glm::quat& rotation, glm position = _desiredPositionalTarget; linearVelocity = glm::vec3(); angularVelocity = glm::vec3(); - return true; + return true; } - bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep) { glm::quat rotation; glm::vec3 position; @@ -140,10 +139,13 @@ void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { float speed = glm::min(offsetLength / _linearTimeScale, SPRING_MAX_SPEED); targetVelocity = (-speed / offsetLength) * offset; if (speed > rigidBody->getLinearSleepingThreshold()) { + qDebug() << "HERE"; + forceBodyNonStatic(); rigidBody->activate(); } } // this action is aggresively critically damped and defeats the current velocity + qDebug() << targetVelocity.x() << targetVelocity.y() << targetVelocity.z(); rigidBody->setLinearVelocity(targetVelocity); } diff --git a/scripts/system/controllers/handControllerGrab.js b/scripts/system/controllers/handControllerGrab.js index 8bbbfcdd88..0fdaed58f2 100644 --- a/scripts/system/controllers/handControllerGrab.js +++ b/scripts/system/controllers/handControllerGrab.js @@ -1895,7 +1895,8 @@ function MyController(hand) { Entities.editEntity(entityID, deactiveProps); } else if (noVelocity) { Entities.editEntity(entityID, {velocity: {x: 0.0, y: 0.0, z: 0.0}, - angularVelocity: {x: 0.0, y: 0.0, z: 0.0}}); + angularVelocity: {x: 0.0, y: 0.0, z: 0.0}, + dynamic: data["dynamic"]}); } } else { data = null; From 91af732516a8613c7f6198dc5ed617bbd534a71b Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Wed, 4 May 2016 16:30:38 -0700 Subject: [PATCH 041/106] if we receive an update from the entity-server that doesn't include one of our actions, resend the action data --- libraries/entities/src/EntityItem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index f0022245ad..4bf7aefb7b 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1847,6 +1847,12 @@ void EntityItem::deserializeActionsInternal() { QUuid id = i.key(); if (!updated.contains(id)) { EntityActionPointer action = i.value(); + + if (action->isMine()) { + // we just received an update that didn't include one of our actions. tell the server about it. + setActionDataNeedsTransmit(true); + } + // don't let someone else delete my action. if (!action->isMine() && // if we've just added this action, don't remove it due to lack of mention in an incoming packet. From d76b8f23358be65174411253308d967d27226f29 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Thu, 5 May 2016 06:44:52 -0700 Subject: [PATCH 042/106] action->locallyAddedButNotYetReceived is unneeded with isMine available --- libraries/entities/src/EntityActionInterface.h | 2 -- libraries/entities/src/EntityItem.cpp | 14 ++++---------- libraries/physics/src/ObjectActionSpring.cpp | 2 -- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/libraries/entities/src/EntityActionInterface.h b/libraries/entities/src/EntityActionInterface.h index c634326a31..34de87cca4 100644 --- a/libraries/entities/src/EntityActionInterface.h +++ b/libraries/entities/src/EntityActionInterface.h @@ -57,8 +57,6 @@ public: virtual bool isMine() { return _isMine; } virtual void setIsMine(bool value) { _isMine = value; } - bool locallyAddedButNotYetReceived = false; - virtual bool shouldSuppressLocationEdits() { return false; } virtual void prepareForPhysicsSimulation() { } diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 4bf7aefb7b..908e64708e 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1666,7 +1666,7 @@ bool EntityItem::addAction(EntitySimulation* simulation, EntityActionPointer act if (!result) { removeActionInternal(action->getID()); } else { - action->locallyAddedButNotYetReceived = true; + action->setIsMine(true); } }); @@ -1821,7 +1821,6 @@ void EntityItem::deserializeActionsInternal() { if (!action->isMine()) { action->deserialize(serializedAction); } - action->locallyAddedButNotYetReceived = false; updated << actionID; } else { auto actionFactory = DependencyManager::get(); @@ -1829,7 +1828,6 @@ void EntityItem::deserializeActionsInternal() { EntityActionPointer action = actionFactory->factoryBA(entity, serializedAction); if (action) { entity->addActionInternal(simulation, action); - action->locallyAddedButNotYetReceived = false; updated << actionID; } else { static QString repeatedMessage = @@ -1849,14 +1847,10 @@ void EntityItem::deserializeActionsInternal() { EntityActionPointer action = i.value(); if (action->isMine()) { - // we just received an update that didn't include one of our actions. tell the server about it. + // we just received an update that didn't include one of our actions. tell the server about it (again). setActionDataNeedsTransmit(true); - } - - // don't let someone else delete my action. - if (!action->isMine() && - // if we've just added this action, don't remove it due to lack of mention in an incoming packet. - !action->locallyAddedButNotYetReceived) { + } else { + // don't let someone else delete my action. _actionsToRemove << id; _previouslyDeletedActions.insert(id, now); } diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index 49944d6ed9..22b7ade979 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -139,13 +139,11 @@ void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { float speed = glm::min(offsetLength / _linearTimeScale, SPRING_MAX_SPEED); targetVelocity = (-speed / offsetLength) * offset; if (speed > rigidBody->getLinearSleepingThreshold()) { - qDebug() << "HERE"; forceBodyNonStatic(); rigidBody->activate(); } } // this action is aggresively critically damped and defeats the current velocity - qDebug() << targetVelocity.x() << targetVelocity.y() << targetVelocity.z(); rigidBody->setLinearVelocity(targetVelocity); } From cd934bab90a2bf639af2915e17c9ddd31b1f4ccb Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Thu, 5 May 2016 14:16:13 -0700 Subject: [PATCH 043/106] set _actionDataDirty when adding an action. --- libraries/entities/src/EntityItem.cpp | 21 ++++++++++++++++++--- libraries/entities/src/EntityItem.h | 1 + 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 8f54273600..deae6bc47b 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1705,16 +1705,31 @@ void EntityItem::setPendingOwnershipPriority(quint8 priority, const quint64& tim _simulationOwner.setPendingPriority(priority, timestamp); } +QString EntityItem::actionsToDebugString() { + QString result; + QVector serializedActions; + QHash::const_iterator i = _objectActions.begin(); + while (i != _objectActions.end()) { + const QUuid id = i.key(); + EntityActionPointer action = _objectActions[id]; + EntityActionType actionType = action->getType(); + result += QString("") + actionType + ":" + action->getID().toString() + " "; + i++; + } + return result; +} + bool EntityItem::addAction(EntitySimulation* simulation, EntityActionPointer action) { bool result; withWriteLock([&] { checkWaitingToRemove(simulation); result = addActionInternal(simulation, action); - if (!result) { - removeActionInternal(action->getID()); - } else { + if (result) { action->setIsMine(true); + _actionDataDirty = true; + } else { + removeActionInternal(action->getID()); } }); diff --git a/libraries/entities/src/EntityItem.h b/libraries/entities/src/EntityItem.h index ecb9800e70..64c87bde27 100644 --- a/libraries/entities/src/EntityItem.h +++ b/libraries/entities/src/EntityItem.h @@ -378,6 +378,7 @@ public: void grabSimulationOwnership(); void flagForMotionStateChange() { _dirtyFlags |= Simulation::DIRTY_MOTION_TYPE; } + QString actionsToDebugString(); bool addAction(EntitySimulation* simulation, EntityActionPointer action); bool updateAction(EntitySimulation* simulation, const QUuid& actionID, const QVariantMap& arguments); bool removeAction(EntitySimulation* simulation, const QUuid& actionID); From 96ee33e80e3ec8e5606414ede7e6b9a348daf804 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Fri, 15 Apr 2016 14:30:06 -0700 Subject: [PATCH 044/106] Fix avatars collision sounds --- interface/src/avatar/AvatarManager.cpp | 6 +++--- interface/src/avatar/MyAvatar.cpp | 17 +++++++++++++---- interface/src/avatar/MyAvatar.h | 5 +++++ libraries/audio/src/AudioInjector.cpp | 16 ++++------------ libraries/audio/src/AudioInjector.h | 2 +- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index 402245d0c3..a1302a934e 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -309,8 +309,8 @@ void AvatarManager::handleCollisionEvents(const CollisionEvents& collisionEvents // my avatar. (Other user machines will make a similar analysis and inject sound for their collisions.) if (collision.idA.isNull() || collision.idB.isNull()) { MyAvatar* myAvatar = getMyAvatar(); - const QString& collisionSoundURL = myAvatar->getCollisionSoundURL(); - if (!collisionSoundURL.isEmpty()) { + auto collisionSound = myAvatar->getCollisionSound(); + if (collisionSound) { const float velocityChange = glm::length(collision.velocityChange); const float MIN_AVATAR_COLLISION_ACCELERATION = 0.01f; const bool isSound = (collision.type == CONTACT_EVENT_TYPE_START) && (velocityChange > MIN_AVATAR_COLLISION_ACCELERATION); @@ -327,7 +327,7 @@ void AvatarManager::handleCollisionEvents(const CollisionEvents& collisionEvents // but most avatars are roughly the same size, so let's not be so fancy yet. const float AVATAR_STRETCH_FACTOR = 1.0f; - AudioInjector::playSound(collisionSoundURL, energyFactorOfFull, AVATAR_STRETCH_FACTOR, myAvatar->getPosition()); + AudioInjector::playSound(collisionSound, energyFactorOfFull, AVATAR_STRETCH_FACTOR, myAvatar->getPosition()); myAvatar->collisionWithEntity(collision); return; } diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index bad60643ec..f0e5f2f19e 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -32,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -1232,12 +1232,21 @@ void MyAvatar::clearScriptableSettings() { } void MyAvatar::setCollisionSoundURL(const QString& url) { - _collisionSoundURL = url; - if (!url.isEmpty() && (url != _collisionSoundURL)) { - emit newCollisionSoundURL(QUrl(url)); + if (url != _collisionSoundURL) { + _collisionSoundURL = url; + _collisionSound = DependencyManager::get()->getSound(_collisionSoundURL); + + emit newCollisionSoundURL(QUrl(_collisionSoundURL)); } } +SharedSoundPointer MyAvatar::getCollisionSound() { + if (!_collisionSound) { + _collisionSound = DependencyManager::get()->getSound(_collisionSoundURL); + } + return _collisionSound; +} + void MyAvatar::attach(const QString& modelURL, const QString& jointName, const glm::vec3& translation, const glm::quat& rotation, float scale, bool isSoft, diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index fee1a9add3..e72d12ef26 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -16,6 +16,7 @@ #include #include +#include #include @@ -222,6 +223,8 @@ public: const QString& getCollisionSoundURL() { return _collisionSoundURL; } void setCollisionSoundURL(const QString& url); + SharedSoundPointer getCollisionSound(); + void clearScriptableSettings(); float getBoomLength() const { return _boomLength; } @@ -362,6 +365,8 @@ private: quint32 _motionBehaviors; QString _collisionSoundURL; + SharedSoundPointer _collisionSound; + MyCharacterController _characterController; AvatarWeakPointer _lookAtTargetAvatar; diff --git a/libraries/audio/src/AudioInjector.cpp b/libraries/audio/src/AudioInjector.cpp index a6515f5f65..073753c525 100644 --- a/libraries/audio/src/AudioInjector.cpp +++ b/libraries/audio/src/AudioInjector.cpp @@ -365,17 +365,9 @@ void AudioInjector::stopAndDeleteLater() { QMetaObject::invokeMethod(this, "deleteLater", Qt::QueuedConnection); } -AudioInjector* AudioInjector::playSound(const QString& soundUrl, const float volume, const float stretchFactor, const glm::vec3 position) { - if (soundUrl.isEmpty()) { - return NULL; - } - auto soundCache = DependencyManager::get(); - if (soundCache.isNull()) { - return NULL; - } - SharedSoundPointer sound = soundCache->getSound(QUrl(soundUrl)); - if (sound.isNull() || !sound->isReady()) { - return NULL; +AudioInjector* AudioInjector::playSound(SharedSoundPointer sound, const float volume, const float stretchFactor, const glm::vec3 position) { + if (!sound || !sound->isReady()) { + return nullptr; } AudioInjectorOptions options; @@ -385,7 +377,7 @@ AudioInjector* AudioInjector::playSound(const QString& soundUrl, const float vol QByteArray samples = sound->getByteArray(); if (stretchFactor == 1.0f) { - return playSoundAndDelete(samples, options, NULL); + return playSoundAndDelete(samples, options, nullptr); } const int standardRate = AudioConstants::SAMPLE_RATE; diff --git a/libraries/audio/src/AudioInjector.h b/libraries/audio/src/AudioInjector.h index 2dad2856b9..c90256429d 100644 --- a/libraries/audio/src/AudioInjector.h +++ b/libraries/audio/src/AudioInjector.h @@ -60,7 +60,7 @@ public: static AudioInjector* playSoundAndDelete(const QByteArray& buffer, const AudioInjectorOptions options, AbstractAudioInterface* localInterface); static AudioInjector* playSound(const QByteArray& buffer, const AudioInjectorOptions options, AbstractAudioInterface* localInterface); - static AudioInjector* playSound(const QString& soundUrl, const float volume, const float stretchFactor, const glm::vec3 position); + static AudioInjector* playSound(SharedSoundPointer sound, const float volume, const float stretchFactor, const glm::vec3 position); public slots: void restart(); From 07adef9465cb3bcc87949bbf236f943920d652b9 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Wed, 4 May 2016 12:05:53 -0700 Subject: [PATCH 045/106] Fix entities collision sounds --- interface/src/Application.cpp | 15 +++++++++++++-- interface/src/avatar/MyAvatar.cpp | 2 -- interface/src/avatar/MyAvatar.h | 1 + libraries/audio/src/AudioInjector.cpp | 2 +- .../src/EntityTreeRenderer.cpp | 10 +++++----- libraries/entities/src/EntityItem.cpp | 17 +++++++++++++++++ libraries/entities/src/EntityItem.h | 7 ++++++- libraries/entities/src/EntityTree.cpp | 9 ++------- libraries/entities/src/EntityTree.h | 5 +++-- libraries/entities/src/EntityTreeElement.cpp | 2 -- 10 files changed, 48 insertions(+), 22 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c2a4088dcc..e3f2812c1f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3019,8 +3019,19 @@ void Application::init() { _entityClipboardRenderer.setTree(_entityClipboard); // Make sure any new sounds are loaded as soon as know about them. - connect(tree.get(), &EntityTree::newCollisionSoundURL, DependencyManager::get().data(), &SoundCache::getSound); - connect(getMyAvatar(), &MyAvatar::newCollisionSoundURL, DependencyManager::get().data(), &SoundCache::getSound); + connect(tree.get(), &EntityTree::newCollisionSoundURL, this, [this](QUrl newURL, EntityItemID id) { + EntityTreePointer tree = getEntities()->getTree(); + if (auto entity = tree->findEntityByEntityItemID(id)) { + auto sound = DependencyManager::get()->getSound(newURL); + entity->setCollisionSound(sound); + } + }, Qt::QueuedConnection); + connect(getMyAvatar(), &MyAvatar::newCollisionSoundURL, this, [this](QUrl newURL) { + if (auto avatar = getMyAvatar()) { + auto sound = DependencyManager::get()->getSound(newURL); + avatar->setCollisionSound(sound); + } + }, Qt::QueuedConnection); } void Application::updateLOD() const { diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index f0e5f2f19e..f6caedb014 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -97,7 +97,6 @@ MyAvatar::MyAvatar(RigPointer rig) : _scriptedMotorTimescale(DEFAULT_SCRIPTED_MOTOR_TIMESCALE), _scriptedMotorFrame(SCRIPTED_MOTOR_CAMERA_FRAME), _motionBehaviors(AVATAR_MOTION_DEFAULTS), - _collisionSoundURL(""), _characterController(this), _lookAtTargetAvatar(), _shouldRender(true), @@ -1234,7 +1233,6 @@ void MyAvatar::clearScriptableSettings() { void MyAvatar::setCollisionSoundURL(const QString& url) { if (url != _collisionSoundURL) { _collisionSoundURL = url; - _collisionSound = DependencyManager::get()->getSound(_collisionSoundURL); emit newCollisionSoundURL(QUrl(_collisionSoundURL)); } diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index e72d12ef26..d25318c9fb 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -224,6 +224,7 @@ public: void setCollisionSoundURL(const QString& url); SharedSoundPointer getCollisionSound(); + void setCollisionSound(SharedSoundPointer sound) { _collisionSound = sound; } void clearScriptableSettings(); diff --git a/libraries/audio/src/AudioInjector.cpp b/libraries/audio/src/AudioInjector.cpp index 073753c525..878a4c627c 100644 --- a/libraries/audio/src/AudioInjector.cpp +++ b/libraries/audio/src/AudioInjector.cpp @@ -395,7 +395,7 @@ AudioInjector* AudioInjector::playSound(SharedSoundPointer sound, const float vo nInputFrames); Q_UNUSED(nOutputFrames); - return playSoundAndDelete(resampled, options, NULL); + return playSoundAndDelete(resampled, options, nullptr); } AudioInjector* AudioInjector::playSoundAndDelete(const QByteArray& buffer, const AudioInjectorOptions options, AbstractAudioInterface* localInterface) { diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 013385a169..814faa8874 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -820,14 +820,14 @@ void EntityTreeRenderer::playEntityCollisionSound(const QUuid& myNodeID, EntityT return; } - QString collisionSoundURL; + SharedSoundPointer collisionSound; float mass = 1.0; // value doesn't get used, but set it so compiler is quiet AACube minAACube; bool success = false; _tree->withReadLock([&] { EntityItemPointer entity = entityTree->findEntityByEntityItemID(id); if (entity) { - collisionSoundURL = entity->getCollisionSoundURL(); + collisionSound = entity->getCollisionSound(); mass = entity->computeMass(); minAACube = entity->getMinimumAACube(success); } @@ -835,9 +835,10 @@ void EntityTreeRenderer::playEntityCollisionSound(const QUuid& myNodeID, EntityT if (!success) { return; } - if (collisionSoundURL.isEmpty()) { + if (!collisionSound) { return; } + const float COLLISION_PENETRATION_TO_VELOCITY = 50; // as a subsitute for RELATIVE entity->getVelocity() // The collision.penetration is a pretty good indicator of changed velocity AFTER the initial contact, // but that first contact depends on exactly where we hit in the physics step. @@ -859,11 +860,10 @@ void EntityTreeRenderer::playEntityCollisionSound(const QUuid& myNodeID, EntityT const float COLLISION_SOUND_COMPRESSION_RANGE = 1.0f; // This section could be removed when the value is 1, but let's see how it goes. const float volume = (energyFactorOfFull * COLLISION_SOUND_COMPRESSION_RANGE) + (1.0f - COLLISION_SOUND_COMPRESSION_RANGE); - // Shift the pitch down by ln(1 + (size / COLLISION_SIZE_FOR_STANDARD_PITCH)) / ln(2) const float COLLISION_SIZE_FOR_STANDARD_PITCH = 0.2f; const float stretchFactor = log(1.0f + (minAACube.getLargestDimension() / COLLISION_SIZE_FOR_STANDARD_PITCH)) / log(2); - AudioInjector::playSound(collisionSoundURL, volume, stretchFactor, position); + AudioInjector::playSound(collisionSound, volume, stretchFactor, position); } void EntityTreeRenderer::entityCollisionWithEntity(const EntityItemID& idA, const EntityItemID& idB, diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index bdedbbce77..a36c69b880 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -852,6 +852,23 @@ void EntityItem::setHref(QString value) { _href = value; } +void EntityItem::setCollisionSoundURL(const QString& value) { + if (_collisionSoundURL != value) { + _collisionSoundURL = value; + + if (auto myTree = getTree()) { + myTree->notifyNewCollisionSoundURL(_collisionSoundURL, getEntityItemID()); + } + } +} + +SharedSoundPointer EntityItem::getCollisionSound() { + if (!_collisionSound) { + _collisionSound = DependencyManager::get()->getSound(_collisionSoundURL); + } + return _collisionSound; +} + void EntityItem::simulate(const quint64& now) { if (_lastSimulated == 0) { _lastSimulated = now; diff --git a/libraries/entities/src/EntityItem.h b/libraries/entities/src/EntityItem.h index ecb9800e70..210dbba284 100644 --- a/libraries/entities/src/EntityItem.h +++ b/libraries/entities/src/EntityItem.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "EntityItemID.h" @@ -250,7 +251,10 @@ public: void setScriptTimestamp(const quint64 value) { _scriptTimestamp = value; } const QString& getCollisionSoundURL() const { return _collisionSoundURL; } - void setCollisionSoundURL(const QString& value) { _collisionSoundURL = value; } + void setCollisionSoundURL(const QString& value); + + SharedSoundPointer getCollisionSound(); + void setCollisionSound(SharedSoundPointer sound) { _collisionSound = sound; } const glm::vec3& getRegistrationPoint() const { return _registrationPoint; } /// registration point as ratio of entity @@ -478,6 +482,7 @@ protected: quint64 _loadedScriptTimestamp{ ENTITY_ITEM_DEFAULT_SCRIPT_TIMESTAMP + 1 }; QString _collisionSoundURL; + SharedSoundPointer _collisionSound; glm::vec3 _registrationPoint; float _angularDamping; bool _visible; diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index b4f0c484d5..7b6756f3c1 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -95,7 +95,6 @@ void EntityTree::postAddEntity(EntityItemPointer entity) { } _isDirty = true; - maybeNotifyNewCollisionSoundURL("", entity->getCollisionSoundURL()); emit addingEntity(entity->getEntityItemID()); // find and hook up any entities with this entity as a (previously) missing parent @@ -223,7 +222,6 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI QString entityScriptBefore = entity->getScript(); quint64 entityScriptTimestampBefore = entity->getScriptTimestamp(); - QString collisionSoundURLBefore = entity->getCollisionSoundURL(); uint32_t preFlags = entity->getDirtyFlags(); AACube newQueryAACube; @@ -295,7 +293,6 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI if (entityScriptBefore != entityScriptAfter || reload) { emitEntityScriptChanging(entity->getEntityItemID(), reload); // the entity script has changed } - maybeNotifyNewCollisionSoundURL(collisionSoundURLBefore, entity->getCollisionSoundURL()); } // TODO: this final containingElement check should eventually be removed (or wrapped in an #ifdef DEBUG). @@ -362,10 +359,8 @@ void EntityTree::emitEntityScriptChanging(const EntityItemID& entityItemID, cons emit entityScriptChanging(entityItemID, reload); } -void EntityTree::maybeNotifyNewCollisionSoundURL(const QString& previousCollisionSoundURL, const QString& nextCollisionSoundURL) { - if (!nextCollisionSoundURL.isEmpty() && (nextCollisionSoundURL != previousCollisionSoundURL)) { - emit newCollisionSoundURL(QUrl(nextCollisionSoundURL)); - } +void EntityTree::notifyNewCollisionSoundURL(const QString& newURL, const EntityItemID& entityID) { + emit newCollisionSoundURL(QUrl(newURL), entityID); } void EntityTree::setSimulation(EntitySimulation* simulation) { diff --git a/libraries/entities/src/EntityTree.h b/libraries/entities/src/EntityTree.h index 54e516d01d..83bc31aa92 100644 --- a/libraries/entities/src/EntityTree.h +++ b/libraries/entities/src/EntityTree.h @@ -249,6 +249,8 @@ public: void forgetAvatarID(QUuid avatarID) { _avatarIDs -= avatarID; } void deleteDescendantsOfAvatar(QUuid avatarID); + void notifyNewCollisionSoundURL(const QString& newCollisionSoundURL, const EntityItemID& entityID); + public slots: void callLoader(EntityItemID entityID); @@ -256,7 +258,7 @@ signals: void deletingEntity(const EntityItemID& entityID); void addingEntity(const EntityItemID& entityID); void entityScriptChanging(const EntityItemID& entityItemID, const bool reload); - void newCollisionSoundURL(const QUrl& url); + void newCollisionSoundURL(const QUrl& url, const EntityItemID& entityID); void clearingEntities(); protected: @@ -301,7 +303,6 @@ protected: bool _wantEditLogging = false; bool _wantTerseEditLogging = false; - void maybeNotifyNewCollisionSoundURL(const QString& oldCollisionSoundURL, const QString& newCollisionSoundURL); // some performance tracking properties - only used in server trees diff --git a/libraries/entities/src/EntityTreeElement.cpp b/libraries/entities/src/EntityTreeElement.cpp index 8270dc7e69..a919dc4251 100644 --- a/libraries/entities/src/EntityTreeElement.cpp +++ b/libraries/entities/src/EntityTreeElement.cpp @@ -34,8 +34,6 @@ OctreeElementPointer EntityTreeElement::createNewElement(unsigned char* octalCod return newChild; } - - void EntityTreeElement::init(unsigned char* octalCode) { OctreeElement::init(octalCode); _octreeMemoryUsage += sizeof(EntityTreeElement); From bc6544a3c56dee794fd8e2d3921f94438596e4dd Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 5 May 2016 14:46:21 -0700 Subject: [PATCH 046/106] Fix MyAvatar's velocity change --- interface/src/avatar/AvatarManager.cpp | 4 +++- libraries/physics/src/CharacterController.cpp | 12 ++++++++++++ libraries/physics/src/CharacterController.h | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index a1302a934e..e098aac677 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -311,7 +311,9 @@ void AvatarManager::handleCollisionEvents(const CollisionEvents& collisionEvents MyAvatar* myAvatar = getMyAvatar(); auto collisionSound = myAvatar->getCollisionSound(); if (collisionSound) { - const float velocityChange = glm::length(collision.velocityChange); + const auto characterController = myAvatar->getCharacterController(); + const float avatarVelocityChange = (characterController ? glm::length(characterController->getVelocityChange()) : 0.0f); + const float velocityChange = glm::length(collision.velocityChange) + avatarVelocityChange; const float MIN_AVATAR_COLLISION_ACCELERATION = 0.01f; const bool isSound = (collision.type == CONTACT_EVENT_TYPE_START) && (velocityChange > MIN_AVATAR_COLLISION_ACCELERATION); diff --git a/libraries/physics/src/CharacterController.cpp b/libraries/physics/src/CharacterController.cpp index f685aee748..6ebe05ba86 100644 --- a/libraries/physics/src/CharacterController.cpp +++ b/libraries/physics/src/CharacterController.cpp @@ -430,6 +430,14 @@ glm::vec3 CharacterController::getLinearVelocity() const { return velocity; } +glm::vec3 CharacterController::getVelocityChange() const { + glm::vec3 velocity(0.0f); + if (_rigidBody) { + velocity = bulletToGLM(_rigidBody->getLinearVelocity()); + } + return velocity; +} + void CharacterController::preSimulation() { if (_enabled && _dynamicsWorld) { quint64 now = usecTimestampNow(); @@ -437,6 +445,7 @@ void CharacterController::preSimulation() { // slam body to where it is supposed to be _rigidBody->setWorldTransform(_characterBodyTransform); btVector3 velocity = _rigidBody->getLinearVelocity(); + _preSimulationVelocity = velocity; btVector3 actualVertVelocity = velocity.dot(_currentUp) * _currentUp; btVector3 actualHorizVelocity = velocity - actualVertVelocity; @@ -531,6 +540,9 @@ void CharacterController::preSimulation() { void CharacterController::postSimulation() { // postSimulation() exists for symmetry and just in case we need to do something here later + + btVector3 velocity = _rigidBody->getLinearVelocity(); + _velocityChange = velocity - _preSimulationVelocity; } diff --git a/libraries/physics/src/CharacterController.h b/libraries/physics/src/CharacterController.h index d810e904a7..a54ab97a14 100644 --- a/libraries/physics/src/CharacterController.h +++ b/libraries/physics/src/CharacterController.h @@ -77,6 +77,7 @@ public: glm::vec3 getFollowVelocity() const; glm::vec3 getLinearVelocity() const; + glm::vec3 getVelocityChange() const; float getCapsuleRadius() const { return _radius; } float getCapsuleHalfHeight() const { return _halfHeight; } @@ -112,6 +113,8 @@ protected: btVector3 _currentUp; btVector3 _targetVelocity; btVector3 _parentVelocity; + btVector3 _preSimulationVelocity; + btVector3 _velocityChange; btTransform _followDesiredBodyTransform; btScalar _followTimeRemaining; btTransform _characterBodyTransform; From cb523a3a715ce41f55aaabc889bf8f786e8bec9a Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Thu, 5 May 2016 16:01:05 -0700 Subject: [PATCH 047/106] disable webSurface differently --- .../entities-renderer/src/RenderableWebEntityItem.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp index ca3f694fd7..891e1dca3b 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp @@ -51,11 +51,6 @@ RenderableWebEntityItem::~RenderableWebEntityItem() { } bool RenderableWebEntityItem::buildWebSurface(EntityTreeRenderer* renderer) { - #ifdef defined(Q_OS_LINUX) - // these don't seem to work on Linux - return false; - #endif - if (_currentWebCount >= MAX_CONCURRENT_WEB_VIEWS) { qWarning() << "Too many concurrent web views to create new view"; return false; @@ -179,9 +174,14 @@ void RenderableWebEntityItem::render(RenderArgs* args) { #endif if (!_webSurface) { + #if defined(Q_OS_LINUX) + // these don't seem to work on Linux + return; + #else if (!buildWebSurface(static_cast(args->_renderer))) { return; } + #endif } _lastRenderTime = usecTimestampNow(); From df2683d989635f296a7f06f15d6a15e28d61fba5 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 5 May 2016 16:09:45 -0700 Subject: [PATCH 048/106] Fix compile error --- tests/entities/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/entities/CMakeLists.txt b/tests/entities/CMakeLists.txt index b12771b368..a6ce4cf956 100644 --- a/tests/entities/CMakeLists.txt +++ b/tests/entities/CMakeLists.txt @@ -7,6 +7,6 @@ setup_hifi_project(Network Script) set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "Tests/manual-tests/") # link in the shared libraries -link_hifi_libraries(entities avatars shared octree gpu model fbx networking animation) +link_hifi_libraries(entities avatars shared octree gpu model fbx networking animation audio) package_libraries_for_deployment() From 60a72c666012f240bc0fdd8ad83f3b8e4697bba6 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 29 Feb 2016 14:58:38 -0800 Subject: [PATCH 049/106] getViewFrustum() provides const pointer --- interface/src/Application.cpp | 11 +---------- interface/src/Application.h | 1 - libraries/octree/src/OctreeRenderer.h | 6 +++--- libraries/octree/src/ViewFrustum.cpp | 2 +- libraries/octree/src/ViewFrustum.h | 2 +- libraries/render-utils/src/LightStage.cpp | 3 +-- libraries/render-utils/src/LightStage.h | 2 +- libraries/render-utils/src/RenderShadowTask.cpp | 2 +- libraries/render/src/render/CullTask.cpp | 2 +- libraries/shared/src/RenderArgs.h | 4 ++-- 10 files changed, 12 insertions(+), 23 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c2a4088dcc..5c6f0ff7ab 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1512,6 +1512,7 @@ void Application::paintGL() { auto lodManager = DependencyManager::get(); + _viewFrustum.calculate(); RenderArgs renderArgs(_gpuContext, getEntities(), getViewFrustum(), lodManager->getOctreeSizeScale(), lodManager->getBoundaryLevelAdjust(), RenderArgs::DEFAULT_RENDER_MODE, RenderArgs::MONO, RenderArgs::RENDER_DEBUG_NONE); @@ -3874,16 +3875,6 @@ glm::vec3 Application::getAvatarPosition() const { return getMyAvatar()->getPosition(); } -ViewFrustum* Application::getViewFrustum() { -#ifdef DEBUG - if (QThread::currentThread() == activeRenderingThread) { - // FIXME, figure out a better way to do this - //qWarning() << "Calling Application::getViewFrustum() from the active rendering thread, did you mean Application::getDisplayViewFrustum()?"; - } -#endif - return &_viewFrustum; -} - const ViewFrustum* Application::getViewFrustum() const { #ifdef DEBUG if (QThread::currentThread() == activeRenderingThread) { diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..2dde8f5371 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -128,7 +128,6 @@ public: Camera* getCamera() { return &_myCamera; } const Camera* getCamera() const { return &_myCamera; } // Represents the current view frustum of the avatar. - ViewFrustum* getViewFrustum(); const ViewFrustum* getViewFrustum() const; // Represents the view frustum of the current rendering pass, // which might be different from the viewFrustum, i.e. shadowmap diff --git a/libraries/octree/src/OctreeRenderer.h b/libraries/octree/src/OctreeRenderer.h index 198de7ceed..2058fa982a 100644 --- a/libraries/octree/src/OctreeRenderer.h +++ b/libraries/octree/src/OctreeRenderer.h @@ -51,8 +51,8 @@ public: /// render the content of the octree virtual void render(RenderArgs* renderArgs); - ViewFrustum* getViewFrustum() const { return _viewFrustum; } - void setViewFrustum(ViewFrustum* viewFrustum) { _viewFrustum = viewFrustum; } + const ViewFrustum* getViewFrustum() const { return _viewFrustum; } + void setViewFrustum(const ViewFrustum* viewFrustum) { _viewFrustum = viewFrustum; } static bool renderOperation(OctreeElementPointer element, void* extraData); @@ -75,7 +75,7 @@ protected: OctreePointer _tree; bool _managedTree; - ViewFrustum* _viewFrustum; + const ViewFrustum* _viewFrustum; SimpleMovingAverage _elementsPerPacket; SimpleMovingAverage _entitiesPerPacket; diff --git a/libraries/octree/src/ViewFrustum.cpp b/libraries/octree/src/ViewFrustum.cpp index 228e4c7d35..202d4ac773 100644 --- a/libraries/octree/src/ViewFrustum.cpp +++ b/libraries/octree/src/ViewFrustum.cpp @@ -630,7 +630,7 @@ void ViewFrustum::getFurthestPointFromCamera(const AACube& box, glm::vec3& furth } } -const ViewFrustum::Corners ViewFrustum::getCorners(const float& depth) { +const ViewFrustum::Corners ViewFrustum::getCorners(const float& depth) const { glm::vec3 normal = glm::normalize(_direction); auto getCorner = [&](enum::BoxVertex nearCorner, enum::BoxVertex farCorner) { diff --git a/libraries/octree/src/ViewFrustum.h b/libraries/octree/src/ViewFrustum.h index 412d0f82f2..531956dd62 100644 --- a/libraries/octree/src/ViewFrustum.h +++ b/libraries/octree/src/ViewFrustum.h @@ -74,7 +74,7 @@ public: glm::vec3 bottomRight; // Get the corners depth units from frustum position, along frustum orientation }; - const Corners getCorners(const float& depth); + const Corners getCorners(const float& depth) const; // getters for corners const glm::vec3& getFarTopLeft() const { return _cornersWorld[TOP_LEFT_FAR]; } diff --git a/libraries/render-utils/src/LightStage.cpp b/libraries/render-utils/src/LightStage.cpp index 0f1f396471..5e28bea4a6 100644 --- a/libraries/render-utils/src/LightStage.cpp +++ b/libraries/render-utils/src/LightStage.cpp @@ -20,7 +20,7 @@ LightStage::Shadow::Shadow(model::LightPointer light) : _light{ light}, _frustum _schemaBuffer = std::make_shared(sizeof(Schema), (const gpu::Byte*) &schema); } -void LightStage::Shadow::setKeylightFrustum(ViewFrustum* viewFrustum, float nearDepth, float farDepth) { +void LightStage::Shadow::setKeylightFrustum(const ViewFrustum* viewFrustum, float nearDepth, float farDepth) { assert(nearDepth < farDepth); // Orient the keylight frustum @@ -43,7 +43,6 @@ void LightStage::Shadow::setKeylightFrustum(ViewFrustum* viewFrustum, float near const Transform view{ _frustum->getView()}; const Transform viewInverse{ view.getInverseMatrix() }; - viewFrustum->calculate(); auto nearCorners = viewFrustum->getCorners(nearDepth); auto farCorners = viewFrustum->getCorners(farDepth); diff --git a/libraries/render-utils/src/LightStage.h b/libraries/render-utils/src/LightStage.h index f776d8d817..14af861e35 100644 --- a/libraries/render-utils/src/LightStage.h +++ b/libraries/render-utils/src/LightStage.h @@ -28,7 +28,7 @@ public: Shadow(model::LightPointer light); - void setKeylightFrustum(ViewFrustum* viewFrustum, float nearDepth, float farDepth); + void setKeylightFrustum(const ViewFrustum* viewFrustum, float nearDepth, float farDepth); const std::shared_ptr getFrustum() const { return _frustum; } diff --git a/libraries/render-utils/src/RenderShadowTask.cpp b/libraries/render-utils/src/RenderShadowTask.cpp index d9e0c06a90..e2e543cc3e 100644 --- a/libraries/render-utils/src/RenderShadowTask.cpp +++ b/libraries/render-utils/src/RenderShadowTask.cpp @@ -146,7 +146,7 @@ void RenderShadowTask::run(const SceneContextPointer& sceneContext, const render } // Cache old render args - ViewFrustum* viewFrustum = args->_viewFrustum; + const ViewFrustum* viewFrustum = args->_viewFrustum; RenderArgs::RenderMode mode = args->_renderMode; auto nearClip = viewFrustum->getNearClip(); diff --git a/libraries/render/src/render/CullTask.cpp b/libraries/render/src/render/CullTask.cpp index 56805e8f83..33096f9b5f 100644 --- a/libraries/render/src/render/CullTask.cpp +++ b/libraries/render/src/render/CullTask.cpp @@ -26,7 +26,7 @@ void render::cullItems(const RenderContextPointer& renderContext, const CullFunc assert(renderContext->args->_viewFrustum); RenderArgs* args = renderContext->args; - ViewFrustum* frustum = args->_viewFrustum; + const ViewFrustum* frustum = args->_viewFrustum; details._considered += (int)inItems.size(); diff --git a/libraries/shared/src/RenderArgs.h b/libraries/shared/src/RenderArgs.h index 341553b743..a08b15886a 100644 --- a/libraries/shared/src/RenderArgs.h +++ b/libraries/shared/src/RenderArgs.h @@ -77,7 +77,7 @@ public: RenderArgs(std::shared_ptr context = nullptr, OctreeRenderer* renderer = nullptr, - ViewFrustum* viewFrustum = nullptr, + const ViewFrustum* viewFrustum = nullptr, float sizeScale = 1.0f, int boundaryLevelAdjust = 0, RenderMode renderMode = DEFAULT_RENDER_MODE, @@ -99,7 +99,7 @@ public: std::shared_ptr _blitFramebuffer = nullptr; std::shared_ptr _pipeline = nullptr; OctreeRenderer* _renderer = nullptr; - ViewFrustum* _viewFrustum = nullptr; + const ViewFrustum* _viewFrustum = nullptr; glm::ivec4 _viewport{ 0.0f, 0.0f, 1.0f, 1.0f }; glm::vec3 _boomOffset{ 0.0f, 0.0f, 1.0f }; float _sizeScale = 1.0f; From d97bd2bc52251f5bc95120173d33767ce6792737 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 29 Feb 2016 16:02:14 -0800 Subject: [PATCH 050/106] remove cruft --- libraries/octree/src/ViewFrustum.cpp | 85 ---------------------------- libraries/octree/src/ViewFrustum.h | 2 - 2 files changed, 87 deletions(-) diff --git a/libraries/octree/src/ViewFrustum.cpp b/libraries/octree/src/ViewFrustum.cpp index 202d4ac773..d2701202a9 100644 --- a/libraries/octree/src/ViewFrustum.cpp +++ b/libraries/octree/src/ViewFrustum.cpp @@ -440,27 +440,6 @@ void ViewFrustum::printDebugDetails() const { qCDebug(octree, "_focalLength=%f", (double)_focalLength); } -glm::vec2 ViewFrustum::projectPoint(glm::vec3 point, bool& pointInView) const { - - glm::vec4 pointVec4 = glm::vec4(point, 1.0f); - glm::vec4 projectedPointVec4 = _ourModelViewProjectionMatrix * pointVec4; - pointInView = (projectedPointVec4.w > 0.0f); // math! If the w result is negative then the point is behind the viewer - - // what happens with w is 0??? - float x = projectedPointVec4.x / projectedPointVec4.w; - float y = projectedPointVec4.y / projectedPointVec4.w; - glm::vec2 projectedPoint(x,y); - - // if the point is out of view we also need to flip the signs of x and y - if (!pointInView) { - projectedPoint.x = -x; - projectedPoint.y = -y; - } - - return projectedPoint; -} - - const int MAX_POSSIBLE_COMBINATIONS = 43; const int hullVertexLookup[MAX_POSSIBLE_COMBINATIONS][MAX_PROJECTED_POLYGON_VERTEX_COUNT+1] = { @@ -536,70 +515,6 @@ const int hullVertexLookup[MAX_POSSIBLE_COMBINATIONS][MAX_PROJECTED_POLYGON_VERT {6, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR}, // back, top, left }; -OctreeProjectedPolygon ViewFrustum::getProjectedPolygon(const AACube& box) const { - const glm::vec3& bottomNearRight = box.getCorner(); - glm::vec3 topFarLeft = box.calcTopFarLeft(); - - int lookUp = ((_position.x < bottomNearRight.x) ) // 1 = right | compute 6-bit - + ((_position.x > topFarLeft.x ) << 1) // 2 = left | code to - + ((_position.y < bottomNearRight.y) << 2) // 4 = bottom | classify camera - + ((_position.y > topFarLeft.y ) << 3) // 8 = top | with respect to - + ((_position.z < bottomNearRight.z) << 4) // 16 = front/near | the 6 defining - + ((_position.z > topFarLeft.z ) << 5); // 32 = back/far | planes - - int vertexCount = hullVertexLookup[lookUp][0]; //look up number of vertices - - OctreeProjectedPolygon projectedPolygon(vertexCount); - - bool pointInView = true; - bool allPointsInView = false; // assume the best, but wait till we know we have a vertex - bool anyPointsInView = false; // assume the worst! - if (vertexCount) { - allPointsInView = true; // assume the best! - for(int i = 0; i < vertexCount; i++) { - int vertexNum = hullVertexLookup[lookUp][i+1]; - glm::vec3 point = box.getVertex((BoxVertex)vertexNum); - glm::vec2 projectedPoint = projectPoint(point, pointInView); - allPointsInView = allPointsInView && pointInView; - anyPointsInView = anyPointsInView || pointInView; - projectedPolygon.setVertex(i, projectedPoint); - } - - /*** - // Now that we've got the polygon, if it extends beyond the clipping window, then let's clip it - // NOTE: This clipping does not improve our overall performance. It basically causes more polygons to - // end up in the same quad/half and so the polygon lists get longer, and that's more calls to polygon.occludes() - if ( (projectedPolygon.getMaxX() > PolygonClip::RIGHT_OF_CLIPPING_WINDOW ) || - (projectedPolygon.getMaxY() > PolygonClip::TOP_OF_CLIPPING_WINDOW ) || - (projectedPolygon.getMaxX() < PolygonClip::LEFT_OF_CLIPPING_WINDOW ) || - (projectedPolygon.getMaxY() < PolygonClip::BOTTOM_OF_CLIPPING_WINDOW) ) { - - CoverageRegion::_clippedPolygons++; - - glm::vec2* clippedVertices; - int clippedVertexCount; - PolygonClip::clipToScreen(projectedPolygon.getVertices(), vertexCount, clippedVertices, clippedVertexCount); - - // Now reset the vertices of our projectedPolygon object - projectedPolygon.setVertexCount(clippedVertexCount); - for(int i = 0; i < clippedVertexCount; i++) { - projectedPolygon.setVertex(i, clippedVertices[i]); - } - delete[] clippedVertices; - - lookUp += PROJECTION_CLIPPED; - } - ***/ - } - // set the distance from our camera position, to the closest vertex - float distance = glm::distance(getPosition(), box.calcCenter()); - projectedPolygon.setDistance(distance); - projectedPolygon.setAnyInView(anyPointsInView); - projectedPolygon.setAllInView(allPointsInView); - projectedPolygon.setProjectionType(lookUp); // remember the projection type - return projectedPolygon; -} - // Similar strategy to getProjectedPolygon() we use the knowledge of camera position relative to the // axis-aligned voxels to determine which of the voxels vertices must be the furthest. No need for // squares and square-roots. Just compares. diff --git a/libraries/octree/src/ViewFrustum.h b/libraries/octree/src/ViewFrustum.h index 531956dd62..62527a8a6d 100644 --- a/libraries/octree/src/ViewFrustum.h +++ b/libraries/octree/src/ViewFrustum.h @@ -122,8 +122,6 @@ public: void printDebugDetails() const; - glm::vec2 projectPoint(glm::vec3 point, bool& pointInView) const; - OctreeProjectedPolygon getProjectedPolygon(const AACube& box) const; void getFurthestPointFromCamera(const AACube& box, glm::vec3& furthestPoint) const; float distanceToCamera(const glm::vec3& point) const; From 21fa2948391725a8447944ee41d16e5d6132860a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 29 Feb 2016 16:53:06 -0800 Subject: [PATCH 051/106] remove cruft --- libraries/octree/src/ViewFrustum.cpp | 49 ---------------------------- libraries/octree/src/ViewFrustum.h | 4 --- 2 files changed, 53 deletions(-) diff --git a/libraries/octree/src/ViewFrustum.cpp b/libraries/octree/src/ViewFrustum.cpp index d2701202a9..7e71155df3 100644 --- a/libraries/octree/src/ViewFrustum.cpp +++ b/libraries/octree/src/ViewFrustum.cpp @@ -268,55 +268,6 @@ bool testMatches(float lhs, float rhs, float epsilon = EPSILON) { return (fabs(lhs - rhs) <= epsilon); } -bool ViewFrustum::matches(const ViewFrustum& compareTo, bool debug) const { - bool result = - testMatches(compareTo._position, _position) && - testMatches(compareTo._direction, _direction) && - testMatches(compareTo._up, _up) && - testMatches(compareTo._right, _right) && - testMatches(compareTo._fieldOfView, _fieldOfView) && - testMatches(compareTo._aspectRatio, _aspectRatio) && - testMatches(compareTo._nearClip, _nearClip) && - testMatches(compareTo._farClip, _farClip) && - testMatches(compareTo._focalLength, _focalLength); - - if (!result && debug) { - qCDebug(octree, "ViewFrustum::matches()... result=%s", debug::valueOf(result)); - qCDebug(octree, "%s -- compareTo._position=%f,%f,%f _position=%f,%f,%f", - (testMatches(compareTo._position,_position) ? "MATCHES " : "NO MATCH"), - (double)compareTo._position.x, (double)compareTo._position.y, (double)compareTo._position.z, - (double)_position.x, (double)_position.y, (double)_position.z); - qCDebug(octree, "%s -- compareTo._direction=%f,%f,%f _direction=%f,%f,%f", - (testMatches(compareTo._direction, _direction) ? "MATCHES " : "NO MATCH"), - (double)compareTo._direction.x, (double)compareTo._direction.y, (double)compareTo._direction.z, - (double)_direction.x, (double)_direction.y, (double)_direction.z ); - qCDebug(octree, "%s -- compareTo._up=%f,%f,%f _up=%f,%f,%f", - (testMatches(compareTo._up, _up) ? "MATCHES " : "NO MATCH"), - (double)compareTo._up.x, (double)compareTo._up.y, (double)compareTo._up.z, - (double)_up.x, (double)_up.y, (double)_up.z ); - qCDebug(octree, "%s -- compareTo._right=%f,%f,%f _right=%f,%f,%f", - (testMatches(compareTo._right, _right) ? "MATCHES " : "NO MATCH"), - (double)compareTo._right.x, (double)compareTo._right.y, (double)compareTo._right.z, - (double)_right.x, (double)_right.y, (double)_right.z ); - qCDebug(octree, "%s -- compareTo._fieldOfView=%f _fieldOfView=%f", - (testMatches(compareTo._fieldOfView, _fieldOfView) ? "MATCHES " : "NO MATCH"), - (double)compareTo._fieldOfView, (double)_fieldOfView); - qCDebug(octree, "%s -- compareTo._aspectRatio=%f _aspectRatio=%f", - (testMatches(compareTo._aspectRatio, _aspectRatio) ? "MATCHES " : "NO MATCH"), - (double)compareTo._aspectRatio, (double)_aspectRatio); - qCDebug(octree, "%s -- compareTo._nearClip=%f _nearClip=%f", - (testMatches(compareTo._nearClip, _nearClip) ? "MATCHES " : "NO MATCH"), - (double)compareTo._nearClip, (double)_nearClip); - qCDebug(octree, "%s -- compareTo._farClip=%f _farClip=%f", - (testMatches(compareTo._farClip, _farClip) ? "MATCHES " : "NO MATCH"), - (double)compareTo._farClip, (double)_farClip); - qCDebug(octree, "%s -- compareTo._focalLength=%f _focalLength=%f", - (testMatches(compareTo._focalLength, _focalLength) ? "MATCHES " : "NO MATCH"), - (double)compareTo._focalLength, (double)_focalLength); - } - return result; -} - bool ViewFrustum::isVerySimilar(const ViewFrustum& compareTo, bool debug) const { // Compute distance between the two positions diff --git a/libraries/octree/src/ViewFrustum.h b/libraries/octree/src/ViewFrustum.h index 62527a8a6d..0fce67ac1b 100644 --- a/libraries/octree/src/ViewFrustum.h +++ b/libraries/octree/src/ViewFrustum.h @@ -107,10 +107,6 @@ public: bool cubeIntersectsKeyhole(const AACube& cube) const; bool boxIntersectsKeyhole(const AABox& box) const; - // some frustum comparisons - bool matches(const ViewFrustum& compareTo, bool debug = false) const; - bool matches(const ViewFrustum* compareTo, bool debug = false) const { return matches(*compareTo, debug); } - bool isVerySimilar(const ViewFrustum& compareTo, bool debug = false) const; bool isVerySimilar(const ViewFrustum* compareTo, bool debug = false) const { return isVerySimilar(*compareTo, debug); } From bcf2cc8074876a90766ff9a97fe2fac1edfdfce0 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Sat, 5 Mar 2016 10:38:23 -0800 Subject: [PATCH 052/106] use references not pointers for ViewFrustums also unravelling some spaghetti: (1) split Octree stuff out of ViewFrustum (2) moved ViewFrustum from octree to shared lib (3) removed some cruft --- .../src/octree/OctreeQueryNode.h | 6 +- .../src/octree/OctreeSendThread.cpp | 16 +- interface/src/Application.cpp | 29 +-- interface/src/Application.h | 9 +- interface/src/LODManager.cpp | 5 +- interface/src/Stars.cpp | 4 +- interface/src/avatar/Avatar.cpp | 27 ++- interface/src/avatar/Avatar.h | 2 +- interface/src/avatar/Head.cpp | 2 +- interface/src/avatar/Head.h | 8 +- interface/src/avatar/MyAvatar.cpp | 12 +- interface/src/avatar/MyAvatar.h | 2 +- interface/src/ui/overlays/Grid3DOverlay.cpp | 2 +- .../src/ui/overlays/LocalModelsOverlay.cpp | 4 +- .../src/RenderableTextEntityItem.cpp | 2 +- libraries/entities/src/EntityTreeElement.cpp | 12 +- libraries/octree/src/Octree.cpp | 60 +++--- libraries/octree/src/Octree.h | 31 ++- libraries/octree/src/OctreeElement.cpp | 7 +- libraries/octree/src/OctreeElement.h | 4 +- libraries/octree/src/OctreeHeadlessViewer.cpp | 4 +- libraries/octree/src/OctreeHeadlessViewer.h | 3 +- libraries/octree/src/OctreeQuery.cpp | 1 - libraries/octree/src/OctreeRenderer.cpp | 6 +- libraries/octree/src/OctreeRenderer.h | 8 +- libraries/octree/src/OctreeUtils.cpp | 71 +++++++ libraries/octree/src/OctreeUtils.h | 30 +++ .../src/AbstractViewStateInterface.h | 6 +- .../src/AmbientOcclusionEffect.cpp | 8 +- .../render-utils/src/AntialiasingEffect.cpp | 8 +- .../render-utils/src/DebugDeferredBuffer.cpp | 12 +- .../src/DeferredLightingEffect.cpp | 10 +- libraries/render-utils/src/HitEffect.cpp | 10 +- libraries/render-utils/src/LightStage.cpp | 8 +- libraries/render-utils/src/LightStage.h | 2 +- .../render-utils/src/RenderDeferredTask.cpp | 22 +-- .../render-utils/src/RenderShadowTask.cpp | 11 +- libraries/render/src/render/CullTask.cpp | 36 ++-- .../render/src/render/DrawSceneOctree.cpp | 15 +- libraries/render/src/render/DrawStatus.cpp | 6 +- libraries/render/src/render/DrawTask.cpp | 2 +- libraries/{octree => shared}/src/Plane.cpp | 12 +- libraries/{octree => shared}/src/Plane.h | 9 +- libraries/shared/src/RenderArgs.h | 33 +++- .../{octree => shared}/src/ViewFrustum.cpp | 181 ++++++------------ .../{octree => shared}/src/ViewFrustum.h | 46 ++--- 46 files changed, 413 insertions(+), 391 deletions(-) create mode 100644 libraries/octree/src/OctreeUtils.cpp create mode 100644 libraries/octree/src/OctreeUtils.h rename libraries/{octree => shared}/src/Plane.cpp (93%) rename libraries/{octree => shared}/src/Plane.h (83%) rename libraries/{octree => shared}/src/ViewFrustum.cpp (75%) rename libraries/{octree => shared}/src/ViewFrustum.h (83%) diff --git a/assignment-client/src/octree/OctreeQueryNode.h b/assignment-client/src/octree/OctreeQueryNode.h index 0ec876e674..22d04d81f6 100644 --- a/assignment-client/src/octree/OctreeQueryNode.h +++ b/assignment-client/src/octree/OctreeQueryNode.h @@ -44,7 +44,7 @@ public: bool packetIsDuplicate() const; bool shouldSuppressDuplicatePacket(); - + unsigned int getAvailable() const { return _octreePacket->bytesAvailableForWrite(); } int getMaxSearchLevel() const { return _maxSearchLevel; } void resetMaxSearchLevel() { _maxSearchLevel = 1; } @@ -56,8 +56,8 @@ public: OctreeElementBag elementBag; OctreeElementExtraEncodeData extraEncodeData; - ViewFrustum& getCurrentViewFrustum() { return _currentViewFrustum; } - ViewFrustum& getLastKnownViewFrustum() { return _lastKnownViewFrustum; } + const ViewFrustum& getCurrentViewFrustum() const { return _currentViewFrustum; } + const ViewFrustum& getLastKnownViewFrustum() const { return _lastKnownViewFrustum; } // These are not classic setters because they are calculating and maintaining state // which is set asynchronously through the network receive diff --git a/assignment-client/src/octree/OctreeSendThread.cpp b/assignment-client/src/octree/OctreeSendThread.cpp index ec812db8e8..7701cedd94 100644 --- a/assignment-client/src/octree/OctreeSendThread.cpp +++ b/assignment-client/src/octree/OctreeSendThread.cpp @@ -332,8 +332,6 @@ int OctreeSendThread::packetDistributor(SharedNodePointer node, OctreeQueryNode* _packetData.changeSettings(true, targetSize); // FIXME - eventually support only compressed packets - const ViewFrustum* lastViewFrustum = viewFrustumChanged ? &nodeData->getLastKnownViewFrustum() : NULL; - // If the current view frustum has changed OR we have nothing to send, then search against // the current view frustum for things to send. if (viewFrustumChanged || nodeData->elementBag.isEmpty()) { @@ -411,7 +409,7 @@ int OctreeSendThread::packetDistributor(SharedNodePointer node, OctreeQueryNode* quint64 lockWaitEnd = usecTimestampNow(); lockWaitElapsedUsec = (float)(lockWaitEnd - lockWaitStart); quint64 encodeStart = usecTimestampNow(); - + OctreeElementPointer subTree = nodeData->elementBag.extract(); if (!subTree) { return; @@ -420,18 +418,22 @@ int OctreeSendThread::packetDistributor(SharedNodePointer node, OctreeQueryNode* float octreeSizeScale = nodeData->getOctreeSizeScale(); int boundaryLevelAdjustClient = nodeData->getBoundaryLevelAdjust(); - int boundaryLevelAdjust = boundaryLevelAdjustClient + + int boundaryLevelAdjust = boundaryLevelAdjustClient + (viewFrustumChanged ? LOW_RES_MOVING_ADJUST : NO_BOUNDARY_ADJUST); - EncodeBitstreamParams params(INT_MAX, &nodeData->getCurrentViewFrustum(), - WANT_EXISTS_BITS, DONT_CHOP, viewFrustumChanged, lastViewFrustum, + EncodeBitstreamParams params(INT_MAX, WANT_EXISTS_BITS, DONT_CHOP, + viewFrustumChanged, boundaryLevelAdjust, octreeSizeScale, nodeData->getLastTimeBagEmpty(), isFullScene, &nodeData->stats, _myServer->getJurisdiction(), &nodeData->extraEncodeData); + params.viewFrustum = nodeData->getCurrentViewFrustum(); + if (viewFrustumChanged) { + params.lastViewFrustum = nodeData->getLastKnownViewFrustum(); + } // Our trackSend() function is implemented by the server subclass, and will be called back - // during the encodeTreeBitstream() as new entities/data elements are sent + // during the encodeTreeBitstream() as new entities/data elements are sent params.trackSend = [this, node](const QUuid& dataID, quint64 dataEdited) { _myServer->trackSend(dataID, dataEdited, node->getUUID()); }; diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5c6f0ff7ab..994bb89556 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1513,9 +1513,10 @@ void Application::paintGL() { _viewFrustum.calculate(); - RenderArgs renderArgs(_gpuContext, getEntities(), getViewFrustum(), lodManager->getOctreeSizeScale(), + RenderArgs renderArgs(_gpuContext, getEntities(), lodManager->getOctreeSizeScale(), lodManager->getBoundaryLevelAdjust(), RenderArgs::DEFAULT_RENDER_MODE, RenderArgs::MONO, RenderArgs::RENDER_DEBUG_NONE); + renderArgs.setViewFrustum(getViewFrustum()); PerformanceWarning::setSuppressShortTimings(Menu::getInstance()->isOptionChecked(MenuOption::SuppressShortTimings)); bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); @@ -1682,7 +1683,7 @@ void Application::paintGL() { renderArgs._context->enableStereo(true); mat4 eyeOffsets[2]; mat4 eyeProjections[2]; - auto baseProjection = renderArgs._viewFrustum->getProjection(); + auto baseProjection = renderArgs.getViewFrustum().getProjection(); auto hmdInterface = DependencyManager::get(); float IPDScale = hmdInterface->getIPDScale(); mat4 headPose = displayPlugin->getHeadPose(); @@ -3862,7 +3863,7 @@ PickRay Application::computePickRay(float x, float y) const { getApplicationCompositor().computeHmdPickRay(pickPoint, result.origin, result.direction); } else { pickPoint /= getCanvasSize(); - getViewFrustum()->computePickRay(pickPoint.x, pickPoint.y, result.origin, result.direction); + getViewFrustum().computePickRay(pickPoint.x, pickPoint.y, result.origin, result.direction); } return result; } @@ -3875,34 +3876,24 @@ glm::vec3 Application::getAvatarPosition() const { return getMyAvatar()->getPosition(); } -const ViewFrustum* Application::getViewFrustum() const { +const ViewFrustum& Application::getViewFrustum() const { #ifdef DEBUG if (QThread::currentThread() == activeRenderingThread) { // FIXME, figure out a better way to do this //qWarning() << "Calling Application::getViewFrustum() from the active rendering thread, did you mean Application::getDisplayViewFrustum()?"; } #endif - return &_viewFrustum; + return _viewFrustum; } -ViewFrustum* Application::getDisplayViewFrustum() { +const ViewFrustum& Application::getDisplayViewFrustum() const { #ifdef DEBUG if (QThread::currentThread() != activeRenderingThread) { // FIXME, figure out a better way to do this // qWarning() << "Calling Application::getDisplayViewFrustum() from outside the active rendering thread or outside rendering, did you mean Application::getViewFrustum()?"; } #endif - return &_displayViewFrustum; -} - -const ViewFrustum* Application::getDisplayViewFrustum() const { -#ifdef DEBUG - if (QThread::currentThread() != activeRenderingThread) { - // FIXME, figure out a better way to do this - // qWarning() << "Calling Application::getDisplayViewFrustum() from outside the active rendering thread or outside rendering, did you mean Application::getViewFrustum()?"; - } -#endif - return &_displayViewFrustum; + return _displayViewFrustum; } // WorldBox Render Data & rendering functions @@ -3967,7 +3958,7 @@ namespace render { auto skybox = skyStage->getSkybox(); if (skybox) { PerformanceTimer perfTimer("skybox"); - skybox->render(batch, *(args->_viewFrustum)); + skybox->render(batch, args->getViewFrustum()); break; } } @@ -4079,7 +4070,7 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se { PerformanceTimer perfTimer("EngineRun"); - renderArgs->_viewFrustum = getDisplayViewFrustum(); + renderArgs->setViewFrustum(getDisplayViewFrustum()); _renderEngine->getRenderContext()->args = renderArgs; // Before the deferred pass, let's try to use the render engine diff --git a/interface/src/Application.h b/interface/src/Application.h index 2dde8f5371..3f26f7bc38 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -128,13 +128,12 @@ public: Camera* getCamera() { return &_myCamera; } const Camera* getCamera() const { return &_myCamera; } // Represents the current view frustum of the avatar. - const ViewFrustum* getViewFrustum() const; + const ViewFrustum& getViewFrustum() const; // Represents the view frustum of the current rendering pass, // which might be different from the viewFrustum, i.e. shadowmap // passes, mirror window passes, etc - ViewFrustum* getDisplayViewFrustum(); - const ViewFrustum* getDisplayViewFrustum() const; - ViewFrustum* getShadowViewFrustum() override { return &_shadowViewFrustum; } + const ViewFrustum& getDisplayViewFrustum() const; + const ViewFrustum& getShadowViewFrustum() override { return _shadowViewFrustum; } const OctreePacketProcessor& getOctreePacketProcessor() const { return _octreeProcessor; } EntityTreeRenderer* getEntities() const { return DependencyManager::get().data(); } QUndoStack* getUndoStack() { return &_undoStack; } @@ -168,7 +167,7 @@ public: virtual controller::ScriptingInterface* getControllerScriptingInterface() { return _controllerScriptingInterface; } virtual void registerScriptEngineWithApplicationServices(ScriptEngine* scriptEngine) override; - virtual ViewFrustum* getCurrentViewFrustum() override { return getDisplayViewFrustum(); } + virtual const ViewFrustum& getCurrentViewFrustum() override { return getDisplayViewFrustum(); } virtual QThread* getMainThread() override { return thread(); } virtual PickRay computePickRay(float x, float y) const override; virtual glm::vec3 getAvatarPosition() const override; diff --git a/interface/src/LODManager.cpp b/interface/src/LODManager.cpp index 64b506059c..bf756a55a5 100644 --- a/interface/src/LODManager.cpp +++ b/interface/src/LODManager.cpp @@ -10,6 +10,7 @@ // #include +#include #include #include "Application.h" @@ -216,7 +217,7 @@ QString LODManager::getLODFeedbackText() { bool LODManager::shouldRender(const RenderArgs* args, const AABox& bounds) { // FIXME - eventually we want to use the render accuracy as an indicator for the level of detail // to use in rendering. - float renderAccuracy = args->_viewFrustum->calculateRenderAccuracy(bounds, args->_sizeScale, args->_boundaryLevelAdjust); + float renderAccuracy = calculateRenderAccuracy(args->getViewFrustum().getPosition(), bounds, args->_sizeScale, args->_boundaryLevelAdjust); return (renderAccuracy > 0.0f); }; @@ -228,7 +229,6 @@ void LODManager::setBoundaryLevelAdjust(int boundaryLevelAdjust) { _boundaryLevelAdjust = boundaryLevelAdjust; } - void LODManager::loadSettings() { setDesktopLODDecreaseFPS(desktopLODDecreaseFPS.get()); setHMDLODDecreaseFPS(hmdLODDecreaseFPS.get()); @@ -239,4 +239,3 @@ void LODManager::saveSettings() { hmdLODDecreaseFPS.set(getHMDLODDecreaseFPS()); } - diff --git a/interface/src/Stars.cpp b/interface/src/Stars.cpp index 7e2deef494..9510710eb3 100644 --- a/interface/src/Stars.cpp +++ b/interface/src/Stars.cpp @@ -194,8 +194,8 @@ void Stars::render(RenderArgs* renderArgs, float alpha) { gpu::Batch& batch = *renderArgs->_batch; batch.setViewTransform(Transform()); - batch.setProjectionTransform(renderArgs->_viewFrustum->getProjection()); - batch.setModelTransform(Transform().setRotation(glm::inverse(renderArgs->_viewFrustum->getOrientation()) * + batch.setProjectionTransform(renderArgs->getViewFrustum().getProjection()); + batch.setModelTransform(Transform().setRotation(glm::inverse(renderArgs->getViewFrustum().getOrientation()) * quat(vec3(TILT, 0, 0)))); batch.setResourceTexture(0, textureCache->getWhiteTexture()); diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 2cacb81ce4..f753309ffc 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -171,7 +172,8 @@ void Avatar::simulate(float deltaTime) { // update the shouldAnimate flag to match whether or not we will render the avatar. const float MINIMUM_VISIBILITY_FOR_ON = 0.4f; const float MAXIMUM_VISIBILITY_FOR_OFF = 0.6f; - float visibility = qApp->getViewFrustum()->calculateRenderAccuracy(getBounds(), DependencyManager::get()->getOctreeSizeScale()); + float visibility = calculateRenderAccuracy(qApp->getViewFrustum().getPosition(), + getBounds(), DependencyManager::get()->getOctreeSizeScale()); if (!_shouldAnimate) { if (visibility > MINIMUM_VISIBILITY_FOR_ON) { _shouldAnimate = true; @@ -381,17 +383,13 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { } } - // simple frustum check - float boundingRadius = getBoundingRadius(); - ViewFrustum* frustum = nullptr; - if (renderArgs->_renderMode == RenderArgs::SHADOW_RENDER_MODE) { - frustum = qApp->getShadowViewFrustum(); - } else { - frustum = qApp->getDisplayViewFrustum(); - } - - if (!frustum->sphereIntersectsFrustum(getPosition(), boundingRadius)) { - return; + { // simple frustum check + const ViewFrustum& frustum = renderArgs->_renderMode == RenderArgs::SHADOW_RENDER_MODE ? + qApp->getShadowViewFrustum() : + qApp->getDisplayViewFrustum(); + if (!frustum.sphereIntersectsFrustum(getPosition(), getBoundingRadius())) { + return; + } } glm::vec3 toTarget = cameraPosition - getPosition(); @@ -413,7 +411,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { : GLOW_FROM_AVERAGE_LOUDNESS; // render body - renderBody(renderArgs, frustum, glowLevel); + renderBody(renderArgs, glowLevel); if (renderArgs->_renderMode != RenderArgs::SHADOW_RENDER_MODE) { // add local lights @@ -502,9 +500,8 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { auto cameraMode = qApp->getCamera()->getMode(); if (!isMyAvatar() || cameraMode != CAMERA_MODE_FIRST_PERSON) { - auto& frustum = *renderArgs->_viewFrustum; + auto frustum = renderArgs->getViewFrustum(); auto textPosition = getDisplayNamePosition(); - if (frustum.pointIntersectsFrustum(textPosition)) { renderDisplayName(batch, frustum, textPosition); } diff --git a/interface/src/avatar/Avatar.h b/interface/src/avatar/Avatar.h index cb35fbb5eb..265b529b8a 100644 --- a/interface/src/avatar/Avatar.h +++ b/interface/src/avatar/Avatar.h @@ -232,7 +232,7 @@ protected: Transform calculateDisplayNameTransform(const ViewFrustum& view, const glm::vec3& textPosition) const; void renderDisplayName(gpu::Batch& batch, const ViewFrustum& view, const glm::vec3& textPosition) const; - virtual void renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel = 0.0f); + virtual void renderBody(RenderArgs* renderArgs, float glowLevel = 0.0f); virtual bool shouldRenderHead(const RenderArgs* renderArgs) const; virtual void fixupModelsInScene(); diff --git a/interface/src/avatar/Head.cpp b/interface/src/avatar/Head.cpp index b7247334fc..8a58e5d740 100644 --- a/interface/src/avatar/Head.cpp +++ b/interface/src/avatar/Head.cpp @@ -316,7 +316,7 @@ void Head::relaxLean(float deltaTime) { _deltaLeanForward *= relaxationFactor; } -void Head::render(RenderArgs* renderArgs, float alpha, ViewFrustum* renderFrustum) { +void Head::render(RenderArgs* renderArgs, float alpha) { } void Head::renderLookAts(RenderArgs* renderArgs) { diff --git a/interface/src/avatar/Head.h b/interface/src/avatar/Head.h index d0bd4fdb77..4c0a516ecc 100644 --- a/interface/src/avatar/Head.h +++ b/interface/src/avatar/Head.h @@ -28,11 +28,13 @@ class Avatar; class Head : public HeadData { public: explicit Head(Avatar* owningAvatar); - + + Head(Avatar* owningAvatar); + void init(); void reset(); void simulate(float deltaTime, bool isMine, bool billboard = false); - void render(RenderArgs* renderArgs, float alpha, ViewFrustum* renderFrustum); + void render(RenderArgs* renderArgs, float alpha); void setScale(float scale); void setPosition(glm::vec3 position) { _position = position; } void setAverageLoudness(float averageLoudness) { _averageLoudness = averageLoudness; } @@ -44,7 +46,7 @@ public: /// \return orientationBase+Delta glm::quat getFinalOrientationInLocalFrame() const; - + /// \return orientationBody * (orientationBase+Delta) glm::quat getFinalOrientationInWorldFrame() const; diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index bad60643ec..2208e827a0 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -546,7 +546,7 @@ void MyAvatar::updateFromTrackers(float deltaTime) { head->setDeltaYaw(estimatedRotation.y); head->setDeltaRoll(estimatedRotation.z); } else { - float magnifyFieldOfView = qApp->getViewFrustum()->getFieldOfView() / _realWorldFieldOfView.get(); + float magnifyFieldOfView = qApp->getViewFrustum().getFieldOfView() / _realWorldFieldOfView.get(); head->setDeltaPitch(estimatedRotation.x * magnifyFieldOfView); head->setDeltaYaw(estimatedRotation.y * magnifyFieldOfView); head->setDeltaRoll(estimatedRotation.z); @@ -936,8 +936,8 @@ void MyAvatar::updateLookAtTargetAvatar() { glm::vec3 leftEyeHeadLocal = glm::vec3(leftEye[3]); glm::vec3 rightEyeHeadLocal = glm::vec3(rightEye[3]); auto humanSystem = qApp->getViewFrustum(); - glm::vec3 humanLeftEye = humanSystem->getPosition() + (humanSystem->getOrientation() * leftEyeHeadLocal); - glm::vec3 humanRightEye = humanSystem->getPosition() + (humanSystem->getOrientation() * rightEyeHeadLocal); + glm::vec3 humanLeftEye = humanSystem.getPosition() + (humanSystem.getOrientation() * leftEyeHeadLocal); + glm::vec3 humanRightEye = humanSystem.getPosition() + (humanSystem.getOrientation() * rightEyeHeadLocal); auto hmdInterface = DependencyManager::get(); float ipdScale = hmdInterface->getIPDScale(); @@ -951,7 +951,7 @@ void MyAvatar::updateLookAtTargetAvatar() { } // And now we can finally add that offset to the camera. - glm::vec3 corrected = qApp->getViewFrustum()->getPosition() + gazeOffset; + glm::vec3 corrected = qApp->getViewFrustum().getPosition() + gazeOffset; avatar->getHead()->setCorrectedLookAtPosition(corrected); @@ -1259,7 +1259,7 @@ void MyAvatar::attach(const QString& modelURL, const QString& jointName, Avatar::attach(modelURL, jointName, translation, rotation, scale, isSoft, allowDuplicates, useSaved); } -void MyAvatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel) { +void MyAvatar::renderBody(RenderArgs* renderArgs, float glowLevel) { if (!_skeletonModel->isRenderable()) { return; // wait until all models are loaded @@ -1269,7 +1269,7 @@ void MyAvatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, fl // Render head so long as the camera isn't inside it if (shouldRenderHead(renderArgs)) { - getHead()->render(renderArgs, 1.0f, renderFrustum); + getHead()->render(renderArgs, 1.0f); } // This is drawing the lookat vectors from our avatar to wherever we're looking. diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index fee1a9add3..d6f209a2eb 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -306,7 +306,7 @@ private: void simulate(float deltaTime); void updateFromTrackers(float deltaTime); virtual void render(RenderArgs* renderArgs, const glm::vec3& cameraPositio) override; - virtual void renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel = 0.0f) override; + virtual void renderBody(RenderArgs* renderArgs, float glowLevel = 0.0f) override; virtual bool shouldRenderHead(const RenderArgs* renderArgs) const override; void setShouldRenderLocally(bool shouldRender) { _shouldRender = shouldRender; setEnableMeshVisible(shouldRender); } bool getShouldRenderLocally() const { return _shouldRender; } diff --git a/interface/src/ui/overlays/Grid3DOverlay.cpp b/interface/src/ui/overlays/Grid3DOverlay.cpp index 39106ad61e..edc27e35f2 100644 --- a/interface/src/ui/overlays/Grid3DOverlay.cpp +++ b/interface/src/ui/overlays/Grid3DOverlay.cpp @@ -65,7 +65,7 @@ void Grid3DOverlay::render(RenderArgs* args) { // Get the camera position rounded to the nearest major grid line // This grid is for UI and should lie on worldlines auto cameraPosition = - (float)_majorGridEvery * glm::round(args->_viewFrustum->getPosition() / (float)_majorGridEvery); + (float)_majorGridEvery * glm::round(args->getViewFrustum().getPosition() / (float)_majorGridEvery); position += glm::vec3(cameraPosition.x, 0.0f, cameraPosition.z); } diff --git a/interface/src/ui/overlays/LocalModelsOverlay.cpp b/interface/src/ui/overlays/LocalModelsOverlay.cpp index 38e11562da..ba82ba780a 100644 --- a/interface/src/ui/overlays/LocalModelsOverlay.cpp +++ b/interface/src/ui/overlays/LocalModelsOverlay.cpp @@ -37,10 +37,10 @@ void LocalModelsOverlay::render(RenderArgs* args) { auto batch = args ->_batch; Transform transform = Transform(); - transform.setTranslation(args->_viewFrustum->getPosition() + getPosition()); + transform.setTranslation(args->getViewFrustum().getPosition() + getPosition()); batch->setViewTransform(transform); _entityTreeRenderer->render(args); - transform.setTranslation(args->_viewFrustum->getPosition()); + transform.setTranslation(args->getViewFrustum().getPosition()); batch->setViewTransform(transform); } } diff --git a/libraries/entities-renderer/src/RenderableTextEntityItem.cpp b/libraries/entities-renderer/src/RenderableTextEntityItem.cpp index 5cf31c15e0..6773a906fe 100644 --- a/libraries/entities-renderer/src/RenderableTextEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableTextEntityItem.cpp @@ -51,7 +51,7 @@ void RenderableTextEntityItem::render(RenderArgs* args) { } if (getFaceCamera()) { //rotate about vertical to face the camera - glm::vec3 dPosition = args->_viewFrustum->getPosition() - getPosition(); + glm::vec3 dPosition = args->getViewFrustum().getPosition() - getPosition(); // If x and z are 0, atan(x, z) is undefined, so default to 0 degrees float yawRotation = dPosition.x == 0.0f && dPosition.z == 0.0f ? 0.0f : glm::atan(dPosition.x, dPosition.z); glm::quat orientation = glm::quat(glm::vec3(0.0f, yawRotation, 0.0f)); diff --git a/libraries/entities/src/EntityTreeElement.cpp b/libraries/entities/src/EntityTreeElement.cpp index 8270dc7e69..88227416d3 100644 --- a/libraries/entities/src/EntityTreeElement.cpp +++ b/libraries/entities/src/EntityTreeElement.cpp @@ -13,6 +13,7 @@ #include #include +#include #include "EntitiesLogging.h" #include "EntityItemProperties.h" @@ -297,7 +298,7 @@ OctreeElement::AppendState EntityTreeElement::appendElementData(OctreePacketData entityTreeElementExtraEncodeData->entities.contains(entity->getEntityItemID()); } - if (includeThisEntity && params.viewFrustum) { + if (includeThisEntity) { // we want to use the maximum possible box for this, so that we don't have to worry about the nuance of // simulation changing what's visible. consider the case where the entity contains an angular velocity @@ -305,7 +306,7 @@ OctreeElement::AppendState EntityTreeElement::appendElementData(OctreePacketData // frustum culling on rendering. bool success; AACube entityCube = entity->getQueryAACube(success); - if (!success || !params.viewFrustum->cubeIntersectsKeyhole(entityCube)) { + if (!success || !params.viewFrustum.cubeIntersectsKeyhole(entityCube)) { includeThisEntity = false; // out of view, don't include it } else { // Check the size of the entity, it's possible that a "too small to see" entity is included in a @@ -322,9 +323,10 @@ OctreeElement::AppendState EntityTreeElement::appendElementData(OctreePacketData // AABox. If this happens, fall back to the queryAACube. entityBounds = AABox(entityCube); } - auto renderAccuracy = params.viewFrustum->calculateRenderAccuracy(entityBounds, - params.octreeElementSizeScale, - params.boundaryLevelAdjust); + auto renderAccuracy = calculateRenderAccuracy(params.viewFrustum.getPosition(), + entityBounds, + params.octreeElementSizeScale, + params.boundaryLevelAdjust); if (renderAccuracy <= 0.0f) { includeThisEntity = false; // too small, don't include it diff --git a/libraries/octree/src/Octree.cpp b/libraries/octree/src/Octree.cpp index 051e4f8791..39be760944 100644 --- a/libraries/octree/src/Octree.cpp +++ b/libraries/octree/src/Octree.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -40,12 +41,12 @@ #include #include #include -#include +#include #include "OctreeConstants.h" #include "OctreeElementBag.h" #include "Octree.h" -#include "ViewFrustum.h" +#include "OctreeUtils.h" #include "OctreeLogging.h" @@ -898,7 +899,7 @@ int Octree::encodeTreeBitstream(OctreeElementPointer element, } // If we're at a element that is out of view, then we can return, because no nodes below us will be in view! - if (params.viewFrustum && !element->isInView(*params.viewFrustum)) { + if (!params.recurseEverything && !element->isInView(params.viewFrustum)) { params.stopReason = EncodeBitstreamParams::OUT_OF_VIEW; return bytesWritten; } @@ -1014,15 +1015,12 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, } ViewFrustum::intersection nodeLocationThisView = ViewFrustum::INSIDE; // assume we're inside - - // caller can pass NULL as viewFrustum if they want everything - if (params.viewFrustum) { - float distance = element->distanceToCamera(*params.viewFrustum); + if (!params.recurseEverything) { float boundaryDistance = boundaryDistanceForRenderLevel(element->getLevel() + params.boundaryLevelAdjust, params.octreeElementSizeScale); // If we're too far away for our render level, then just return - if (distance >= boundaryDistance) { + if (element->distanceToCamera(params.viewFrustum) >= boundaryDistance) { if (params.stats) { params.stats->skippedDistance(element); } @@ -1034,7 +1032,7 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // if we are INSIDE, INTERSECT, or OUTSIDE if (parentLocationThisView != ViewFrustum::INSIDE) { assert(parentLocationThisView != ViewFrustum::OUTSIDE); // we shouldn't be here if our parent was OUTSIDE! - nodeLocationThisView = element->computeViewIntersection(*params.viewFrustum); + nodeLocationThisView = element->computeViewIntersection(params.viewFrustum); } // If we're at a element that is out of view, then we can return, because no nodes below us will be in view! @@ -1052,8 +1050,8 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // because we don't send nodes from the previously know in view frustum. bool wasInView = false; - if (params.deltaViewFrustum && params.lastViewFrustum) { - ViewFrustum::intersection location = element->computeViewIntersection(*params.lastViewFrustum); + if (params.deltaView) { + ViewFrustum::intersection location = element->computeViewIntersection(params.lastViewFrustum); // If we're a leaf, then either intersect or inside is considered "formerly in view" if (element->isLeaf()) { @@ -1067,10 +1065,9 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // to it, and so therefore it may now be visible from an LOD perspective, in which case we don't consider it // as "was in view"... if (wasInView) { - float distance = element->distanceToCamera(*params.lastViewFrustum); float boundaryDistance = boundaryDistanceForRenderLevel(element->getLevel() + params.boundaryLevelAdjust, params.octreeElementSizeScale); - if (distance >= boundaryDistance) { + if (element->distanceToCamera(params.lastViewFrustum) >= boundaryDistance) { // This would have been invisible... but now should be visible (we wouldn't be here otherwise)... wasInView = false; } @@ -1078,9 +1075,9 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, } // If we were previously in the view, then we normally will return out of here and stop recursing. But - // if we're in deltaViewFrustum mode, and this element has changed since it was last sent, then we do + // if we're in deltaView mode, and this element has changed since it was last sent, then we do // need to send it. - if (wasInView && !(params.deltaViewFrustum && element->hasChangedSince(params.lastViewFrustumSent - CHANGE_FUDGE))) { + if (wasInView && !(params.deltaView && element->hasChangedSince(params.lastViewFrustumSent - CHANGE_FUDGE))) { if (params.stats) { params.stats->skippedWasInView(element); } @@ -1090,7 +1087,7 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // If we're not in delta sending mode, and we weren't asked to do a force send, and the voxel hasn't changed, // then we can also bail early and save bits - if (!params.forceSendScene && !params.deltaViewFrustum && + if (!params.forceSendScene && !params.deltaView && !element->hasChangedSince(params.lastViewFrustumSent - CHANGE_FUDGE)) { if (params.stats) { params.stats->skippedNoChange(element); @@ -1179,10 +1176,10 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, int originalIndex = indexOfChildren[i]; bool childIsInView = (childElement && - ( !params.viewFrustum || // no view frustum was given, everything is assumed in view - (nodeLocationThisView == ViewFrustum::INSIDE) || // parent was fully in view, we can assume ALL children are + (params.recurseEverything || + (nodeLocationThisView == ViewFrustum::INSIDE) || // parent was fully in view, we can assume ALL children are (nodeLocationThisView == ViewFrustum::INTERSECT && - childElement->isInView(*params.viewFrustum)) // the parent intersects and the child is in view + childElement->isInView(params.viewFrustum)) // the parent intersects and the child is in view )); if (!childIsInView) { @@ -1192,12 +1189,11 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, } } else { // Before we consider this further, let's see if it's in our LOD scope... - float distance = distancesToChildren[i]; - float boundaryDistance = !params.viewFrustum ? 1 : - boundaryDistanceForRenderLevel(childElement->getLevel() + params.boundaryLevelAdjust, + float boundaryDistance = params.recurseEverything ? 1 : + boundaryDistanceForRenderLevel(childElement->getLevel() + params.boundaryLevelAdjust, params.octreeElementSizeScale); - if (!(distance < boundaryDistance)) { + if (!(distancesToChildren[i] < boundaryDistance)) { // don't need to check childElement here, because we can't get here with no childElement if (params.stats) { params.stats->skippedDistance(childElement); @@ -1215,10 +1211,9 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, bool childIsOccluded = false; // assume it's not occluded - bool shouldRender = !params.viewFrustum - ? true - : childElement->calculateShouldRender(params.viewFrustum, - params.octreeElementSizeScale, params.boundaryLevelAdjust); + bool shouldRender = params.recurseEverything || + childElement->calculateShouldRender(params.viewFrustum, + params.octreeElementSizeScale, params.boundaryLevelAdjust); // track some stats if (params.stats) { @@ -1236,8 +1231,8 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, if (shouldRender && !childIsOccluded) { bool childWasInView = false; - if (childElement && params.deltaViewFrustum && params.lastViewFrustum) { - ViewFrustum::intersection location = childElement->computeViewIntersection(*params.lastViewFrustum); + if (childElement && params.deltaView) { + ViewFrustum::intersection location = childElement->computeViewIntersection(params.lastViewFrustum); // If we're a leaf, then either intersect or inside is considered "formerly in view" if (childElement->isLeaf()) { @@ -1251,7 +1246,7 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // Or if we were previously in the view, but this element has changed since it was last sent, then we do // need to send it. if (!childWasInView || - (params.deltaViewFrustum && + (params.deltaView && childElement->hasChangedSince(params.lastViewFrustumSent - CHANGE_FUDGE))){ childrenDataBits += (1 << (7 - originalIndex)); @@ -1456,7 +1451,7 @@ int Octree::encodeTreeBitstreamRecursion(OctreeElementPointer element, // called databits), then we wouldn't send the children. So those types of Octree's should tell us to keep // recursing, by returning TRUE in recurseChildrenWithData(). - if (recurseChildrenWithData() || !params.viewFrustum || !oneAtBit(childrenDataBits, originalIndex)) { + if (params.recurseEverything || recurseChildrenWithData() || !oneAtBit(childrenDataBits, originalIndex)) { // Allow the datatype a chance to determine if it really wants to recurse this tree. Usually this // will be true. But if the tree has already been encoded, we will skip this. @@ -1978,7 +1973,8 @@ void Octree::writeToSVOFile(const char* fileName, OctreeElementPointer element) bool lastPacketWritten = false; while (OctreeElementPointer subTree = elementBag.extract()) { - EncodeBitstreamParams params(INT_MAX, IGNORE_VIEW_FRUSTUM, NO_EXISTS_BITS); + EncodeBitstreamParams params(INT_MAX, NO_EXISTS_BITS); + params.recurseEverything = true; withReadLock([&] { params.extraEncodeData = &extraEncodeData; bytesWritten = encodeTreeBitstream(subTree, &packetData, elementBag, params); diff --git a/libraries/octree/src/Octree.h b/libraries/octree/src/Octree.h index 81a721c54e..456b086341 100644 --- a/libraries/octree/src/Octree.h +++ b/libraries/octree/src/Octree.h @@ -20,9 +20,9 @@ #include #include +#include #include "JurisdictionMap.h" -#include "ViewFrustum.h" #include "OctreeElement.h" #include "OctreeElementBag.h" #include "OctreePacketData.h" @@ -61,22 +61,22 @@ const int LOW_RES_MOVING_ADJUST = 1; const quint64 IGNORE_LAST_SENT = 0; #define IGNORE_SCENE_STATS NULL -#define IGNORE_VIEW_FRUSTUM NULL #define IGNORE_COVERAGE_MAP NULL #define IGNORE_JURISDICTION_MAP NULL class EncodeBitstreamParams { public: + ViewFrustum viewFrustum; + ViewFrustum lastViewFrustum; + quint64 lastViewFrustumSent; int maxEncodeLevel; int maxLevelReached; - const ViewFrustum* viewFrustum; bool includeExistsBits; int chopLevels; - bool deltaViewFrustum; - const ViewFrustum* lastViewFrustum; + bool deltaView; + bool recurseEverything { false }; int boundaryLevelAdjust; float octreeElementSizeScale; - quint64 lastViewFrustumSent; bool forceSendScene; OctreeSceneStats* stats; JurisdictionMap* jurisdictionMap; @@ -99,11 +99,9 @@ public: EncodeBitstreamParams( int maxEncodeLevel = INT_MAX, - const ViewFrustum* viewFrustum = IGNORE_VIEW_FRUSTUM, bool includeExistsBits = WANT_EXISTS_BITS, int chopLevels = 0, - bool deltaViewFrustum = false, - const ViewFrustum* lastViewFrustum = IGNORE_VIEW_FRUSTUM, + bool useDeltaView = false, int boundaryLevelAdjust = NO_BOUNDARY_ADJUST, float octreeElementSizeScale = DEFAULT_OCTREE_SIZE_SCALE, quint64 lastViewFrustumSent = IGNORE_LAST_SENT, @@ -111,22 +109,24 @@ public: OctreeSceneStats* stats = IGNORE_SCENE_STATS, JurisdictionMap* jurisdictionMap = IGNORE_JURISDICTION_MAP, OctreeElementExtraEncodeData* extraEncodeData = NULL) : + viewFrustum(), + lastViewFrustum(), + lastViewFrustumSent(lastViewFrustumSent), maxEncodeLevel(maxEncodeLevel), maxLevelReached(0), - viewFrustum(viewFrustum), includeExistsBits(includeExistsBits), chopLevels(chopLevels), - deltaViewFrustum(deltaViewFrustum), - lastViewFrustum(lastViewFrustum), + deltaView(useDeltaView), boundaryLevelAdjust(boundaryLevelAdjust), octreeElementSizeScale(octreeElementSizeScale), - lastViewFrustumSent(lastViewFrustumSent), forceSendScene(forceSendScene), stats(stats), jurisdictionMap(jurisdictionMap), extraEncodeData(extraEncodeData), stopReason(UNKNOWN) - {} + { + lastViewFrustum.invalidate(); + } void displayStopReason() { printf("StopReason: "); @@ -341,7 +341,7 @@ public: bool getIsClient() const { return !_isServer; } /// Is this a client based tree. Allows guards for certain operations void setIsClient(bool isClient) { _isServer = !isClient; } - + virtual void dumpTree() { } virtual void pruneTree() { } @@ -352,7 +352,6 @@ public: virtual quint64 getAverageCreateTime() const { return 0; } virtual quint64 getAverageLoggingTime() const { return 0; } - signals: void importSize(float x, float y, float z); void importProgress(int progress); diff --git a/libraries/octree/src/OctreeElement.cpp b/libraries/octree/src/OctreeElement.cpp index db0948b8b6..48f6e08303 100644 --- a/libraries/octree/src/OctreeElement.cpp +++ b/libraries/octree/src/OctreeElement.cpp @@ -22,10 +22,11 @@ #include "AACube.h" #include "OctalCode.h" +#include "Octree.h" #include "OctreeConstants.h" #include "OctreeElement.h" -#include "Octree.h" #include "OctreeLogging.h" +#include "OctreeUtils.h" #include "SharedUtil.h" AtomicUIntStat OctreeElement::_octreeMemoryUsage { 0 }; @@ -471,11 +472,11 @@ ViewFrustum::intersection OctreeElement::computeViewIntersection(const ViewFrust // Since, if we know the camera position and orientation, we can know which of the corners is the "furthest" // corner. We can use we can use this corner as our "voxel position" to do our distance calculations off of. // By doing this, we don't need to test each child voxel's position vs the LOD boundary -bool OctreeElement::calculateShouldRender(const ViewFrustum* viewFrustum, float voxelScaleSize, int boundaryLevelAdjust) const { +bool OctreeElement::calculateShouldRender(const ViewFrustum& viewFrustum, float voxelScaleSize, int boundaryLevelAdjust) const { bool shouldRender = false; if (hasContent()) { - float furthestDistance = furthestDistanceToCamera(*viewFrustum); + float furthestDistance = furthestDistanceToCamera(viewFrustum); float childBoundary = boundaryDistanceForRenderLevel(getLevel() + 1 + boundaryLevelAdjust, voxelScaleSize); bool inChildBoundary = (furthestDistance <= childBoundary); if (hasDetailedContent() && inChildBoundary) { diff --git a/libraries/octree/src/OctreeElement.h b/libraries/octree/src/OctreeElement.h index 398f1827b7..61211a40d8 100644 --- a/libraries/octree/src/OctreeElement.h +++ b/libraries/octree/src/OctreeElement.h @@ -21,9 +21,9 @@ #include #include +#include #include "AACube.h" -#include "ViewFrustum.h" #include "OctreeConstants.h" using AtomicUIntStat = std::atomic; @@ -139,7 +139,7 @@ public: float distanceToCamera(const ViewFrustum& viewFrustum) const; float furthestDistanceToCamera(const ViewFrustum& viewFrustum) const; - bool calculateShouldRender(const ViewFrustum* viewFrustum, + bool calculateShouldRender(const ViewFrustum& viewFrustum, float voxelSizeScale = DEFAULT_OCTREE_SIZE_SCALE, int boundaryLevelAdjust = 0) const; // points are assumed to be in Voxel Coordinates (not TREE_SCALE'd) diff --git a/libraries/octree/src/OctreeHeadlessViewer.cpp b/libraries/octree/src/OctreeHeadlessViewer.cpp index 33c12b1fe5..4a0a76cd02 100644 --- a/libraries/octree/src/OctreeHeadlessViewer.cpp +++ b/libraries/octree/src/OctreeHeadlessViewer.cpp @@ -14,14 +14,12 @@ #include "OctreeLogging.h" #include "OctreeHeadlessViewer.h" -OctreeHeadlessViewer::OctreeHeadlessViewer() : OctreeRenderer() -{ +OctreeHeadlessViewer::OctreeHeadlessViewer() : OctreeRenderer() { _viewFrustum.setProjection(glm::perspective(glm::radians(DEFAULT_FIELD_OF_VIEW_DEGREES), DEFAULT_ASPECT_RATIO, DEFAULT_NEAR_CLIP, DEFAULT_FAR_CLIP)); } void OctreeHeadlessViewer::init() { OctreeRenderer::init(); - setViewFrustum(&_viewFrustum); } void OctreeHeadlessViewer::queryOctree() { diff --git a/libraries/octree/src/OctreeHeadlessViewer.h b/libraries/octree/src/OctreeHeadlessViewer.h index 780b68b848..b43dceeba6 100644 --- a/libraries/octree/src/OctreeHeadlessViewer.h +++ b/libraries/octree/src/OctreeHeadlessViewer.h @@ -14,6 +14,7 @@ #include #include +#include #include "JurisdictionListener.h" #include "Octree.h" @@ -22,7 +23,6 @@ #include "OctreeRenderer.h" #include "OctreeSceneStats.h" #include "Octree.h" -#include "ViewFrustum.h" // Generic client side Octree renderer class. class OctreeHeadlessViewer : public OctreeRenderer { @@ -66,7 +66,6 @@ public slots: unsigned getOctreeElementsCount() const { return _tree->getOctreeElementsCount(); } private: - ViewFrustum _viewFrustum; JurisdictionListener* _jurisdictionListener = nullptr; OctreeQuery _octreeQuery; diff --git a/libraries/octree/src/OctreeQuery.cpp b/libraries/octree/src/OctreeQuery.cpp index a69d88c693..60e4b5fb3a 100644 --- a/libraries/octree/src/OctreeQuery.cpp +++ b/libraries/octree/src/OctreeQuery.cpp @@ -120,4 +120,3 @@ glm::vec3 OctreeQuery::calculateCameraDirection() const { glm::vec3 direction = glm::vec3(_cameraOrientation * glm::vec4(IDENTITY_FRONT, 0.0f)); return direction; } - diff --git a/libraries/octree/src/OctreeRenderer.cpp b/libraries/octree/src/OctreeRenderer.cpp index bcf7c301c7..c001bdfc35 100644 --- a/libraries/octree/src/OctreeRenderer.cpp +++ b/libraries/octree/src/OctreeRenderer.cpp @@ -23,7 +23,7 @@ OctreeRenderer::OctreeRenderer() : _tree(NULL), _managedTree(false), - _viewFrustum(NULL) + _viewFrustum() { } @@ -201,9 +201,9 @@ void OctreeRenderer::processDatagram(ReceivedMessage& message, SharedNodePointer bool OctreeRenderer::renderOperation(OctreeElementPointer element, void* extraData) { RenderArgs* args = static_cast(extraData); - if (element->isInView(*args->_viewFrustum)) { + if (element->isInView(args->getViewFrustum())) { if (element->hasContent()) { - if (element->calculateShouldRender(args->_viewFrustum, args->_sizeScale, args->_boundaryLevelAdjust)) { + if (element->calculateShouldRender(args->getViewFrustum(), args->_sizeScale, args->_boundaryLevelAdjust)) { args->_renderer->renderElement(element, args); } else { return false; // if we shouldn't render, then we also should stop recursing. diff --git a/libraries/octree/src/OctreeRenderer.h b/libraries/octree/src/OctreeRenderer.h index 2058fa982a..cd4ddc4801 100644 --- a/libraries/octree/src/OctreeRenderer.h +++ b/libraries/octree/src/OctreeRenderer.h @@ -20,10 +20,10 @@ #include #include #include +#include #include "Octree.h" #include "OctreePacketData.h" -#include "ViewFrustum.h" class OctreeRenderer; @@ -51,8 +51,8 @@ public: /// render the content of the octree virtual void render(RenderArgs* renderArgs); - const ViewFrustum* getViewFrustum() const { return _viewFrustum; } - void setViewFrustum(const ViewFrustum* viewFrustum) { _viewFrustum = viewFrustum; } + const ViewFrustum& getViewFrustum() const { return _viewFrustum; } + void setViewFrustum(const ViewFrustum& viewFrustum) { _viewFrustum = viewFrustum; } static bool renderOperation(OctreeElementPointer element, void* extraData); @@ -75,7 +75,7 @@ protected: OctreePointer _tree; bool _managedTree; - const ViewFrustum* _viewFrustum; + ViewFrustum _viewFrustum; SimpleMovingAverage _elementsPerPacket; SimpleMovingAverage _entitiesPerPacket; diff --git a/libraries/octree/src/OctreeUtils.cpp b/libraries/octree/src/OctreeUtils.cpp new file mode 100644 index 0000000000..c55016d8e2 --- /dev/null +++ b/libraries/octree/src/OctreeUtils.cpp @@ -0,0 +1,71 @@ +// +// OctreeUtils.cpp +// libraries/octree/src +// +// Created by Andrew Meadows 2016.03.04 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#include "OctreeUtils.h" + +#include + +#include + +#include + + +float calculateRenderAccuracy(const glm::vec3& position, + const AABox& bounds, + float octreeSizeScale, + int boundaryLevelAdjust) { + float largestDimension = bounds.getLargestDimension(); + + const float maxScale = (float)TREE_SCALE; + float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; + + static std::once_flag once; + static QMap shouldRenderTable; + std::call_once(once, [&] { + float SMALLEST_SCALE_IN_TABLE = 0.001f; // 1mm is plenty small + float scale = maxScale; + float factor = 1.0f; + + while (scale > SMALLEST_SCALE_IN_TABLE) { + scale /= 2.0f; + factor /= 2.0f; + shouldRenderTable[scale] = factor; + } + }); + + float closestScale = maxScale; + float visibleDistanceAtClosestScale = visibleDistanceAtMaxScale; + QMap::const_iterator lowerBound = shouldRenderTable.lowerBound(largestDimension); + if (lowerBound != shouldRenderTable.constEnd()) { + closestScale = lowerBound.key(); + visibleDistanceAtClosestScale = visibleDistanceAtMaxScale * lowerBound.value(); + } + + if (closestScale < largestDimension) { + visibleDistanceAtClosestScale *= 2.0f; + } + + // FIXME - for now, it's either visible or not visible. We want to adjust this to eventually return + // a floating point for objects that have small angular size to indicate that they may be rendered + // with lower preciscion + float distanceToCamera = glm::length(bounds.calcCenter() - position); + return (distanceToCamera <= visibleDistanceAtClosestScale) ? 1.0f : 0.0f; +} + +float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeScale) { + return voxelSizeScale / powf(2.0f, renderLevel); +} + +float getAccuracyAngle(float octreeSizeScale, int boundaryLevelAdjust) { + const float maxScale = (float)TREE_SCALE; + float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; + return atan(maxScale / visibleDistanceAtMaxScale); +} diff --git a/libraries/octree/src/OctreeUtils.h b/libraries/octree/src/OctreeUtils.h new file mode 100644 index 0000000000..279eb51509 --- /dev/null +++ b/libraries/octree/src/OctreeUtils.h @@ -0,0 +1,30 @@ +// +// OctreeUtils.h +// libraries/octree/src +// +// Created by Andrew Meadows 2016.03.04 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#ifndef hifi_OctreeUtils_h +#define hifi_OctreeUtils_h + +#include "OctreeConstants.h" + +class AABox; + +/// renderAccuracy represents a floating point "visibility" of an object based on it's view from the camera. At a simple +/// level it returns 0.0f for things that are so small for the current settings that they could not be visible. +float calculateRenderAccuracy(const glm::vec3& position, + const AABox& bounds, + float octreeSizeScale = DEFAULT_OCTREE_SIZE_SCALE, + int boundaryLevelAdjust = 0); + +float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeScale); + +float getAccuracyAngle(float octreeSizeScale, int boundaryLevelAdjust); + +#endif // hifi_OctreeUtils_h diff --git a/libraries/render-utils/src/AbstractViewStateInterface.h b/libraries/render-utils/src/AbstractViewStateInterface.h index 7c7c263562..c068baf453 100644 --- a/libraries/render-utils/src/AbstractViewStateInterface.h +++ b/libraries/render-utils/src/AbstractViewStateInterface.h @@ -29,13 +29,13 @@ class PickRay; class AbstractViewStateInterface { public: /// gets the current view frustum for rendering the view state - virtual ViewFrustum* getCurrentViewFrustum() = 0; + virtual const ViewFrustum& getCurrentViewFrustum() = 0; /// gets the shadow view frustum for rendering the view state - virtual ViewFrustum* getShadowViewFrustum() = 0; + virtual const ViewFrustum& getShadowViewFrustum() = 0; virtual QThread* getMainThread() = 0; - + virtual PickRay computePickRay(float x, float y) const = 0; virtual glm::vec3 getAvatarPosition() const = 0; diff --git a/libraries/render-utils/src/AmbientOcclusionEffect.cpp b/libraries/render-utils/src/AmbientOcclusionEffect.cpp index aae66f7098..3b0e4c8d18 100644 --- a/libraries/render-utils/src/AmbientOcclusionEffect.cpp +++ b/libraries/render-utils/src/AmbientOcclusionEffect.cpp @@ -284,7 +284,7 @@ void AmbientOcclusionEffect::updateGaussianDistribution() { void AmbientOcclusionEffect::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; @@ -309,7 +309,7 @@ void AmbientOcclusionEffect::run(const render::SceneContextPointer& sceneContext auto resolutionLevel = getResolutionLevel(); // Update the depth info with near and far (same for stereo) - setDepthInfo(args->_viewFrustum->getNearClip(), args->_viewFrustum->getFarClip()); + setDepthInfo(args->getViewFrustum().getNearClip(), args->getViewFrustum().getFarClip()); _frameTransformBuffer.edit().pixelInfo = args->_viewport; //_parametersBuffer.edit()._ditheringInfo.y += 0.25f; @@ -319,7 +319,7 @@ void AmbientOcclusionEffect::run(const render::SceneContextPointer& sceneContext if (!isStereo) { // Eval the mono projection mat4 monoProjMat; - args->_viewFrustum->evalProjectionMatrix(monoProjMat); + args->getViewFrustum().evalProjectionMatrix(monoProjMat); _frameTransformBuffer.edit().projection[0] = monoProjMat; _frameTransformBuffer.edit().stereoInfo = glm::vec4(0.0f, (float)args->_viewport.z, 0.0f, 0.0f); @@ -365,7 +365,7 @@ void AmbientOcclusionEffect::run(const render::SceneContextPointer& sceneContext // Pyramid pass batch.setFramebuffer(pyramidFBO); - batch.clearColorFramebuffer(gpu::Framebuffer::BUFFER_COLOR0, glm::vec4(args->_viewFrustum->getFarClip(), 0.0f, 0.0f, 0.0f)); + batch.clearColorFramebuffer(gpu::Framebuffer::BUFFER_COLOR0, glm::vec4(args->getViewFrustum().getFarClip(), 0.0f, 0.0f, 0.0f)); batch.setPipeline(pyramidPipeline); batch.setResourceTexture(AmbientOcclusionEffect_DepthMapSlot, depthBuffer); batch.draw(gpu::TRIANGLE_STRIP, 4); diff --git a/libraries/render-utils/src/AntialiasingEffect.cpp b/libraries/render-utils/src/AntialiasingEffect.cpp index 1f00d468b0..fc09f8431d 100644 --- a/libraries/render-utils/src/AntialiasingEffect.cpp +++ b/libraries/render-utils/src/AntialiasingEffect.cpp @@ -94,7 +94,7 @@ const gpu::PipelinePointer& Antialiasing::getBlendPipeline() { void Antialiasing::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; @@ -118,8 +118,8 @@ void Antialiasing::run(const render::SceneContextPointer& sceneContext, const re glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); batch.setModelTransform(Transform()); @@ -134,7 +134,7 @@ void Antialiasing::run(const render::SceneContextPointer& sceneContext, const re float left, right, bottom, top, nearVal, farVal; glm::vec4 nearClipPlane, farClipPlane; - args->_viewFrustum->computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane); + args->getViewFrustum().computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane); // float depthScale = (farVal - nearVal) / farVal; // float nearScale = -1.0f / nearVal; diff --git a/libraries/render-utils/src/DebugDeferredBuffer.cpp b/libraries/render-utils/src/DebugDeferredBuffer.cpp index c9ea223b3f..12d3774ffd 100644 --- a/libraries/render-utils/src/DebugDeferredBuffer.cpp +++ b/libraries/render-utils/src/DebugDeferredBuffer.cpp @@ -275,7 +275,7 @@ void DebugDeferredBuffer::configure(const Config& config) { void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { @@ -283,20 +283,20 @@ void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const Ren const auto framebufferCache = DependencyManager::get(); const auto textureCache = DependencyManager::get(); const auto& lightStage = DependencyManager::get()->getLightStage(); - + glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); batch.setModelTransform(Transform()); // TODO REMOVE: Temporary until UI auto first = _customPipelines.begin()->first; - + batch.setPipeline(getPipeline(_mode, first)); - + batch.setResourceTexture(Albedo, framebufferCache->getDeferredColorTexture()); batch.setResourceTexture(Normal, framebufferCache->getDeferredNormalTexture()); batch.setResourceTexture(Specular, framebufferCache->getDeferredSpecularTexture()); diff --git a/libraries/render-utils/src/DeferredLightingEffect.cpp b/libraries/render-utils/src/DeferredLightingEffect.cpp index ac24b09c40..1d9ce65581 100644 --- a/libraries/render-utils/src/DeferredLightingEffect.cpp +++ b/libraries/render-utils/src/DeferredLightingEffect.cpp @@ -218,15 +218,15 @@ void DeferredLightingEffect::render(const render::RenderContextPointer& renderCo float tHeight = args->_viewport.w / (float)framebufferSize.height(); // The view frustum is the mono frustum base - auto viewFrustum = args->_viewFrustum; + auto viewFrustum = args->getViewFrustum(); // Eval the mono projection mat4 monoProjMat; - viewFrustum->evalProjectionMatrix(monoProjMat); + viewFrustum.evalProjectionMatrix(monoProjMat); // The mono view transform Transform monoViewTransform; - viewFrustum->evalViewTransform(monoViewTransform); + viewFrustum.evalViewTransform(monoViewTransform); // THe mono view matrix coming from the mono view transform glm::mat4 monoViewMat; @@ -296,8 +296,8 @@ void DeferredLightingEffect::render(const render::RenderContextPointer& renderCo fetchTexcoordRects[0] = glm::vec4(sMin, tMin, sWidth, tHeight); } - auto eyePoint = viewFrustum->getPosition(); - float nearRadius = glm::distance(eyePoint, viewFrustum->getNearTopLeft()); + auto eyePoint = viewFrustum.getPosition(); + float nearRadius = glm::distance(eyePoint, viewFrustum.getNearTopLeft()); for (int side = 0; side < numPasses; side++) { diff --git a/libraries/render-utils/src/HitEffect.cpp b/libraries/render-utils/src/HitEffect.cpp index 8f1e9259d4..febfd1942e 100644 --- a/libraries/render-utils/src/HitEffect.cpp +++ b/libraries/render-utils/src/HitEffect.cpp @@ -62,19 +62,19 @@ const gpu::PipelinePointer& HitEffect::getHitEffectPipeline() { void HitEffect::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { - + glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); batch.setModelTransform(Transform()); - + batch.setPipeline(getHitEffectPipeline()); glm::vec4 color(0.0f, 0.0f, 0.0f, 1.0f); diff --git a/libraries/render-utils/src/LightStage.cpp b/libraries/render-utils/src/LightStage.cpp index 5e28bea4a6..fc6c3ff514 100644 --- a/libraries/render-utils/src/LightStage.cpp +++ b/libraries/render-utils/src/LightStage.cpp @@ -20,7 +20,7 @@ LightStage::Shadow::Shadow(model::LightPointer light) : _light{ light}, _frustum _schemaBuffer = std::make_shared(sizeof(Schema), (const gpu::Byte*) &schema); } -void LightStage::Shadow::setKeylightFrustum(const ViewFrustum* viewFrustum, float nearDepth, float farDepth) { +void LightStage::Shadow::setKeylightFrustum(const ViewFrustum& viewFrustum, float nearDepth, float farDepth) { assert(nearDepth < farDepth); // Orient the keylight frustum @@ -38,13 +38,13 @@ void LightStage::Shadow::setKeylightFrustum(const ViewFrustum* viewFrustum, floa _frustum->setOrientation(orientation); // Position the keylight frustum - _frustum->setPosition(viewFrustum->getPosition() - (nearDepth + farDepth)*direction); + _frustum->setPosition(viewFrustum.getPosition() - (nearDepth + farDepth)*direction); const Transform view{ _frustum->getView()}; const Transform viewInverse{ view.getInverseMatrix() }; - auto nearCorners = viewFrustum->getCorners(nearDepth); - auto farCorners = viewFrustum->getCorners(farDepth); + auto nearCorners = viewFrustum.getCorners(nearDepth); + auto farCorners = viewFrustum.getCorners(farDepth); vec3 min{ viewInverse.transform(nearCorners.bottomLeft) }; vec3 max{ min }; diff --git a/libraries/render-utils/src/LightStage.h b/libraries/render-utils/src/LightStage.h index 14af861e35..9ed9789965 100644 --- a/libraries/render-utils/src/LightStage.h +++ b/libraries/render-utils/src/LightStage.h @@ -28,7 +28,7 @@ public: Shadow(model::LightPointer light); - void setKeylightFrustum(const ViewFrustum* viewFrustum, float nearDepth, float farDepth); + void setKeylightFrustum(const ViewFrustum& viewFrustum, float nearDepth, float farDepth); const std::shared_ptr getFrustum() const { return _frustum; } diff --git a/libraries/render-utils/src/RenderDeferredTask.cpp b/libraries/render-utils/src/RenderDeferredTask.cpp index 81da0e320a..000446d9df 100755 --- a/libraries/render-utils/src/RenderDeferredTask.cpp +++ b/libraries/render-utils/src/RenderDeferredTask.cpp @@ -163,7 +163,7 @@ void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const Rend // Is it possible that we render without a viewFrustum ? - if (!(renderContext->args && renderContext->args->_viewFrustum)) { + if (!(renderContext->args && renderContext->args->hasViewFrustum())) { return; } @@ -174,7 +174,7 @@ void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const Rend void DrawDeferred::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemBounds& inItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); auto config = std::static_pointer_cast(renderContext->jobConfig); @@ -187,8 +187,8 @@ void DrawDeferred::run(const SceneContextPointer& sceneContext, const RenderCont glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); @@ -240,7 +240,7 @@ DrawOverlay3D::DrawOverlay3D(bool opaque) : void DrawOverlay3D::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const render::ItemBounds& inItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); auto config = std::static_pointer_cast(renderContext->jobConfig); @@ -268,8 +268,8 @@ void DrawOverlay3D::run(const SceneContextPointer& sceneContext, const RenderCon glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); @@ -290,7 +290,7 @@ const gpu::PipelinePointer& DrawStencilDeferred::getOpaquePipeline() { void DrawStencilDeferred::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); // from the touched pixel generate the stencil buffer RenderArgs* args = renderContext->args; @@ -316,7 +316,7 @@ void DrawStencilDeferred::run(const SceneContextPointer& sceneContext, const Ren void DrawBackgroundDeferred::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemBounds& inItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; doInBatch(args->_context, [&](gpu::Batch& batch) { @@ -334,8 +334,8 @@ void DrawBackgroundDeferred::run(const SceneContextPointer& sceneContext, const glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); diff --git a/libraries/render-utils/src/RenderShadowTask.cpp b/libraries/render-utils/src/RenderShadowTask.cpp index e2e543cc3e..f695e2d04c 100644 --- a/libraries/render-utils/src/RenderShadowTask.cpp +++ b/libraries/render-utils/src/RenderShadowTask.cpp @@ -34,7 +34,7 @@ using namespace render; void RenderShadowMap::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext, const render::ShapeBounds& inShapes) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); const auto& lightStage = DependencyManager::get()->getLightStage(); const auto globalLight = lightStage.lights[0]; @@ -146,16 +146,15 @@ void RenderShadowTask::run(const SceneContextPointer& sceneContext, const render } // Cache old render args - const ViewFrustum* viewFrustum = args->_viewFrustum; RenderArgs::RenderMode mode = args->_renderMode; - auto nearClip = viewFrustum->getNearClip(); + auto nearClip = args->getViewFrustum().getNearClip(); float nearDepth = -args->_boomOffset.z; const int SHADOW_FAR_DEPTH = 20; - globalLight->shadow.setKeylightFrustum(viewFrustum, nearDepth, nearClip + SHADOW_FAR_DEPTH); + globalLight->shadow.setKeylightFrustum(args->getViewFrustum(), nearDepth, nearClip + SHADOW_FAR_DEPTH); // Set the keylight render args - args->_viewFrustum = globalLight->shadow.getFrustum().get(); + args->pushViewFrustum(*(globalLight->shadow.getFrustum())); args->_renderMode = RenderArgs::SHADOW_RENDER_MODE; // TODO: Allow runtime manipulation of culling ShouldRenderFunctor @@ -165,6 +164,6 @@ void RenderShadowTask::run(const SceneContextPointer& sceneContext, const render } // Reset the render args - args->_viewFrustum = viewFrustum; + args->popViewFrustum(); args->_renderMode = mode; }; diff --git a/libraries/render/src/render/CullTask.cpp b/libraries/render/src/render/CullTask.cpp index 33096f9b5f..e27895352f 100644 --- a/libraries/render/src/render/CullTask.cpp +++ b/libraries/render/src/render/CullTask.cpp @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -23,10 +24,10 @@ using namespace render; void render::cullItems(const RenderContextPointer& renderContext, const CullFunctor& cullFunctor, RenderDetails::Item& details, const ItemBounds& inItems, ItemBounds& outItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; - const ViewFrustum* frustum = args->_viewFrustum; + const ViewFrustum& frustum = args->getViewFrustum(); details._considered += (int)inItems.size(); @@ -42,7 +43,7 @@ void render::cullItems(const RenderContextPointer& renderContext, const CullFunc bool inView; { PerformanceTimer perfTimer("boxIntersectsFrustum"); - inView = frustum->boxIntersectsFrustum(item.bound); + inView = frustum.boxIntersectsFrustum(item.bound); } if (inView) { bool bigEnoughToRender; @@ -64,7 +65,7 @@ void render::cullItems(const RenderContextPointer& renderContext, const CullFunc void FetchNonspatialItems::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, ItemBounds& outItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); auto& scene = sceneContext->_scene; outItems.clear(); @@ -85,7 +86,7 @@ void FetchSpatialTree::configure(const Config& config) { void FetchSpatialTree::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, ItemSpatialTree::ItemSelection& outSelection) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; auto& scene = sceneContext->_scene; @@ -93,22 +94,18 @@ void FetchSpatialTree::run(const SceneContextPointer& sceneContext, const Render outSelection.clear(); // Eventually use a frozen frustum - auto queryFrustum = *args->_viewFrustum; + auto queryFrustum = args->getViewFrustum(); if (_freezeFrustum) { if (_justFrozeFrustum) { _justFrozeFrustum = false; - _frozenFrutstum = *args->_viewFrustum; + _frozenFrutstum = args->getViewFrustum(); } queryFrustum = _frozenFrutstum; } // Octree selection! - - float angle = glm::degrees(queryFrustum.getAccuracyAngle(args->_sizeScale, args->_boundaryLevelAdjust)); - - + float angle = glm::degrees(getAccuracyAngle(args->_sizeScale, args->_boundaryLevelAdjust)); scene->getSpatialTree().selectCellItems(outSelection, _filter, queryFrustum, angle); - } void CullSpatialSelection::configure(const Config& config) { @@ -120,7 +117,7 @@ void CullSpatialSelection::configure(const Config& config) { void CullSpatialSelection::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemSpatialTree::ItemSelection& inSelection, ItemBounds& outItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; auto& scene = sceneContext->_scene; @@ -128,13 +125,12 @@ void CullSpatialSelection::run(const SceneContextPointer& sceneContext, const Re details._considered += (int)inSelection.numItems(); // Eventually use a frozen frustum - auto argFrustum = args->_viewFrustum; if (_freezeFrustum) { if (_justFrozeFrustum) { _justFrozeFrustum = false; - _frozenFrutstum = *args->_viewFrustum; + _frozenFrutstum = args->getViewFrustum(); } - args->_viewFrustum = &_frozenFrutstum; // replace the true view frustum by the frozen one + args->pushViewFrustum(_frozenFrutstum); // replace the true view frustum by the frozen one } // Culling Frustum / solidAngle test helper class @@ -151,8 +147,8 @@ void CullSpatialSelection::run(const SceneContextPointer& sceneContext, const Re _renderDetails(renderDetails) { // FIXME: Keep this code here even though we don't use it yet - /*_eyePos = _args->_viewFrustum->getPosition(); - float a = glm::degrees(_args->_viewFrustum->getAccuracyAngle(_args->_sizeScale, _args->_boundaryLevelAdjust)); + /*_eyePos = _args->getViewFrustum().getPosition(); + float a = glm::degrees(Octree::getAccuracyAngle(_args->_sizeScale, _args->_boundaryLevelAdjust)); auto angle = std::min(glm::radians(45.0f), a); // no worse than 45 degrees angle = std::max(glm::radians(1.0f / 60.0f), a); // no better than 1 minute of degree auto tanAlpha = tan(angle); @@ -161,7 +157,7 @@ void CullSpatialSelection::run(const SceneContextPointer& sceneContext, const Re } bool frustumTest(const AABox& bound) { - if (!_args->_viewFrustum->boxIntersectsFrustum(bound)) { + if (!_args->getViewFrustum().boxIntersectsFrustum(bound)) { _renderDetails._outOfView++; return false; } @@ -305,7 +301,7 @@ void CullSpatialSelection::run(const SceneContextPointer& sceneContext, const Re // Restore frustum if using the frozen one: if (_freezeFrustum) { - args->_viewFrustum = argFrustum; + args->popViewFrustum(); } std::static_pointer_cast(renderContext->jobConfig)->numItems = (int)outItems.size(); diff --git a/libraries/render/src/render/DrawSceneOctree.cpp b/libraries/render/src/render/DrawSceneOctree.cpp index 9b22649a8d..efcb4eea37 100644 --- a/libraries/render/src/render/DrawSceneOctree.cpp +++ b/libraries/render/src/render/DrawSceneOctree.cpp @@ -14,6 +14,7 @@ #include #include +#include #include #include @@ -86,7 +87,7 @@ void DrawSceneOctree::configure(const Config& config) { void DrawSceneOctree::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemSpatialTree::ItemSelection& inSelection) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; auto& scene = sceneContext->_scene; @@ -97,8 +98,8 @@ void DrawSceneOctree::run(const SceneContextPointer& sceneContext, gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setViewportTransform(args->_viewport); batch.setProjectionTransform(projMat); @@ -148,7 +149,7 @@ void DrawSceneOctree::run(const SceneContextPointer& sceneContext, } // Draw the LOD Reticle { - float angle = glm::degrees(args->_viewFrustum->getAccuracyAngle(args->_sizeScale, args->_boundaryLevelAdjust)); + float angle = glm::degrees(getAccuracyAngle(args->_sizeScale, args->_boundaryLevelAdjust)); Transform crosshairModel; crosshairModel.setTranslation(glm::vec3(0.0, 0.0, -1000.0)); crosshairModel.setScale(1000.0 * tan(glm::radians(angle))); // Scaling at the actual tan of the lod angle => Multiplied by TWO @@ -198,15 +199,15 @@ void DrawItemSelection::configure(const Config& config) { void DrawItemSelection::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemSpatialTree::ItemSelection& inSelection) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; auto& scene = sceneContext->_scene; gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setViewportTransform(args->_viewport); batch.setProjectionTransform(projMat); diff --git a/libraries/render/src/render/DrawStatus.cpp b/libraries/render/src/render/DrawStatus.cpp index 584f41499a..c2724fce42 100644 --- a/libraries/render/src/render/DrawStatus.cpp +++ b/libraries/render/src/render/DrawStatus.cpp @@ -107,7 +107,7 @@ void DrawStatus::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemBounds& inItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; auto& scene = sceneContext->_scene; const int NUM_STATUS_VEC4_PER_ITEM = 2; @@ -183,8 +183,8 @@ void DrawStatus::run(const SceneContextPointer& sceneContext, gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setViewportTransform(args->_viewport); batch.setProjectionTransform(projMat); diff --git a/libraries/render/src/render/DrawTask.cpp b/libraries/render/src/render/DrawTask.cpp index 6d43d169c3..e3cfc9fa63 100755 --- a/libraries/render/src/render/DrawTask.cpp +++ b/libraries/render/src/render/DrawTask.cpp @@ -120,7 +120,7 @@ void render::renderStateSortShapes(const SceneContextPointer& sceneContext, cons void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemBounds& inLights) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); RenderArgs* args = renderContext->args; // render lights diff --git a/libraries/octree/src/Plane.cpp b/libraries/shared/src/Plane.cpp similarity index 93% rename from libraries/octree/src/Plane.cpp rename to libraries/shared/src/Plane.cpp index 8e782dd087..bd7937471c 100644 --- a/libraries/octree/src/Plane.cpp +++ b/libraries/shared/src/Plane.cpp @@ -1,6 +1,6 @@ // // Plane.cpp -// libraries/octree/src/ +// libraries/shared/src/ // // Created by Brad Hefta-Gaub on 04/11/13. // Copyright 2013 High Fidelity, Inc. @@ -13,12 +13,12 @@ // #include "Plane.h" -#include "OctreeLogging.h" - - -#include #include +#include + +#include "SharedLogging.h" + void Plane::set3Points(const glm::vec3 &v1, const glm::vec3 &v2, const glm::vec3 &v3) { glm::vec3 linev1v2, linev1v3; @@ -65,7 +65,7 @@ float Plane::distance(const glm::vec3 &point) const { } void Plane::print() const { - qCDebug(octree, "Plane - point (x=%f y=%f z=%f) normal (x=%f y=%f z=%f) d=%f", + qCDebug(shared, "Plane - point (x=%f y=%f z=%f) normal (x=%f y=%f z=%f) d=%f", (double)_point.x, (double)_point.y, (double)_point.z, (double)_normal.x, (double)_normal.y, (double)_normal.z, (double)_dCoefficient); } diff --git a/libraries/octree/src/Plane.h b/libraries/shared/src/Plane.h similarity index 83% rename from libraries/octree/src/Plane.h rename to libraries/shared/src/Plane.h index db809ad542..c903ad9db7 100644 --- a/libraries/octree/src/Plane.h +++ b/libraries/shared/src/Plane.h @@ -1,6 +1,6 @@ // // Plane.h -// libraries/octree/src/ +// libraries/shared/src/ // // Created by Brad Hefta-Gaub on 04/11/13. // Copyright 2013 High Fidelity, Inc. @@ -20,7 +20,7 @@ class Plane { public: Plane(const glm::vec3 &v1, const glm::vec3 &v2, const glm::vec3 &v3) { set3Points(v1,v2,v3); } - Plane() : _normal(0,0,0), _point(0,0,0), _dCoefficient(0) {}; + Plane() : _normal(0.0f), _point(0.0f), _dCoefficient(0.0f) {}; ~Plane() {} ; // methods for defining the plane @@ -28,12 +28,13 @@ public: void setNormalAndPoint(const glm::vec3 &normal, const glm::vec3 &point); void setCoefficients(float a, float b, float c, float d); - // getters + // getters const glm::vec3& getNormal() const { return _normal; }; const glm::vec3& getPoint() const { return _point; }; float getDCoefficient() const { return _dCoefficient; }; // utilities + void invalidate() { _normal = glm::vec3(0.0f), _dCoefficient = 1.0e6f; } // distance() never less than 10^6 float distance(const glm::vec3 &point) const; void print() const; @@ -44,4 +45,4 @@ private: }; -#endif // hifi_Plane_h \ No newline at end of file +#endif // hifi_Plane_h diff --git a/libraries/shared/src/RenderArgs.h b/libraries/shared/src/RenderArgs.h index a08b15886a..8c66a6a19b 100644 --- a/libraries/shared/src/RenderArgs.h +++ b/libraries/shared/src/RenderArgs.h @@ -14,12 +14,15 @@ #include #include -#include "GLMHelpers.h" +#include + +#include +#include + class AABox; class OctreeRenderer; -class ViewFrustum; namespace gpu { class Batch; @@ -39,21 +42,21 @@ public: SHADOW, OTHER }; - + struct Item { int _considered = 0; int _outOfView = 0; int _tooSmall = 0; int _rendered = 0; }; - + int _materialSwitches = 0; int _trianglesRendered = 0; - + Item _item; Item _shadow; Item _other; - + Item& edit(Type type) { switch (type) { case SHADOW: @@ -77,7 +80,6 @@ public: RenderArgs(std::shared_ptr context = nullptr, OctreeRenderer* renderer = nullptr, - const ViewFrustum* viewFrustum = nullptr, float sizeScale = 1.0f, int boundaryLevelAdjust = 0, RenderMode renderMode = DEFAULT_RENDER_MODE, @@ -86,7 +88,7 @@ public: gpu::Batch* batch = nullptr) : _context(context), _renderer(renderer), - _viewFrustum(viewFrustum), + _viewFrustums(), _sizeScale(sizeScale), _boundaryLevelAdjust(boundaryLevelAdjust), _renderMode(renderMode), @@ -95,11 +97,22 @@ public: _batch(batch) { } + bool hasViewFrustum() const { return _viewFrustums.size() > 0; } + void setViewFrustum(const ViewFrustum& viewFrustum) { + while (_viewFrustums.size() > 0) { + _viewFrustums.pop(); + } + _viewFrustums.push(viewFrustum); + } + const ViewFrustum& getViewFrustum() const { assert(_viewFrustums.size() > 0); return _viewFrustums.top(); } + void pushViewFrustum(const ViewFrustum& viewFrustum) { _viewFrustums.push(viewFrustum); } + void popViewFrustum() { _viewFrustums.pop(); } + std::shared_ptr _context = nullptr; std::shared_ptr _blitFramebuffer = nullptr; std::shared_ptr _pipeline = nullptr; OctreeRenderer* _renderer = nullptr; - const ViewFrustum* _viewFrustum = nullptr; + std::stack _viewFrustums; glm::ivec4 _viewport{ 0.0f, 0.0f, 1.0f, 1.0f }; glm::vec3 _boomOffset{ 0.0f, 0.0f, 1.0f }; float _sizeScale = 1.0f; @@ -108,7 +121,7 @@ public: RenderSide _renderSide = MONO; DebugFlags _debugFlags = RENDER_DEBUG_NONE; gpu::Batch* _batch = nullptr; - + std::shared_ptr _whiteTexture; RenderDetails _details; diff --git a/libraries/octree/src/ViewFrustum.cpp b/libraries/shared/src/ViewFrustum.cpp similarity index 75% rename from libraries/octree/src/ViewFrustum.cpp rename to libraries/shared/src/ViewFrustum.cpp index 7e71155df3..3e52a9f2c8 100644 --- a/libraries/octree/src/ViewFrustum.cpp +++ b/libraries/shared/src/ViewFrustum.cpp @@ -1,6 +1,6 @@ // // ViewFrustum.cpp -// libraries/octree/src +// libraries/shared/src // // Created by Brad Hefta-Gaub on 04/11/13. // Copyright 2013 High Fidelity, Inc. @@ -17,13 +17,13 @@ #include #include -#include #include "GeometryUtil.h" #include "GLMHelpers.h" +#include "NumericalConstants.h" +#include "SharedLogging.h" +//#include "OctreeConstants.h" #include "ViewFrustum.h" -#include "OctreeLogging.h" -#include "OctreeConstants.h" using namespace std; @@ -41,15 +41,15 @@ void ViewFrustum::setPosition(const glm::vec3& position) { } // Order cooresponds to the order defined in the BoxVertex enum. -static const glm::vec4 NDC_VALUES[8] = { - glm::vec4(-1, -1, -1, 1), - glm::vec4(1, -1, -1, 1), - glm::vec4(1, 1, -1, 1), - glm::vec4(-1, 1, -1, 1), - glm::vec4(-1, -1, 1, 1), - glm::vec4(1, -1, 1, 1), - glm::vec4(1, 1, 1, 1), - glm::vec4(-1, 1, 1, 1), +static const glm::vec4 NDC_VALUES[NUM_FRUSTUM_CORNERS] = { + glm::vec4(-1.0f, -1.0f, -1.0f, 1.0f), + glm::vec4(1.0f, -1.0f, -1.0f, 1.0f), + glm::vec4(1.0f, 1.0f, -1.0f, 1.0f), + glm::vec4(-1.0f, 1.0f, -1.0f, 1.0f), + glm::vec4(-1.0f, -1.0f, 1.0f, 1.0f), + glm::vec4(1.0f, -1.0f, 1.0f, 1.0f), + glm::vec4(1.0f, 1.0f, 1.0f, 1.0f), + glm::vec4(-1.0f, 1.0f, 1.0f, 1.0f), }; void ViewFrustum::setProjection(const glm::mat4& projection) { @@ -57,7 +57,7 @@ void ViewFrustum::setProjection(const glm::mat4& projection) { _inverseProjection = glm::inverse(projection); // compute our dimensions the usual way - for (int i = 0; i < 8; ++i) { + for (int i = 0; i < NUM_FRUSTUM_CORNERS; ++i) { _corners[i] = _inverseProjection * NDC_VALUES[i]; _corners[i] /= _corners[i].w; } @@ -66,9 +66,9 @@ void ViewFrustum::setProjection(const glm::mat4& projection) { _aspectRatio = (_corners[TOP_RIGHT_NEAR].x - _corners[BOTTOM_LEFT_NEAR].x) / (_corners[TOP_RIGHT_NEAR].y - _corners[BOTTOM_LEFT_NEAR].y); - glm::vec4 top = _inverseProjection * vec4(0, 1, -1, 1); + glm::vec4 top = _inverseProjection * vec4(0.0f, 1.0f, -1.0f, 1.0f); top /= top.w; - _fieldOfView = abs(glm::degrees(2.0f * abs(glm::angle(vec3(0, 0, -1), glm::normalize(vec3(top)))))); + _fieldOfView = abs(glm::degrees(2.0f * abs(glm::angle(vec3(0.0f, 0.0f, -1.0f), glm::normalize(vec3(top)))))); } // ViewFrustum::calculateViewFrustum() @@ -84,7 +84,7 @@ void ViewFrustum::calculate() { // then transform them to world space glm::mat4 worldMatrix = glm::translate(_position) * glm::mat4(glm::mat3(_right, _up, -_direction)); glm::vec4 v; - for (int i = 0; i < 8; ++i) { + for (int i = 0; i < NUM_FRUSTUM_CORNERS; ++i) { v = worldMatrix * _corners[i]; v /= v.w; _cornersWorld[i] = glm::vec3(v); @@ -133,7 +133,7 @@ const char* ViewFrustum::debugPlaneName (int plane) const { ViewFrustum::intersection ViewFrustum::calculateCubeFrustumIntersection(const AACube& cube) const { // only check against frustum ViewFrustum::intersection result = INSIDE; - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { const glm::vec3& normal = _planes[i].getNormal(); // check distance to farthest cube point if ( _planes[i].distance(cube.getFarthestVertex(normal)) < 0.0f) { @@ -178,7 +178,7 @@ ViewFrustum::intersection ViewFrustum::calculateCubeKeyholeIntersection(const AA bool ViewFrustum::pointIntersectsFrustum(const glm::vec3& point) const { // only check against frustum - for(int i = 0; i < 6; ++i) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; ++i) { float distance = _planes[i].distance(point); if (distance < 0.0f) { return false; @@ -189,7 +189,7 @@ bool ViewFrustum::pointIntersectsFrustum(const glm::vec3& point) const { bool ViewFrustum::sphereIntersectsFrustum(const glm::vec3& center, float radius) const { // only check against frustum - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { float distance = _planes[i].distance(center); if (distance < -radius) { // This is outside the regular frustum, so just return the value from checking the keyhole @@ -201,7 +201,7 @@ bool ViewFrustum::sphereIntersectsFrustum(const glm::vec3& center, float radius) bool ViewFrustum::boxIntersectsFrustum(const AABox& box) const { // only check against frustum - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { const glm::vec3& normal = _planes[i].getNormal(); // check distance to farthest box point if ( _planes[i].distance(box.getFarthestVertex(normal)) < 0.0f) { @@ -217,7 +217,7 @@ bool ViewFrustum::sphereIntersectsKeyhole(const glm::vec3& center, float radius) return true; } // check negative touches against frustum planes - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { if ( _planes[i].distance(center) < -radius) { return false; } @@ -231,7 +231,7 @@ bool ViewFrustum::cubeIntersectsKeyhole(const AACube& cube) const { return true; } // check negative touches against frustum planes - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { const glm::vec3& normal = _planes[i].getNormal(); if ( _planes[i].distance(cube.getFarthestVertex(normal)) < 0.0f) { return false; @@ -246,7 +246,7 @@ bool ViewFrustum::boxIntersectsKeyhole(const AABox& box) const { return true; } // check negative touches against frustum planes - for(int i=0; i < 6; i++) { + for(int i = 0; i < NUM_FRUSTUM_PLANES; i++) { const glm::vec3& normal = _planes[i].getNormal(); if ( _planes[i].distance(box.getFarthestVertex(normal)) < 0.0f) { return false; @@ -293,34 +293,34 @@ bool ViewFrustum::isVerySimilar(const ViewFrustum& compareTo, bool debug) const if (!result && debug) { - qCDebug(octree, "ViewFrustum::isVerySimilar()... result=%s\n", debug::valueOf(result)); - qCDebug(octree, "%s -- compareTo._position=%f,%f,%f _position=%f,%f,%f", + qCDebug(shared, "ViewFrustum::isVerySimilar()... result=%s\n", debug::valueOf(result)); + qCDebug(shared, "%s -- compareTo._position=%f,%f,%f _position=%f,%f,%f", (testMatches(compareTo._position,_position, POSITION_SIMILAR_ENOUGH) ? "IS SIMILAR ENOUGH " : "IS NOT SIMILAR ENOUGH"), (double)compareTo._position.x, (double)compareTo._position.y, (double)compareTo._position.z, (double)_position.x, (double)_position.y, (double)_position.z ); - qCDebug(octree, "%s -- positionDistance=%f", + qCDebug(shared, "%s -- positionDistance=%f", (testMatches(0,positionDistance, POSITION_SIMILAR_ENOUGH) ? "IS SIMILAR ENOUGH " : "IS NOT SIMILAR ENOUGH"), (double)positionDistance); - qCDebug(octree, "%s -- angleOrientation=%f", + qCDebug(shared, "%s -- angleOrientation=%f", (testMatches(0, angleOrientation, ORIENTATION_SIMILAR_ENOUGH) ? "IS SIMILAR ENOUGH " : "IS NOT SIMILAR ENOUGH"), (double)angleOrientation); - qCDebug(octree, "%s -- compareTo._fieldOfView=%f _fieldOfView=%f", + qCDebug(shared, "%s -- compareTo._fieldOfView=%f _fieldOfView=%f", (testMatches(compareTo._fieldOfView, _fieldOfView) ? "MATCHES " : "NO MATCH"), (double)compareTo._fieldOfView, (double)_fieldOfView); - qCDebug(octree, "%s -- compareTo._aspectRatio=%f _aspectRatio=%f", + qCDebug(shared, "%s -- compareTo._aspectRatio=%f _aspectRatio=%f", (testMatches(compareTo._aspectRatio, _aspectRatio) ? "MATCHES " : "NO MATCH"), (double)compareTo._aspectRatio, (double)_aspectRatio); - qCDebug(octree, "%s -- compareTo._nearClip=%f _nearClip=%f", + qCDebug(shared, "%s -- compareTo._nearClip=%f _nearClip=%f", (testMatches(compareTo._nearClip, _nearClip) ? "MATCHES " : "NO MATCH"), (double)compareTo._nearClip, (double)_nearClip); - qCDebug(octree, "%s -- compareTo._farClip=%f _farClip=%f", + qCDebug(shared, "%s -- compareTo._farClip=%f _farClip=%f", (testMatches(compareTo._farClip, _farClip) ? "MATCHES " : "NO MATCH"), (double)compareTo._farClip, (double)_farClip); - qCDebug(octree, "%s -- compareTo._focalLength=%f _focalLength=%f", + qCDebug(shared, "%s -- compareTo._focalLength=%f _focalLength=%f", (testMatches(compareTo._focalLength, _focalLength) ? "MATCHES " : "NO MATCH"), (double)compareTo._focalLength, (double)_focalLength); } @@ -345,7 +345,7 @@ void ViewFrustum::computeOffAxisFrustum(float& left, float& right, float& bottom // find the minimum and maximum z values, which will be our near and far clip distances nearValue = FLT_MAX; farValue = -FLT_MAX; - for (int i = 0; i < 8; i++) { + for (int i = 0; i < NUM_FRUSTUM_CORNERS; i++) { nearValue = min(nearValue, -_corners[i].z); farValue = max(farValue, -_corners[i].z); } @@ -378,94 +378,19 @@ void ViewFrustum::computeOffAxisFrustum(float& left, float& right, float& bottom } void ViewFrustum::printDebugDetails() const { - qCDebug(octree, "ViewFrustum::printDebugDetails()..."); - qCDebug(octree, "_position=%f,%f,%f", (double)_position.x, (double)_position.y, (double)_position.z ); - qCDebug(octree, "_direction=%f,%f,%f", (double)_direction.x, (double)_direction.y, (double)_direction.z ); - qCDebug(octree, "_up=%f,%f,%f", (double)_up.x, (double)_up.y, (double)_up.z ); - qCDebug(octree, "_right=%f,%f,%f", (double)_right.x, (double)_right.y, (double)_right.z ); - qCDebug(octree, "_fieldOfView=%f", (double)_fieldOfView); - qCDebug(octree, "_aspectRatio=%f", (double)_aspectRatio); - qCDebug(octree, "_centerSphereRadius=%f", (double)_centerSphereRadius); - qCDebug(octree, "_nearClip=%f", (double)_nearClip); - qCDebug(octree, "_farClip=%f", (double)_farClip); - qCDebug(octree, "_focalLength=%f", (double)_focalLength); + qCDebug(shared, "ViewFrustum::printDebugDetails()..."); + qCDebug(shared, "_position=%f,%f,%f", (double)_position.x, (double)_position.y, (double)_position.z ); + qCDebug(shared, "_direction=%f,%f,%f", (double)_direction.x, (double)_direction.y, (double)_direction.z ); + qCDebug(shared, "_up=%f,%f,%f", (double)_up.x, (double)_up.y, (double)_up.z ); + qCDebug(shared, "_right=%f,%f,%f", (double)_right.x, (double)_right.y, (double)_right.z ); + qCDebug(shared, "_fieldOfView=%f", (double)_fieldOfView); + qCDebug(shared, "_aspectRatio=%f", (double)_aspectRatio); + qCDebug(shared, "_centerSphereRadius=%f", (double)_centerSphereRadius); + qCDebug(shared, "_nearClip=%f", (double)_nearClip); + qCDebug(shared, "_farClip=%f", (double)_farClip); + qCDebug(shared, "_focalLength=%f", (double)_focalLength); } -const int MAX_POSSIBLE_COMBINATIONS = 43; - -const int hullVertexLookup[MAX_POSSIBLE_COMBINATIONS][MAX_PROJECTED_POLYGON_VERTEX_COUNT+1] = { - // Number of vertices in shadow polygon for the visible faces, then a list of the index of each vertice from the AACube - -//0 - {0}, // inside - {4, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR}, // right - {4, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR }, // left - {0}, // n/a - -//4 - {4, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR}, // bottom -//5 - {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR },//bottom, right - {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, },//bottom, left - {0}, // n/a -//8 - {4, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // top - {6, TOP_RIGHT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // top, right - {6, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR}, // top, left - {0}, // n/a - {0}, // n/a - {0}, // n/a - {0}, // n/a - {0}, // n/a -//16 - {4, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front or near - - {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front, right - {6, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, }, // front, left - {0}, // n/a -//20 - {6, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front,bottom - -//21 - {6, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, //front,bottom,right -//22 - {6, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR }, //front,bottom,left - {0}, // n/a - - {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // front, top - - {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR }, // front, top, right - - {6, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR }, // front, top, left - {0}, // n/a - {0}, // n/a - {0}, // n/a - {0}, // n/a - {0}, // n/a -//32 - {4, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR }, // back - {6, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR}, // back, right -//34 - {6, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, TOP_RIGHT_FAR }, // back, left - - - {0}, // n/a -//36 - {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR}, // back, bottom - {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR},//back, bottom, right - -// 38 - {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR },//back, bottom, left - {0}, // n/a - -// 40 - {6, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR}, // back, top - - {6, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR, TOP_RIGHT_NEAR}, // back, top, right -//42 - {6, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR}, // back, top, left -}; - // Similar strategy to getProjectedPolygon() we use the knowledge of camera position relative to the // axis-aligned voxels to determine which of the voxels vertices must be the furthest. No need for // squares and square-roots. Just compares. @@ -528,11 +453,19 @@ void ViewFrustum::evalViewTransform(Transform& view) const { view.setRotation(getOrientation()); } -float ViewFrustum::calculateRenderAccuracy(const AABox& bounds, float octreeSizeScale, int boundaryLevelAdjust) const { +void ViewFrustum::invalidate() { + // these setting should make nearly all intersection tests fail + for (int i = 0; i < NUM_FRUSTUM_PLANES; ++i) { + _planes[i].invalidate(); + } + _centerSphereRadius = -1.0e6f; // -10^6 should be negative enough +} + +/* +float calculateRenderAccuracy(const AABox& bounds, float octreeSizeScale, float maxScale, int boundaryLevelAdjust) const { float distanceToCamera = glm::length(bounds.calcCenter() - getPosition()); float largestDimension = bounds.getLargestDimension(); - const float maxScale = (float)TREE_SCALE; float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; static std::once_flag once; @@ -571,8 +504,8 @@ float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeSc return voxelSizeScale / powf(2, renderLevel); } -float ViewFrustum::getAccuracyAngle(float octreeSizeScale, int boundaryLevelAdjust) const { - const float maxScale = (float)TREE_SCALE; +float getAccuracyAngle(float octreeSizeScale, float maxScale, int boundaryLevelAdjust) const { float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; return atan(maxScale / visibleDistanceAtMaxScale); } +*/ diff --git a/libraries/octree/src/ViewFrustum.h b/libraries/shared/src/ViewFrustum.h similarity index 83% rename from libraries/octree/src/ViewFrustum.h rename to libraries/shared/src/ViewFrustum.h index 0fce67ac1b..897f0c77d7 100644 --- a/libraries/octree/src/ViewFrustum.h +++ b/libraries/shared/src/ViewFrustum.h @@ -1,6 +1,6 @@ // // ViewFrustum.h -// libraries/octree/src +// libraries/shared/src // // Created by Brad Hefta-Gaub on 04/11/13. // Copyright 2013 High Fidelity, Inc. @@ -17,21 +17,22 @@ #include #include -#include -#include +//#include -#include "Transform.h" #include "AABox.h" #include "AACube.h" #include "Plane.h" -#include "OctreeConstants.h" -#include "OctreeProjectedPolygon.h" +#include "RegisteredMetaTypes.h" +#include "Transform.h" + +const int NUM_FRUSTUM_CORNERS = 8; +const int NUM_FRUSTUM_PLANES = 6; const float DEFAULT_CENTER_SPHERE_RADIUS = 3.0f; const float DEFAULT_FIELD_OF_VIEW_DEGREES = 45.0f; const float DEFAULT_ASPECT_RATIO = 16.0f/9.0f; const float DEFAULT_NEAR_CLIP = 0.08f; -const float DEFAULT_FAR_CLIP = (float)HALF_TREE_SCALE; +const float DEFAULT_FAR_CLIP = 16384.0f; // the "ViewFrustum" has a "keyhole" shape: a regular frustum for stuff that is "visible" with // a central sphere for stuff that is nearby (for physics simulation). @@ -125,16 +126,11 @@ public: void evalProjectionMatrix(glm::mat4& proj) const; void evalViewTransform(Transform& view) const; - /// renderAccuracy represents a floating point "visibility" of an object based on it's view from the camera. At a simple - /// level it returns 0.0f for things that are so small for the current settings that they could not be visible. - float calculateRenderAccuracy(const AABox& bounds, float octreeSizeScale = DEFAULT_OCTREE_SIZE_SCALE, - int boundaryLevelAdjust = 0) const; - - float getAccuracyAngle(float octreeSizeScale = DEFAULT_OCTREE_SIZE_SCALE, int boundaryLevelAdjust = 0) const; - enum PlaneIndex { TOP_PLANE = 0, BOTTOM_PLANE, LEFT_PLANE, RIGHT_PLANE, NEAR_PLANE, FAR_PLANE, NUM_PLANES }; const ::Plane* getPlanes() const { return _planes; } + + void invalidate(); // causes all reasonable intersection tests to fail private: // camera location/orientation attributes glm::vec3 _position; // the position in world-frame @@ -153,16 +149,16 @@ private: // Calculated values glm::mat4 _inverseProjection; - float _width = 1.0f; - float _height = 1.0f; - float _aspectRatio = 1.0f; - float _nearClip = DEFAULT_NEAR_CLIP; - float _farClip = DEFAULT_FAR_CLIP; - float _focalLength = 0.25f; - float _fieldOfView = DEFAULT_FIELD_OF_VIEW_DEGREES; - glm::vec4 _corners[8]; - glm::vec3 _cornersWorld[8]; - ::Plane _planes[6]; // plane normals point inside frustum + float _width { 1.0f }; + float _height { 1.0f }; + float _aspectRatio { 1.0f }; + float _nearClip { DEFAULT_NEAR_CLIP }; + float _farClip { DEFAULT_FAR_CLIP }; + float _focalLength { 0.25f }; + float _fieldOfView { DEFAULT_FIELD_OF_VIEW_DEGREES }; + glm::vec4 _corners[NUM_FRUSTUM_CORNERS]; + glm::vec3 _cornersWorld[NUM_FRUSTUM_CORNERS]; + ::Plane _planes[NUM_FRUSTUM_PLANES]; // plane normals point inside frustum const char* debugPlaneName (int plane) const; @@ -171,6 +167,4 @@ private: }; using ViewFrustumPointer = std::shared_ptr; -float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeScale); - #endif // hifi_ViewFrustum_h From 71b2d647e85defbfd3430a1f79700c4591dbcc98 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 7 Mar 2016 10:04:54 -0800 Subject: [PATCH 053/106] add locks and explicitly copy ViewFrustums --- .../src/octree/OctreeQueryNode.cpp | 48 +++++--- .../src/octree/OctreeQueryNode.h | 8 +- .../src/octree/OctreeSendThread.cpp | 4 +- interface/src/Application.cpp | 109 ++++++++++++------ interface/src/Application.h | 9 +- interface/src/avatar/Avatar.cpp | 22 ++-- interface/src/avatar/Head.h | 2 - interface/src/avatar/MyAvatar.cpp | 14 ++- .../src/AbstractViewStateInterface.h | 8 +- .../render-utils/src/RenderDeferredTask.cpp | 6 +- libraries/render/src/render/SortTask.cpp | 4 +- 11 files changed, 148 insertions(+), 86 deletions(-) diff --git a/assignment-client/src/octree/OctreeQueryNode.cpp b/assignment-client/src/octree/OctreeQueryNode.cpp index 55eddf9e13..364cbf33c1 100644 --- a/assignment-client/src/octree/OctreeQueryNode.cpp +++ b/assignment-client/src/octree/OctreeQueryNode.cpp @@ -141,6 +141,16 @@ void OctreeQueryNode::writeToPacket(const unsigned char* buffer, unsigned int by } } +void OctreeQueryNode::copyCurrentViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _currentViewFrustum; +} + +void OctreeQueryNode::copyLastKnownViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _lastKnownViewFrustum; +} + bool OctreeQueryNode::updateCurrentViewFrustum() { // if shutting down, return immediately if (_isShuttingDown) { @@ -171,11 +181,13 @@ bool OctreeQueryNode::updateCurrentViewFrustum() { } - // if there has been a change, then recalculate - if (!newestViewFrustum.isVerySimilar(_currentViewFrustum)) { - _currentViewFrustum = newestViewFrustum; - _currentViewFrustum.calculate(); - currentViewFrustumChanged = true; + { // if there has been a change, then recalculate + QMutexLocker viewLocker(&_viewMutex); + if (!newestViewFrustum.isVerySimilar(_currentViewFrustum)) { + _currentViewFrustum = newestViewFrustum; + _currentViewFrustum.calculate(); + currentViewFrustumChanged = true; + } } // Also check for LOD changes from the client @@ -219,11 +231,14 @@ void OctreeQueryNode::updateLastKnownViewFrustum() { return; } - bool frustumChanges = !_lastKnownViewFrustum.isVerySimilar(_currentViewFrustum); + { + QMutexLocker viewLocker(&_viewMutex); + bool frustumChanges = !_lastKnownViewFrustum.isVerySimilar(_currentViewFrustum); - if (frustumChanges) { - // save our currentViewFrustum into our lastKnownViewFrustum - _lastKnownViewFrustum = _currentViewFrustum; + if (frustumChanges) { + // save our currentViewFrustum into our lastKnownViewFrustum + _lastKnownViewFrustum = _currentViewFrustum; + } } // save that we know the view has been sent. @@ -237,15 +252,13 @@ bool OctreeQueryNode::moveShouldDump() const { return false; } + QMutexLocker viewLocker(&_viewMutex); glm::vec3 oldPosition = _lastKnownViewFrustum.getPosition(); glm::vec3 newPosition = _currentViewFrustum.getPosition(); // theoretically we could make this slightly larger but relative to avatar scale. const float MAXIMUM_MOVE_WITHOUT_DUMP = 0.0f; - if (glm::distance(newPosition, oldPosition) > MAXIMUM_MOVE_WITHOUT_DUMP) { - return true; - } - return false; + return glm::distance(newPosition, oldPosition) > MAXIMUM_MOVE_WITHOUT_DUMP; } void OctreeQueryNode::dumpOutOfView() { @@ -257,8 +270,13 @@ void OctreeQueryNode::dumpOutOfView() { int stillInView = 0; int outOfView = 0; OctreeElementBag tempBag; + ViewFrustum viewCopy; + { + QMutexLocker viewLocker(&_viewMutex); + viewCopy = _currentViewFrustum; + } while (OctreeElementPointer elementToCheck = elementBag.extract()) { - if (elementToCheck->isInView(_currentViewFrustum)) { + if (elementToCheck->isInView(viewCopy)) { tempBag.insert(elementToCheck); stillInView++; } else { @@ -267,7 +285,7 @@ void OctreeQueryNode::dumpOutOfView() { } if (stillInView > 0) { while (OctreeElementPointer elementToKeepInBag = tempBag.extract()) { - if (elementToKeepInBag->isInView(_currentViewFrustum)) { + if (elementToKeepInBag->isInView(viewCopy)) { elementBag.insert(elementToKeepInBag); } } diff --git a/assignment-client/src/octree/OctreeQueryNode.h b/assignment-client/src/octree/OctreeQueryNode.h index 22d04d81f6..96f46cb2fa 100644 --- a/assignment-client/src/octree/OctreeQueryNode.h +++ b/assignment-client/src/octree/OctreeQueryNode.h @@ -56,8 +56,8 @@ public: OctreeElementBag elementBag; OctreeElementExtraEncodeData extraEncodeData; - const ViewFrustum& getCurrentViewFrustum() const { return _currentViewFrustum; } - const ViewFrustum& getLastKnownViewFrustum() const { return _lastKnownViewFrustum; } + void copyCurrentViewFrustum(ViewFrustum& viewOut) const; + void copyLastKnownViewFrustum(ViewFrustum& viewOut) const; // These are not classic setters because they are calculating and maintaining state // which is set asynchronously through the network receive @@ -114,6 +114,8 @@ private: int _maxSearchLevel { 1 }; int _maxLevelReachedInLastSearch { 1 }; + + mutable QMutex _viewMutex { QMutex::Recursive }; ViewFrustum _currentViewFrustum; ViewFrustum _lastKnownViewFrustum; quint64 _lastTimeBagEmpty { 0 }; @@ -139,7 +141,7 @@ private: QQueue _nackedSequenceNumbers; quint64 _sceneSendStartTime = 0; - + std::array _lastOctreePayload; }; diff --git a/assignment-client/src/octree/OctreeSendThread.cpp b/assignment-client/src/octree/OctreeSendThread.cpp index 7701cedd94..709cdd5d07 100644 --- a/assignment-client/src/octree/OctreeSendThread.cpp +++ b/assignment-client/src/octree/OctreeSendThread.cpp @@ -427,9 +427,9 @@ int OctreeSendThread::packetDistributor(SharedNodePointer node, OctreeQueryNode* nodeData->getLastTimeBagEmpty(), isFullScene, &nodeData->stats, _myServer->getJurisdiction(), &nodeData->extraEncodeData); - params.viewFrustum = nodeData->getCurrentViewFrustum(); + nodeData->copyCurrentViewFrustum(params.viewFrustum); if (viewFrustumChanged) { - params.lastViewFrustum = nodeData->getLastKnownViewFrustum(); + nodeData->copyLastKnownViewFrustum(params.lastViewFrustum); } // Our trackSend() function is implemented by the server subclass, and will be called back diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 994bb89556..19b0e432e1 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1511,12 +1511,17 @@ void Application::paintGL() { auto lodManager = DependencyManager::get(); - - _viewFrustum.calculate(); + { + QMutexLocker viewLocker(&_viewMutex); + _viewFrustum.calculate(); + } RenderArgs renderArgs(_gpuContext, getEntities(), lodManager->getOctreeSizeScale(), lodManager->getBoundaryLevelAdjust(), RenderArgs::DEFAULT_RENDER_MODE, RenderArgs::MONO, RenderArgs::RENDER_DEBUG_NONE); - renderArgs.setViewFrustum(getViewFrustum()); + { + QMutexLocker viewLocker(&_viewMutex); + renderArgs.setViewFrustum(_viewFrustum); + } PerformanceWarning::setSuppressShortTimings(Menu::getInstance()->isOptionChecked(MenuOption::SuppressShortTimings)); bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); @@ -1813,7 +1818,10 @@ void Application::resizeGL() { _myCamera.setProjection(glm::perspective(glm::radians(_fieldOfView.get()), aspectRatio, DEFAULT_NEAR_CLIP, DEFAULT_FAR_CLIP)); // Possible change in aspect ratio - loadViewFrustum(_myCamera, _viewFrustum); + { + QMutexLocker viewLocker(&_viewMutex); + loadViewFrustum(_myCamera, _viewFrustum); + } auto offscreenUi = DependencyManager::get(); auto uiSize = displayPlugin->getRecommendedUiSize(); @@ -2140,6 +2148,7 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_J: if (isShifted) { + QMutexLocker viewLocker(&_viewMutex); _viewFrustum.setFocalLength(_viewFrustum.getFocalLength() - 0.1f); } else { _myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(-0.001, 0, 0)); @@ -2149,6 +2158,7 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_M: if (isShifted) { + QMutexLocker viewLocker(&_viewMutex); _viewFrustum.setFocalLength(_viewFrustum.getFocalLength() + 0.1f); } else { _myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0.001, 0, 0)); @@ -2997,7 +3007,10 @@ void Application::init() { DependencyManager::get()->sendDomainServerCheckIn(); getEntities()->init(); - getEntities()->setViewFrustum(getViewFrustum()); + { + QMutexLocker viewLocker(&_viewMutex); + getEntities()->setViewFrustum(_viewFrustum); + } ObjectMotionState::setShapeManager(&_shapeManager); _physicsEngine->init(); @@ -3017,7 +3030,10 @@ void Application::init() { getEntities()->connectSignalsToSlots(entityScriptingInterface.data()); _entityClipboardRenderer.init(); - _entityClipboardRenderer.setViewFrustum(getViewFrustum()); + { + QMutexLocker viewLocker(&_viewMutex); + _entityClipboardRenderer.setViewFrustum(_viewFrustum); + } _entityClipboardRenderer.setTree(_entityClipboard); // Make sure any new sounds are loaded as soon as know about them. @@ -3220,9 +3236,12 @@ void Application::resetPhysicsReadyInformation() { void Application::reloadResourceCaches() { resetPhysicsReadyInformation(); + { + QMutexLocker viewLocker(&_viewMutex); + _viewFrustum.setPosition(glm::vec3(0.0f, 0.0f, TREE_SCALE)); + _viewFrustum.setOrientation(glm::quat()); + } // Clear entities out of view frustum - _viewFrustum.setPosition(glm::vec3(0.0f, 0.0f, TREE_SCALE)); - _viewFrustum.setOrientation(glm::quat()); queryOctree(NodeType::EntityServer, PacketType::EntityQuery, _entityServerJurisdictions); DependencyManager::get()->clearCache(); @@ -3511,7 +3530,7 @@ void Application::update(float deltaTime) { // actually need to calculate the view frustum planes to send these details // to the server. { - PerformanceTimer perfTimer("loadViewFrustum"); + QMutexLocker viewLocker(&_viewMutex); loadViewFrustum(_myCamera, _viewFrustum); } @@ -3520,6 +3539,7 @@ void Application::update(float deltaTime) { // Update my voxel servers with my current voxel query... { PROFILE_RANGE_EX("QueryOctree", 0xffff0000, (uint64_t)getActiveDisplayPlugin()->presentCount()); + QMutexLocker viewLocker(&_viewMutex); PerformanceTimer perfTimer("queryOctree"); quint64 sinceLastQuery = now - _lastQueriedTime; const quint64 TOO_LONG_SINCE_LAST_QUERY = 3 * USECS_PER_SECOND; @@ -3631,14 +3651,19 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node //qCDebug(interfaceapp) << ">>> inside... queryOctree()... _viewFrustum.getFieldOfView()=" << _viewFrustum.getFieldOfView(); bool wantExtraDebugging = getLogger()->extraDebugging(); - _octreeQuery.setCameraPosition(_viewFrustum.getPosition()); - _octreeQuery.setCameraOrientation(_viewFrustum.getOrientation()); - _octreeQuery.setCameraFov(_viewFrustum.getFieldOfView()); - _octreeQuery.setCameraAspectRatio(_viewFrustum.getAspectRatio()); - _octreeQuery.setCameraNearClip(_viewFrustum.getNearClip()); - _octreeQuery.setCameraFarClip(_viewFrustum.getFarClip()); + ViewFrustum viewFrustumCopy; + { + QMutexLocker viewLocker(&_viewMutex); + viewFrustumCopy = _viewFrustum; + } + _octreeQuery.setCameraPosition(viewFrustumCopy.getPosition()); + _octreeQuery.setCameraOrientation(viewFrustumCopy.getOrientation()); + _octreeQuery.setCameraFov(viewFrustumCopy.getFieldOfView()); + _octreeQuery.setCameraAspectRatio(viewFrustumCopy.getAspectRatio()); + _octreeQuery.setCameraNearClip(viewFrustumCopy.getNearClip()); + _octreeQuery.setCameraFarClip(viewFrustumCopy.getFarClip()); _octreeQuery.setCameraEyeOffsetPosition(glm::vec3()); - _octreeQuery.setCameraCenterRadius(_viewFrustum.getCenterRadius()); + _octreeQuery.setCameraCenterRadius(viewFrustumCopy.getCenterRadius()); auto lodManager = DependencyManager::get(); _octreeQuery.setOctreeSizeScale(lodManager->getOctreeSizeScale()); _octreeQuery.setBoundaryLevelAdjust(lodManager->getBoundaryLevelAdjust()); @@ -3674,7 +3699,7 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node rootDetails.y * TREE_SCALE, rootDetails.z * TREE_SCALE) - glm::vec3(HALF_TREE_SCALE), rootDetails.s * TREE_SCALE); - if (_viewFrustum.cubeIntersectsKeyhole(serverBounds)) { + if (viewFrustumCopy.cubeIntersectsKeyhole(serverBounds)) { inViewServers++; } } @@ -3740,7 +3765,7 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node rootDetails.s * TREE_SCALE); - inView = _viewFrustum.cubeIntersectsKeyhole(serverBounds); + inView = viewFrustumCopy.cubeIntersectsKeyhole(serverBounds); } else { if (wantExtraDebugging) { qCDebug(interfaceapp) << "Jurisdiction without RootCode for node " << *node << ". That's unusual!"; @@ -3835,6 +3860,7 @@ QRect Application::getDesirableApplicationGeometry() const { // or the "myCamera". // void Application::loadViewFrustum(Camera& camera, ViewFrustum& viewFrustum) { + PerformanceTimer perfTimer("loadViewFrustum"); PROFILE_RANGE(__FUNCTION__); // We will use these below, from either the camera or head vectors calculated above viewFrustum.setProjection(camera.getProjection()); @@ -3863,7 +3889,8 @@ PickRay Application::computePickRay(float x, float y) const { getApplicationCompositor().computeHmdPickRay(pickPoint, result.origin, result.direction); } else { pickPoint /= getCanvasSize(); - getViewFrustum().computePickRay(pickPoint.x, pickPoint.y, result.origin, result.direction); + QMutexLocker viewLocker(&_viewMutex); + _viewFrustum.computePickRay(pickPoint.x, pickPoint.y, result.origin, result.direction); } return result; } @@ -3876,24 +3903,19 @@ glm::vec3 Application::getAvatarPosition() const { return getMyAvatar()->getPosition(); } -const ViewFrustum& Application::getViewFrustum() const { -#ifdef DEBUG - if (QThread::currentThread() == activeRenderingThread) { - // FIXME, figure out a better way to do this - //qWarning() << "Calling Application::getViewFrustum() from the active rendering thread, did you mean Application::getDisplayViewFrustum()?"; - } -#endif - return _viewFrustum; +void Application::copyViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _viewFrustum; } -const ViewFrustum& Application::getDisplayViewFrustum() const { -#ifdef DEBUG - if (QThread::currentThread() != activeRenderingThread) { - // FIXME, figure out a better way to do this - // qWarning() << "Calling Application::getDisplayViewFrustum() from outside the active rendering thread or outside rendering, did you mean Application::getViewFrustum()?"; - } -#endif - return _displayViewFrustum; +void Application::copyDisplayViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _displayViewFrustum; +} + +void Application::copyShadowViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _shadowViewFrustum; } // WorldBox Render Data & rendering functions @@ -4002,7 +4024,10 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings), "Application::displaySide()"); // load the view frustum - loadViewFrustum(theCamera, _displayViewFrustum); + { + QMutexLocker viewLocker(&_viewMutex); + loadViewFrustum(theCamera, _displayViewFrustum); + } // TODO fix shadows and make them use the GPU library @@ -4070,7 +4095,10 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se { PerformanceTimer perfTimer("EngineRun"); - renderArgs->setViewFrustum(getDisplayViewFrustum()); + { + QMutexLocker viewLocker(&_viewMutex); + renderArgs->setViewFrustum(_displayViewFrustum); + } _renderEngine->getRenderContext()->args = renderArgs; // Before the deferred pass, let's try to use the render engine @@ -4496,6 +4524,11 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri scriptEngine->registerGlobalObject("Reticle", getApplicationCompositor().getReticleInterface()); } +void Application::copyCurrentViewFrustum(ViewFrustum& viewOut) const { + QMutexLocker viewLocker(&_viewMutex); + viewOut = _displayViewFrustum; +} + bool Application::canAcceptURL(const QString& urlString) const { QUrl url(urlString); if (urlString.startsWith(HIFI_URL_SCHEME)) { @@ -5200,10 +5233,10 @@ void Application::updateInputModes() { } mat4 Application::getEyeProjection(int eye) const { + QMutexLocker viewLocker(&_viewMutex); if (isHMDMode()) { return getActiveDisplayPlugin()->getEyeProjection((Eye)eye, _viewFrustum.getProjection()); } - return _viewFrustum.getProjection(); } diff --git a/interface/src/Application.h b/interface/src/Application.h index 3f26f7bc38..018265db4a 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -128,12 +128,12 @@ public: Camera* getCamera() { return &_myCamera; } const Camera* getCamera() const { return &_myCamera; } // Represents the current view frustum of the avatar. - const ViewFrustum& getViewFrustum() const; + void copyViewFrustum(ViewFrustum& viewOut) const; // Represents the view frustum of the current rendering pass, // which might be different from the viewFrustum, i.e. shadowmap // passes, mirror window passes, etc - const ViewFrustum& getDisplayViewFrustum() const; - const ViewFrustum& getShadowViewFrustum() override { return _shadowViewFrustum; } + void copyDisplayViewFrustum(ViewFrustum& viewOut) const; + void copyShadowViewFrustum(ViewFrustum& viewOut) const override; const OctreePacketProcessor& getOctreePacketProcessor() const { return _octreeProcessor; } EntityTreeRenderer* getEntities() const { return DependencyManager::get().data(); } QUndoStack* getUndoStack() { return &_undoStack; } @@ -167,7 +167,7 @@ public: virtual controller::ScriptingInterface* getControllerScriptingInterface() { return _controllerScriptingInterface; } virtual void registerScriptEngineWithApplicationServices(ScriptEngine* scriptEngine) override; - virtual const ViewFrustum& getCurrentViewFrustum() override { return getDisplayViewFrustum(); } + virtual void copyCurrentViewFrustum(ViewFrustum& viewOut) const override; virtual QThread* getMainThread() override { return thread(); } virtual PickRay computePickRay(float x, float y) const override; virtual glm::vec3 getAvatarPosition() const override; @@ -412,6 +412,7 @@ private: EntityTreeRenderer _entityClipboardRenderer; EntityTreePointer _entityClipboard; + mutable QMutex _viewMutex { QMutex::Recursive }; ViewFrustum _viewFrustum; // current state of view frustum, perspective, orientation, etc. ViewFrustum _lastQueriedViewFrustum; /// last view frustum used to query octree servers (voxels) ViewFrustum _displayViewFrustum; diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index f753309ffc..356b940713 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -172,7 +172,9 @@ void Avatar::simulate(float deltaTime) { // update the shouldAnimate flag to match whether or not we will render the avatar. const float MINIMUM_VISIBILITY_FOR_ON = 0.4f; const float MAXIMUM_VISIBILITY_FOR_OFF = 0.6f; - float visibility = calculateRenderAccuracy(qApp->getViewFrustum().getPosition(), + ViewFrustum viewFrustum; + qApp->copyViewFrustum(viewFrustum); + float visibility = calculateRenderAccuracy(viewFrustum.getPosition(), getBounds(), DependencyManager::get()->getOctreeSizeScale()); if (!_shouldAnimate) { if (visibility > MINIMUM_VISIBILITY_FOR_ON) { @@ -186,8 +188,9 @@ void Avatar::simulate(float deltaTime) { // simple frustum check float boundingRadius = getBoundingRadius(); - bool avatarPositionInView = qApp->getDisplayViewFrustum()->sphereIntersectsFrustum(getPosition(), boundingRadius); - bool avatarMeshInView = qApp->getDisplayViewFrustum()->boxIntersectsFrustum(_skeletonModel->getRenderableMeshBound()); + qApp->copyDisplayViewFrustum(viewFrustum); + bool avatarPositionInView = viewFrustum.sphereIntersectsFrustum(getPosition(), boundingRadius); + bool avatarMeshInView = viewFrustum.boxIntersectsFrustum(_skeletonModel->getRenderableMeshBound()); if (_shouldAnimate && !_shouldSkipRender && (avatarPositionInView || avatarMeshInView)) { { @@ -384,9 +387,12 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { } { // simple frustum check - const ViewFrustum& frustum = renderArgs->_renderMode == RenderArgs::SHADOW_RENDER_MODE ? - qApp->getShadowViewFrustum() : - qApp->getDisplayViewFrustum(); + ViewFrustum frustum; + if (renderArgs->_renderMode == RenderArgs::SHADOW_RENDER_MODE) { + qApp->copyShadowViewFrustum(frustum); + } else { + qApp->copyDisplayViewFrustum(frustum); + } if (!frustum.sphereIntersectsFrustum(getPosition(), getBoundingRadius())) { return; } @@ -500,7 +506,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { auto cameraMode = qApp->getCamera()->getMode(); if (!isMyAvatar() || cameraMode != CAMERA_MODE_FIRST_PERSON) { - auto frustum = renderArgs->getViewFrustum(); + ViewFrustum frustum = renderArgs->getViewFrustum(); auto textPosition = getDisplayNamePosition(); if (frustum.pointIntersectsFrustum(textPosition)) { renderDisplayName(batch, frustum, textPosition); @@ -550,7 +556,7 @@ void Avatar::fixupModelsInScene() { scene->enqueuePendingChanges(pendingChanges); } -void Avatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel) { +void Avatar::renderBody(RenderArgs* renderArgs, float glowLevel) { fixupModelsInScene(); getHead()->renderLookAts(renderArgs); } diff --git a/interface/src/avatar/Head.h b/interface/src/avatar/Head.h index 4c0a516ecc..ef9584f1a7 100644 --- a/interface/src/avatar/Head.h +++ b/interface/src/avatar/Head.h @@ -29,8 +29,6 @@ class Head : public HeadData { public: explicit Head(Avatar* owningAvatar); - Head(Avatar* owningAvatar); - void init(); void reset(); void simulate(float deltaTime, bool isMine, bool billboard = false); diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 2208e827a0..d4e024e49e 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -546,7 +546,9 @@ void MyAvatar::updateFromTrackers(float deltaTime) { head->setDeltaYaw(estimatedRotation.y); head->setDeltaRoll(estimatedRotation.z); } else { - float magnifyFieldOfView = qApp->getViewFrustum().getFieldOfView() / _realWorldFieldOfView.get(); + ViewFrustum viewFrustum; + qApp->copyViewFrustum(viewFrustum); + float magnifyFieldOfView = viewFrustum.getFieldOfView() / _realWorldFieldOfView.get(); head->setDeltaPitch(estimatedRotation.x * magnifyFieldOfView); head->setDeltaYaw(estimatedRotation.y * magnifyFieldOfView); head->setDeltaRoll(estimatedRotation.z); @@ -929,15 +931,17 @@ void MyAvatar::updateLookAtTargetAvatar() { // (We will be adding that offset to the camera position, after making some other adjustments.) glm::vec3 gazeOffset = lookAtPosition - getHead()->getEyePosition(); + ViewFrustum viewFrustum; + qApp->copyViewFrustum(viewFrustum); + // scale gazeOffset by IPD, if wearing an HMD. if (qApp->isHMDMode()) { glm::mat4 leftEye = qApp->getEyeOffset(Eye::Left); glm::mat4 rightEye = qApp->getEyeOffset(Eye::Right); glm::vec3 leftEyeHeadLocal = glm::vec3(leftEye[3]); glm::vec3 rightEyeHeadLocal = glm::vec3(rightEye[3]); - auto humanSystem = qApp->getViewFrustum(); - glm::vec3 humanLeftEye = humanSystem.getPosition() + (humanSystem.getOrientation() * leftEyeHeadLocal); - glm::vec3 humanRightEye = humanSystem.getPosition() + (humanSystem.getOrientation() * rightEyeHeadLocal); + glm::vec3 humanLeftEye = viewFrustum.getPosition() + (viewFrustum.getOrientation() * leftEyeHeadLocal); + glm::vec3 humanRightEye = viewFrustum.getPosition() + (viewFrustum.getOrientation() * rightEyeHeadLocal); auto hmdInterface = DependencyManager::get(); float ipdScale = hmdInterface->getIPDScale(); @@ -951,7 +955,7 @@ void MyAvatar::updateLookAtTargetAvatar() { } // And now we can finally add that offset to the camera. - glm::vec3 corrected = qApp->getViewFrustum().getPosition() + gazeOffset; + glm::vec3 corrected = viewFrustum.getPosition() + gazeOffset; avatar->getHead()->setCorrectedLookAtPosition(corrected); diff --git a/libraries/render-utils/src/AbstractViewStateInterface.h b/libraries/render-utils/src/AbstractViewStateInterface.h index c068baf453..81790728f8 100644 --- a/libraries/render-utils/src/AbstractViewStateInterface.h +++ b/libraries/render-utils/src/AbstractViewStateInterface.h @@ -28,11 +28,11 @@ class PickRay; /// Interface provided by Application to other objects that need access to the current view state details class AbstractViewStateInterface { public: - /// gets the current view frustum for rendering the view state - virtual const ViewFrustum& getCurrentViewFrustum() = 0; + /// copies the current view frustum for rendering the view state + virtual void copyCurrentViewFrustum(ViewFrustum& viewOut) const = 0; - /// gets the shadow view frustum for rendering the view state - virtual const ViewFrustum& getShadowViewFrustum() = 0; + /// copies the shadow view frustum for rendering the view state + virtual void copyShadowViewFrustum(ViewFrustum& viewOut) const = 0; virtual QThread* getMainThread() = 0; diff --git a/libraries/render-utils/src/RenderDeferredTask.cpp b/libraries/render-utils/src/RenderDeferredTask.cpp index 000446d9df..444c52623e 100755 --- a/libraries/render-utils/src/RenderDeferredTask.cpp +++ b/libraries/render-utils/src/RenderDeferredTask.cpp @@ -202,7 +202,7 @@ void DrawDeferred::run(const SceneContextPointer& sceneContext, const RenderCont void DrawStateSortDeferred::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemBounds& inItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); auto config = std::static_pointer_cast(renderContext->jobConfig); @@ -215,8 +215,8 @@ void DrawStateSortDeferred::run(const SceneContextPointer& sceneContext, const R glm::mat4 projMat; Transform viewMat; - args->_viewFrustum->evalProjectionMatrix(projMat); - args->_viewFrustum->evalViewTransform(viewMat); + args->getViewFrustum().evalProjectionMatrix(projMat); + args->getViewFrustum().evalViewTransform(viewMat); batch.setProjectionTransform(projMat); batch.setViewTransform(viewMat); diff --git a/libraries/render/src/render/SortTask.cpp b/libraries/render/src/render/SortTask.cpp index d2fda542b1..9c288f96ff 100644 --- a/libraries/render/src/render/SortTask.cpp +++ b/libraries/render/src/render/SortTask.cpp @@ -42,7 +42,7 @@ struct BackToFrontSort { void render::depthSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, bool frontToBack, const ItemBounds& inItems, ItemBounds& outItems) { assert(renderContext->args); - assert(renderContext->args->_viewFrustum); + assert(renderContext->args->hasViewFrustum()); auto& scene = sceneContext->_scene; RenderArgs* args = renderContext->args; @@ -60,7 +60,7 @@ void render::depthSortItems(const SceneContextPointer& sceneContext, const Rende for (auto itemDetails : inItems) { auto item = scene->getItem(itemDetails.id); auto bound = itemDetails.bound; // item.getBound(); - float distance = args->_viewFrustum->distanceToCamera(bound.calcCenter()); + float distance = args->getViewFrustum().distanceToCamera(bound.calcCenter()); itemBoundSorts.emplace_back(ItemBoundSort(distance, distance, distance, itemDetails.id, bound)); } From 2cbc771eba52088fc883b90e1d94f6300c3b415a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 7 Mar 2016 11:20:34 -0800 Subject: [PATCH 054/106] reorder data members, remove cruft, 744->616 bytes --- libraries/shared/src/ViewFrustum.cpp | 60 ++-------------------------- libraries/shared/src/ViewFrustum.h | 29 ++++++-------- 2 files changed, 16 insertions(+), 73 deletions(-) diff --git a/libraries/shared/src/ViewFrustum.cpp b/libraries/shared/src/ViewFrustum.cpp index 3e52a9f2c8..0412994f28 100644 --- a/libraries/shared/src/ViewFrustum.cpp +++ b/libraries/shared/src/ViewFrustum.cpp @@ -54,11 +54,11 @@ static const glm::vec4 NDC_VALUES[NUM_FRUSTUM_CORNERS] = { void ViewFrustum::setProjection(const glm::mat4& projection) { _projection = projection; - _inverseProjection = glm::inverse(projection); + glm::mat4 inverseProjection = glm::inverse(projection); // compute our dimensions the usual way for (int i = 0; i < NUM_FRUSTUM_CORNERS; ++i) { - _corners[i] = _inverseProjection * NDC_VALUES[i]; + _corners[i] = inverseProjection * NDC_VALUES[i]; _corners[i] /= _corners[i].w; } _nearClip = -_corners[BOTTOM_LEFT_NEAR].z; @@ -66,12 +66,12 @@ void ViewFrustum::setProjection(const glm::mat4& projection) { _aspectRatio = (_corners[TOP_RIGHT_NEAR].x - _corners[BOTTOM_LEFT_NEAR].x) / (_corners[TOP_RIGHT_NEAR].y - _corners[BOTTOM_LEFT_NEAR].y); - glm::vec4 top = _inverseProjection * vec4(0.0f, 1.0f, -1.0f, 1.0f); + glm::vec4 top = inverseProjection * vec4(0.0f, 1.0f, -1.0f, 1.0f); top /= top.w; _fieldOfView = abs(glm::degrees(2.0f * abs(glm::angle(vec3(0.0f, 0.0f, -1.0f), glm::normalize(vec3(top)))))); } -// ViewFrustum::calculateViewFrustum() +// ViewFrustum::calculate() // // Description: this will calculate the view frustum bounds for a given position and direction // @@ -112,9 +112,6 @@ void ViewFrustum::calculate() { // Projection matrix : Field of View, ratio, display range : near to far glm::vec3 lookAt = _position + _direction; glm::mat4 view = glm::lookAt(_position, lookAt, _up); - - // Our ModelViewProjection : multiplication of our 3 matrices (note: model is identity, so we can drop it) - _ourModelViewProjectionMatrix = _projection * view; // Remember, matrix multiplication is the other way around } //enum { TOP_PLANE = 0, BOTTOM_PLANE, LEFT_PLANE, RIGHT_PLANE, NEAR_PLANE, FAR_PLANE }; @@ -460,52 +457,3 @@ void ViewFrustum::invalidate() { } _centerSphereRadius = -1.0e6f; // -10^6 should be negative enough } - -/* -float calculateRenderAccuracy(const AABox& bounds, float octreeSizeScale, float maxScale, int boundaryLevelAdjust) const { - float distanceToCamera = glm::length(bounds.calcCenter() - getPosition()); - float largestDimension = bounds.getLargestDimension(); - - float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; - - static std::once_flag once; - static QMap shouldRenderTable; - std::call_once(once, [&] { - float SMALLEST_SCALE_IN_TABLE = 0.001f; // 1mm is plenty small - float scale = maxScale; - float factor = 1.0f; - - while (scale > SMALLEST_SCALE_IN_TABLE) { - scale /= 2.0f; - factor /= 2.0f; - shouldRenderTable[scale] = factor; - } - }); - - float closestScale = maxScale; - float visibleDistanceAtClosestScale = visibleDistanceAtMaxScale; - QMap::const_iterator lowerBound = shouldRenderTable.lowerBound(largestDimension); - if (lowerBound != shouldRenderTable.constEnd()) { - closestScale = lowerBound.key(); - visibleDistanceAtClosestScale = visibleDistanceAtMaxScale * lowerBound.value(); - } - - if (closestScale < largestDimension) { - visibleDistanceAtClosestScale *= 2.0f; - } - - // FIXME - for now, it's either visible or not visible. We want to adjust this to eventually return - // a floating point for objects that have small angular size to indicate that they may be rendered - // with lower preciscion - return (distanceToCamera <= visibleDistanceAtClosestScale) ? 1.0f : 0.0f; -} - -float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeScale) { - return voxelSizeScale / powf(2, renderLevel); -} - -float getAccuracyAngle(float octreeSizeScale, float maxScale, int boundaryLevelAdjust) const { - float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO; - return atan(maxScale / visibleDistanceAtMaxScale); -} -*/ diff --git a/libraries/shared/src/ViewFrustum.h b/libraries/shared/src/ViewFrustum.h index 897f0c77d7..fc091d4bc3 100644 --- a/libraries/shared/src/ViewFrustum.h +++ b/libraries/shared/src/ViewFrustum.h @@ -132,38 +132,33 @@ public: void invalidate(); // causes all reasonable intersection tests to fail private: - // camera location/orientation attributes - glm::vec3 _position; // the position in world-frame - glm::quat _orientation; glm::mat4 _view; - - // Lens attributes glm::mat4 _projection; - // calculated for orientation + ::Plane _planes[NUM_FRUSTUM_PLANES]; // plane normals point inside frustum + + glm::vec3 _position; // position in world-frame + glm::quat _orientation; // orientation in world-frame + + // calculated from orientation glm::vec3 _direction = IDENTITY_FRONT; glm::vec3 _up = IDENTITY_UP; glm::vec3 _right = IDENTITY_RIGHT; + // calculated from projection + glm::vec4 _corners[NUM_FRUSTUM_CORNERS]; + glm::vec3 _cornersWorld[NUM_FRUSTUM_CORNERS]; float _centerSphereRadius = DEFAULT_CENTER_SPHERE_RADIUS; - - // Calculated values - glm::mat4 _inverseProjection; float _width { 1.0f }; float _height { 1.0f }; float _aspectRatio { 1.0f }; - float _nearClip { DEFAULT_NEAR_CLIP }; - float _farClip { DEFAULT_FAR_CLIP }; float _focalLength { 0.25f }; float _fieldOfView { DEFAULT_FIELD_OF_VIEW_DEGREES }; - glm::vec4 _corners[NUM_FRUSTUM_CORNERS]; - glm::vec3 _cornersWorld[NUM_FRUSTUM_CORNERS]; - ::Plane _planes[NUM_FRUSTUM_PLANES]; // plane normals point inside frustum + + float _nearClip { DEFAULT_NEAR_CLIP }; + float _farClip { DEFAULT_FAR_CLIP }; const char* debugPlaneName (int plane) const; - - // Used to project points - glm::mat4 _ourModelViewProjectionMatrix; }; using ViewFrustumPointer = std::shared_ptr; From 7d6424bdcc903faff096c7b8504b919b13a06c86 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 7 Mar 2016 15:18:33 -0800 Subject: [PATCH 055/106] Head::render() was cruft --- interface/src/avatar/Head.cpp | 3 --- interface/src/avatar/Head.h | 1 - interface/src/avatar/MyAvatar.cpp | 7 +------ libraries/entities/src/EntityTreeElement.cpp | 2 +- 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/interface/src/avatar/Head.cpp b/interface/src/avatar/Head.cpp index 8a58e5d740..1e274562b2 100644 --- a/interface/src/avatar/Head.cpp +++ b/interface/src/avatar/Head.cpp @@ -316,9 +316,6 @@ void Head::relaxLean(float deltaTime) { _deltaLeanForward *= relaxationFactor; } -void Head::render(RenderArgs* renderArgs, float alpha) { -} - void Head::renderLookAts(RenderArgs* renderArgs) { renderLookAts(renderArgs, _leftEyePosition, _rightEyePosition); } diff --git a/interface/src/avatar/Head.h b/interface/src/avatar/Head.h index ef9584f1a7..1f1483d8ed 100644 --- a/interface/src/avatar/Head.h +++ b/interface/src/avatar/Head.h @@ -32,7 +32,6 @@ public: void init(); void reset(); void simulate(float deltaTime, bool isMine, bool billboard = false); - void render(RenderArgs* renderArgs, float alpha); void setScale(float scale); void setPosition(glm::vec3 position) { _position = position; } void setAverageLoudness(float averageLoudness) { _averageLoudness = averageLoudness; } diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index d4e024e49e..52ad98b29f 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1271,11 +1271,6 @@ void MyAvatar::renderBody(RenderArgs* renderArgs, float glowLevel) { fixupModelsInScene(); - // Render head so long as the camera isn't inside it - if (shouldRenderHead(renderArgs)) { - getHead()->render(renderArgs, 1.0f); - } - // This is drawing the lookat vectors from our avatar to wherever we're looking. if (qApp->isHMDMode()) { glm::vec3 cameraPosition = qApp->getCamera()->getPosition(); @@ -1356,7 +1351,6 @@ void MyAvatar::destroyAnimGraph() { void MyAvatar::preRender(RenderArgs* renderArgs) { render::ScenePointer scene = qApp->getMain3DScene(); - const bool shouldDrawHead = shouldRenderHead(renderArgs); if (_skeletonModel->initWhenReady(scene)) { initHeadBones(); @@ -1408,6 +1402,7 @@ void MyAvatar::preRender(RenderArgs* renderArgs) { DebugDraw::getInstance().updateMyAvatarPos(getPosition()); DebugDraw::getInstance().updateMyAvatarRot(getOrientation()); + const bool shouldDrawHead = shouldRenderHead(renderArgs); if (shouldDrawHead != _prevShouldDrawHead) { _skeletonModel->setCauterizeBones(!shouldDrawHead); } diff --git a/libraries/entities/src/EntityTreeElement.cpp b/libraries/entities/src/EntityTreeElement.cpp index 88227416d3..870c4a88d1 100644 --- a/libraries/entities/src/EntityTreeElement.cpp +++ b/libraries/entities/src/EntityTreeElement.cpp @@ -298,7 +298,7 @@ OctreeElement::AppendState EntityTreeElement::appendElementData(OctreePacketData entityTreeElementExtraEncodeData->entities.contains(entity->getEntityItemID()); } - if (includeThisEntity) { + if (includeThisEntity || params.recurseEverything) { // we want to use the maximum possible box for this, so that we don't have to worry about the nuance of // simulation changing what's visible. consider the case where the entity contains an angular velocity From 64c2e2d1757d3c59784c7fabf515bbecf12bb692 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 7 Mar 2016 15:49:11 -0800 Subject: [PATCH 056/106] remove warning about unused variable --- libraries/shared/src/ViewFrustum.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/libraries/shared/src/ViewFrustum.cpp b/libraries/shared/src/ViewFrustum.cpp index 0412994f28..d6ba9e1dce 100644 --- a/libraries/shared/src/ViewFrustum.cpp +++ b/libraries/shared/src/ViewFrustum.cpp @@ -107,11 +107,6 @@ void ViewFrustum::calculate() { _planes[RIGHT_PLANE].set3Points(_cornersWorld[BOTTOM_RIGHT_FAR], _cornersWorld[BOTTOM_RIGHT_NEAR], _cornersWorld[TOP_RIGHT_FAR]); _planes[NEAR_PLANE].set3Points(_cornersWorld[BOTTOM_RIGHT_NEAR], _cornersWorld[BOTTOM_LEFT_NEAR], _cornersWorld[TOP_LEFT_NEAR]); _planes[FAR_PLANE].set3Points(_cornersWorld[BOTTOM_LEFT_FAR], _cornersWorld[BOTTOM_RIGHT_FAR], _cornersWorld[TOP_RIGHT_FAR]); - - // Also calculate our projection matrix in case people want to project points... - // Projection matrix : Field of View, ratio, display range : near to far - glm::vec3 lookAt = _position + _direction; - glm::mat4 view = glm::lookAt(_position, lookAt, _up); } //enum { TOP_PLANE = 0, BOTTOM_PLANE, LEFT_PLANE, RIGHT_PLANE, NEAR_PLANE, FAR_PLANE }; From 01950fba965df58c0ff45d73f53f4bb1b6fa4790 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 9 Mar 2016 11:50:34 -0800 Subject: [PATCH 057/106] recover unused code that may prove useful someday --- .../src/CubeProjectedPolygon.cpp} | 96 ++++---- .../src/CubeProjectedPolygon.h} | 76 +++--- libraries/shared/src/ViewFrustum.cpp | 217 ++++++++++++++++++ libraries/shared/src/ViewFrustum.h | 10 + 4 files changed, 313 insertions(+), 86 deletions(-) rename libraries/{octree/src/OctreeProjectedPolygon.cpp => shared/src/CubeProjectedPolygon.cpp} (93%) rename libraries/{octree/src/OctreeProjectedPolygon.h => shared/src/CubeProjectedPolygon.h} (64%) diff --git a/libraries/octree/src/OctreeProjectedPolygon.cpp b/libraries/shared/src/CubeProjectedPolygon.cpp similarity index 93% rename from libraries/octree/src/OctreeProjectedPolygon.cpp rename to libraries/shared/src/CubeProjectedPolygon.cpp index b8e2d4d999..04d6e8bb4e 100644 --- a/libraries/octree/src/OctreeProjectedPolygon.cpp +++ b/libraries/shared/src/CubeProjectedPolygon.cpp @@ -1,6 +1,6 @@ // -// OctreeProjectedPolygon.cpp -// libraries/octree/src +// CubeProjectedPolygon.cpp +// libraries/shared/src // // Created by Brad Hefta-Gaub on 06/11/13. // Copyright 2013 High Fidelity, Inc. @@ -15,50 +15,50 @@ #include "GeometryUtil.h" #include "SharedUtil.h" -#include "OctreeLogging.h" -#include "OctreeProjectedPolygon.h" +#include "SharedLogging.h" +#include "CubeProjectedPolygon.h" -glm::vec2 BoundingBox::getVertex(int vertexNumber) const { +glm::vec2 BoundingRectangle::getVertex(int vertexNumber) const { switch (vertexNumber) { - case BoundingBox::BOTTOM_LEFT: + case BoundingRectangle::BOTTOM_LEFT: return corner; - case BoundingBox::TOP_LEFT: + case BoundingRectangle::TOP_LEFT: return glm::vec2(corner.x, corner.y + size.y); - case BoundingBox::BOTTOM_RIGHT: + case BoundingRectangle::BOTTOM_RIGHT: return glm::vec2(corner.x + size.x, corner.y); - case BoundingBox::TOP_RIGHT: + case BoundingRectangle::TOP_RIGHT: return corner + size; } assert(false); // not allowed return glm::vec2(0,0); } -BoundingBox BoundingBox::topHalf() const { +BoundingRectangle BoundingRectangle::topHalf() const { float halfY = size.y/2.0f; - BoundingBox result(glm::vec2(corner.x,corner.y + halfY), glm::vec2(size.x, halfY)); + BoundingRectangle result(glm::vec2(corner.x,corner.y + halfY), glm::vec2(size.x, halfY)); return result; } -BoundingBox BoundingBox::bottomHalf() const { +BoundingRectangle BoundingRectangle::bottomHalf() const { float halfY = size.y/2.0f; - BoundingBox result(corner, glm::vec2(size.x, halfY)); + BoundingRectangle result(corner, glm::vec2(size.x, halfY)); return result; } -BoundingBox BoundingBox::leftHalf() const { +BoundingRectangle BoundingRectangle::leftHalf() const { float halfX = size.x/2.0f; - BoundingBox result(corner, glm::vec2(halfX, size.y)); + BoundingRectangle result(corner, glm::vec2(halfX, size.y)); return result; } -BoundingBox BoundingBox::rightHalf() const { +BoundingRectangle BoundingRectangle::rightHalf() const { float halfX = size.x/2.0f; - BoundingBox result(glm::vec2(corner.x + halfX , corner.y), glm::vec2(halfX, size.y)); + BoundingRectangle result(glm::vec2(corner.x + halfX , corner.y), glm::vec2(halfX, size.y)); return result; } -bool BoundingBox::contains(const BoundingBox& box) const { +bool BoundingRectangle::contains(const BoundingRectangle& box) const { return ( _set && (box.corner.x >= corner.x) && (box.corner.y >= corner.y) && @@ -67,7 +67,7 @@ bool BoundingBox::contains(const BoundingBox& box) const { ); } -bool BoundingBox::contains(const glm::vec2& point) const { +bool BoundingRectangle::contains(const glm::vec2& point) const { return ( _set && (point.x > corner.x) && (point.y > corner.y) && @@ -76,7 +76,7 @@ bool BoundingBox::contains(const glm::vec2& point) const { ); } -void BoundingBox::explandToInclude(const BoundingBox& box) { +void BoundingRectangle::explandToInclude(const BoundingRectangle& box) { if (!_set) { corner = box.corner; size = box.size; @@ -94,20 +94,20 @@ void BoundingBox::explandToInclude(const BoundingBox& box) { } -void BoundingBox::printDebugDetails(const char* label) const { - qCDebug(octree, "%s _set=%s\n corner=%f,%f size=%f,%f\n bounds=[(%f,%f) to (%f,%f)]", - (label ? label : "BoundingBox"), +void BoundingRectangle::printDebugDetails(const char* label) const { + qCDebug(shared, "%s _set=%s\n corner=%f,%f size=%f,%f\n bounds=[(%f,%f) to (%f,%f)]", + (label ? label : "BoundingRectangle"), debug::valueOf(_set), (double)corner.x, (double)corner.y, (double)size.x, (double)size.y, (double)corner.x, (double)corner.y, (double)(corner.x+size.x), (double)(corner.y+size.y)); } -long OctreeProjectedPolygon::pointInside_calls = 0; -long OctreeProjectedPolygon::occludes_calls = 0; -long OctreeProjectedPolygon::intersects_calls = 0; +long CubeProjectedPolygon::pointInside_calls = 0; +long CubeProjectedPolygon::occludes_calls = 0; +long CubeProjectedPolygon::intersects_calls = 0; -OctreeProjectedPolygon::OctreeProjectedPolygon(const BoundingBox& box) : +CubeProjectedPolygon::CubeProjectedPolygon(const BoundingRectangle& box) : _vertexCount(4), _maxX(-FLT_MAX), _maxY(-FLT_MAX), _minX(FLT_MAX), _minY(FLT_MAX), _distance(0) @@ -118,7 +118,7 @@ OctreeProjectedPolygon::OctreeProjectedPolygon(const BoundingBox& box) : } -void OctreeProjectedPolygon::setVertex(int vertex, const glm::vec2& point) { +void CubeProjectedPolygon::setVertex(int vertex, const glm::vec2& point) { _vertices[vertex] = point; // keep track of our bounding box @@ -138,9 +138,9 @@ void OctreeProjectedPolygon::setVertex(int vertex, const glm::vec2& point) { } // can be optimized with new pointInside() -bool OctreeProjectedPolygon::occludes(const OctreeProjectedPolygon& occludee, bool checkAllInView) const { +bool CubeProjectedPolygon::occludes(const CubeProjectedPolygon& occludee, bool checkAllInView) const { - OctreeProjectedPolygon::occludes_calls++; + CubeProjectedPolygon::occludes_calls++; // if we are completely out of view, then we definitely don't occlude! // if the occludee is completely out of view, then we also don't occlude it @@ -197,12 +197,12 @@ bool OctreeProjectedPolygon::occludes(const OctreeProjectedPolygon& occludee, bo return false; // if we got this far, then we're not occluded } -bool OctreeProjectedPolygon::occludes(const BoundingBox& boxOccludee) const { - OctreeProjectedPolygon testee(boxOccludee); +bool CubeProjectedPolygon::occludes(const BoundingRectangle& boxOccludee) const { + CubeProjectedPolygon testee(boxOccludee); return occludes(testee); } -bool OctreeProjectedPolygon::matches(const OctreeProjectedPolygon& testee) const { +bool CubeProjectedPolygon::matches(const CubeProjectedPolygon& testee) const { if (testee.getVertexCount() != getVertexCount()) { return false; } @@ -231,14 +231,14 @@ bool OctreeProjectedPolygon::matches(const OctreeProjectedPolygon& testee) const return true; // all of our vertices match, therefore we're the same } -bool OctreeProjectedPolygon::matches(const BoundingBox& box) const { - OctreeProjectedPolygon testee(box); +bool CubeProjectedPolygon::matches(const BoundingRectangle& box) const { + CubeProjectedPolygon testee(box); return matches(testee); } -bool OctreeProjectedPolygon::pointInside(const glm::vec2& point, bool* matchesVertex) const { +bool CubeProjectedPolygon::pointInside(const glm::vec2& point, bool* matchesVertex) const { - OctreeProjectedPolygon::pointInside_calls++; + CubeProjectedPolygon::pointInside_calls++; // first check the bounding boxes, the point must be fully within the boounding box of this polygon if ((point.x > getMaxX()) || @@ -264,23 +264,23 @@ bool OctreeProjectedPolygon::pointInside(const glm::vec2& point, bool* matchesVe return true; } -void OctreeProjectedPolygon::printDebugDetails() const { - qCDebug(octree, "OctreeProjectedPolygon..." +void CubeProjectedPolygon::printDebugDetails() const { + qCDebug(shared, "CubeProjectedPolygon..." " minX=%f maxX=%f minY=%f maxY=%f", (double)getMinX(), (double)getMaxX(), (double)getMinY(), (double)getMaxY()); - qCDebug(octree, " vertex count=%d distance=%f", getVertexCount(), (double)getDistance()); + qCDebug(shared, " vertex count=%d distance=%f", getVertexCount(), (double)getDistance()); for (int i = 0; i < getVertexCount(); i++) { glm::vec2 point = getVertex(i); - qCDebug(octree, " vertex[%d] = %f, %f ", i, (double)point.x, (double)point.y); + qCDebug(shared, " vertex[%d] = %f, %f ", i, (double)point.x, (double)point.y); } } -bool OctreeProjectedPolygon::intersects(const BoundingBox& box) const { - OctreeProjectedPolygon testee(box); +bool CubeProjectedPolygon::intersects(const BoundingRectangle& box) const { + CubeProjectedPolygon testee(box); return intersects(testee); } -bool OctreeProjectedPolygon::intersects(const OctreeProjectedPolygon& testee) const { - OctreeProjectedPolygon::intersects_calls++; +bool CubeProjectedPolygon::intersects(const CubeProjectedPolygon& testee) const { + CubeProjectedPolygon::intersects_calls++; return intersectsOnAxes(testee) && testee.intersectsOnAxes(*this); } @@ -294,7 +294,7 @@ bool OctreeProjectedPolygon::intersects(const OctreeProjectedPolygon& testee) co // Note: this only works on convex polygons // // -bool OctreeProjectedPolygon::intersectsOnAxes(const OctreeProjectedPolygon& testee) const { +bool CubeProjectedPolygon::intersectsOnAxes(const CubeProjectedPolygon& testee) const { // consider each edge of this polygon as a potential separating axis for (int i = 0; i < getVertexCount(); i++) { @@ -324,7 +324,7 @@ bool OctreeProjectedPolygon::intersectsOnAxes(const OctreeProjectedPolygon& test return true; } -bool OctreeProjectedPolygon::canMerge(const OctreeProjectedPolygon& that) const { +bool CubeProjectedPolygon::canMerge(const CubeProjectedPolygon& that) const { // RIGHT/NEAR // LEFT/NEAR @@ -642,7 +642,7 @@ bool OctreeProjectedPolygon::canMerge(const OctreeProjectedPolygon& that) const } -void OctreeProjectedPolygon::merge(const OctreeProjectedPolygon& that) { +void CubeProjectedPolygon::merge(const CubeProjectedPolygon& that) { // RIGHT/NEAR // LEFT/NEAR diff --git a/libraries/octree/src/OctreeProjectedPolygon.h b/libraries/shared/src/CubeProjectedPolygon.h similarity index 64% rename from libraries/octree/src/OctreeProjectedPolygon.h rename to libraries/shared/src/CubeProjectedPolygon.h index a8507e8fb2..6eb35e100b 100644 --- a/libraries/octree/src/OctreeProjectedPolygon.h +++ b/libraries/shared/src/CubeProjectedPolygon.h @@ -1,55 +1,55 @@ // -// OctreeProjectedPolygon.h -// libraries/octree/src +// CubeProjectedPolygon.h +// libraries/shared/src // // Created by Brad Hefta-Gaub on 06/11/13. // Copyright 2013 High Fidelity, Inc. // -// The projected shadow (on the 2D view plane) for a voxel +// The projected shadow (on the 2D view plane) for a cube // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#ifndef hifi_OctreeProjectedPolygon_h -#define hifi_OctreeProjectedPolygon_h +#ifndef hifi_CubeProjectedPolygon_h +#define hifi_CubeProjectedPolygon_h #include // there's a max of 6 vertices of a project polygon, and a max of twice that when clipped to the screen -const int MAX_PROJECTED_POLYGON_VERTEX_COUNT = 6; -const int MAX_CLIPPED_PROJECTED_POLYGON_VERTEX_COUNT = MAX_PROJECTED_POLYGON_VERTEX_COUNT * 2; +const int MAX_PROJECTED_POLYGON_VERTEX_COUNT = 6; +const int MAX_CLIPPED_PROJECTED_POLYGON_VERTEX_COUNT = MAX_PROJECTED_POLYGON_VERTEX_COUNT * 2; typedef glm::vec2 ProjectedVertices[MAX_CLIPPED_PROJECTED_POLYGON_VERTEX_COUNT]; -class BoundingBox { +class BoundingRectangle { public: enum { BOTTOM_LEFT, BOTTOM_RIGHT, TOP_RIGHT, TOP_LEFT, VERTEX_COUNT }; - BoundingBox(const glm::vec2 corner, const glm::vec2 size) : corner(corner), size(size), _set(true) {} - BoundingBox() : _set(false) {} + BoundingRectangle(const glm::vec2 corner, const glm::vec2 size) : corner(corner), size(size), _set(true) {} + BoundingRectangle() : _set(false) {} glm::vec2 corner; glm::vec2 size; - bool contains(const BoundingBox& box) const; + bool contains(const BoundingRectangle& box) const; bool contains(const glm::vec2& point) const; bool pointInside(const glm::vec2& point) const { return contains(point); } - void explandToInclude(const BoundingBox& box); + void explandToInclude(const BoundingRectangle& box); float area() const { return size.x * size.y; } int getVertexCount() const { return VERTEX_COUNT; } glm::vec2 getVertex(int vertexNumber) const; - BoundingBox topHalf() const; - BoundingBox bottomHalf() const; - BoundingBox leftHalf() const; - BoundingBox rightHalf() const; + BoundingRectangle topHalf() const; + BoundingRectangle bottomHalf() const; + BoundingRectangle leftHalf() const; + BoundingRectangle rightHalf() const; float getMaxX() const { return corner.x + size.x; } float getMaxY() const { return corner.y + size.y; } float getMinX() const { return corner.x; } float getMinY() const { return corner.y; } - + void printDebugDetails(const char* label=NULL) const; private: bool _set; @@ -63,18 +63,18 @@ const int PROJECTION_NEAR = 16; const int PROJECTION_FAR = 32; const int PROJECTION_CLIPPED = 64; -class OctreeProjectedPolygon { +class CubeProjectedPolygon { public: - OctreeProjectedPolygon(const BoundingBox& box); + CubeProjectedPolygon(const BoundingRectangle& box); - OctreeProjectedPolygon(int vertexCount = 0) : - _vertexCount(vertexCount), + CubeProjectedPolygon(int vertexCount = 0) : + _vertexCount(vertexCount), _maxX(-FLT_MAX), _maxY(-FLT_MAX), _minX(FLT_MAX), _minY(FLT_MAX), _distance(0) { } - - ~OctreeProjectedPolygon() { } + + ~CubeProjectedPolygon() { } const ProjectedVertices& getVertices() const { return _vertices; } const glm::vec2& getVertex(int i) const { return _vertices[i]; } void setVertex(int vertex, const glm::vec2& point); @@ -92,28 +92,28 @@ public: bool pointInside(const glm::vec2& point, bool* matchesVertex = NULL) const; - bool occludes(const OctreeProjectedPolygon& occludee, bool checkAllInView = false) const; - bool occludes(const BoundingBox& occludee) const; - bool intersects(const OctreeProjectedPolygon& testee) const; - bool intersects(const BoundingBox& box) const; - bool matches(const OctreeProjectedPolygon& testee) const; - bool matches(const BoundingBox& testee) const; - bool intersectsOnAxes(const OctreeProjectedPolygon& testee) const; + bool occludes(const CubeProjectedPolygon& occludee, bool checkAllInView = false) const; + bool occludes(const BoundingRectangle& occludee) const; + bool intersects(const CubeProjectedPolygon& testee) const; + bool intersects(const BoundingRectangle& box) const; + bool matches(const CubeProjectedPolygon& testee) const; + bool matches(const BoundingRectangle& testee) const; + bool intersectsOnAxes(const CubeProjectedPolygon& testee) const; + + bool canMerge(const CubeProjectedPolygon& that) const; + void merge(const CubeProjectedPolygon& that); // replaces vertices of this with new merged version - bool canMerge(const OctreeProjectedPolygon& that) const; - void merge(const OctreeProjectedPolygon& that); // replaces vertices of this with new merged version - float getMaxX() const { return _maxX; } float getMaxY() const { return _maxY; } float getMinX() const { return _minX; } float getMinY() const { return _minY; } - - BoundingBox getBoundingBox() const { - return BoundingBox(glm::vec2(_minX,_minY), glm::vec2(_maxX - _minX, _maxY - _minY)); + + BoundingRectangle getBoundingBox() const { + return BoundingRectangle(glm::vec2(_minX,_minY), glm::vec2(_maxX - _minX, _maxY - _minY)); } void printDebugDetails() const; - + static long pointInside_calls; static long occludes_calls; static long intersects_calls; @@ -132,4 +132,4 @@ private: }; -#endif // hifi_OctreeProjectedPolygon_h +#endif // hifi_CubeProjectedPolygon_h diff --git a/libraries/shared/src/ViewFrustum.cpp b/libraries/shared/src/ViewFrustum.cpp index d6ba9e1dce..4a7d4eff95 100644 --- a/libraries/shared/src/ViewFrustum.cpp +++ b/libraries/shared/src/ViewFrustum.cpp @@ -107,6 +107,14 @@ void ViewFrustum::calculate() { _planes[RIGHT_PLANE].set3Points(_cornersWorld[BOTTOM_RIGHT_FAR], _cornersWorld[BOTTOM_RIGHT_NEAR], _cornersWorld[TOP_RIGHT_FAR]); _planes[NEAR_PLANE].set3Points(_cornersWorld[BOTTOM_RIGHT_NEAR], _cornersWorld[BOTTOM_LEFT_NEAR], _cornersWorld[TOP_LEFT_NEAR]); _planes[FAR_PLANE].set3Points(_cornersWorld[BOTTOM_LEFT_FAR], _cornersWorld[BOTTOM_RIGHT_FAR], _cornersWorld[TOP_RIGHT_FAR]); + + // Also calculate our projection matrix in case people want to project points... + // Projection matrix : Field of View, ratio, display range : near to far + glm::vec3 lookAt = _position + _direction; + glm::mat4 view = glm::lookAt(_position, lookAt, _up); + + // Our ModelViewProjection : multiplication of our 3 matrices (note: model is identity, so we can drop it) + _ourModelViewProjectionMatrix = _projection * view; // Remember, matrix multiplication is the other way around } //enum { TOP_PLANE = 0, BOTTOM_PLANE, LEFT_PLANE, RIGHT_PLANE, NEAR_PLANE, FAR_PLANE }; @@ -260,6 +268,55 @@ bool testMatches(float lhs, float rhs, float epsilon = EPSILON) { return (fabs(lhs - rhs) <= epsilon); } +bool ViewFrustum::matches(const ViewFrustum& compareTo, bool debug) const { + bool result = + testMatches(compareTo._position, _position) && + testMatches(compareTo._direction, _direction) && + testMatches(compareTo._up, _up) && + testMatches(compareTo._right, _right) && + testMatches(compareTo._fieldOfView, _fieldOfView) && + testMatches(compareTo._aspectRatio, _aspectRatio) && + testMatches(compareTo._nearClip, _nearClip) && + testMatches(compareTo._farClip, _farClip) && + testMatches(compareTo._focalLength, _focalLength); + + if (!result && debug) { + qCDebug(shared, "ViewFrustum::matches()... result=%s", debug::valueOf(result)); + qCDebug(shared, "%s -- compareTo._position=%f,%f,%f _position=%f,%f,%f", + (testMatches(compareTo._position,_position) ? "MATCHES " : "NO MATCH"), + (double)compareTo._position.x, (double)compareTo._position.y, (double)compareTo._position.z, + (double)_position.x, (double)_position.y, (double)_position.z); + qCDebug(shared, "%s -- compareTo._direction=%f,%f,%f _direction=%f,%f,%f", + (testMatches(compareTo._direction, _direction) ? "MATCHES " : "NO MATCH"), + (double)compareTo._direction.x, (double)compareTo._direction.y, (double)compareTo._direction.z, + (double)_direction.x, (double)_direction.y, (double)_direction.z ); + qCDebug(shared, "%s -- compareTo._up=%f,%f,%f _up=%f,%f,%f", + (testMatches(compareTo._up, _up) ? "MATCHES " : "NO MATCH"), + (double)compareTo._up.x, (double)compareTo._up.y, (double)compareTo._up.z, + (double)_up.x, (double)_up.y, (double)_up.z ); + qCDebug(shared, "%s -- compareTo._right=%f,%f,%f _right=%f,%f,%f", + (testMatches(compareTo._right, _right) ? "MATCHES " : "NO MATCH"), + (double)compareTo._right.x, (double)compareTo._right.y, (double)compareTo._right.z, + (double)_right.x, (double)_right.y, (double)_right.z ); + qCDebug(shared, "%s -- compareTo._fieldOfView=%f _fieldOfView=%f", + (testMatches(compareTo._fieldOfView, _fieldOfView) ? "MATCHES " : "NO MATCH"), + (double)compareTo._fieldOfView, (double)_fieldOfView); + qCDebug(shared, "%s -- compareTo._aspectRatio=%f _aspectRatio=%f", + (testMatches(compareTo._aspectRatio, _aspectRatio) ? "MATCHES " : "NO MATCH"), + (double)compareTo._aspectRatio, (double)_aspectRatio); + qCDebug(shared, "%s -- compareTo._nearClip=%f _nearClip=%f", + (testMatches(compareTo._nearClip, _nearClip) ? "MATCHES " : "NO MATCH"), + (double)compareTo._nearClip, (double)_nearClip); + qCDebug(shared, "%s -- compareTo._farClip=%f _farClip=%f", + (testMatches(compareTo._farClip, _farClip) ? "MATCHES " : "NO MATCH"), + (double)compareTo._farClip, (double)_farClip); + qCDebug(shared, "%s -- compareTo._focalLength=%f _focalLength=%f", + (testMatches(compareTo._focalLength, _focalLength) ? "MATCHES " : "NO MATCH"), + (double)compareTo._focalLength, (double)_focalLength); + } + return result; +} + bool ViewFrustum::isVerySimilar(const ViewFrustum& compareTo, bool debug) const { // Compute distance between the two positions @@ -383,6 +440,166 @@ void ViewFrustum::printDebugDetails() const { qCDebug(shared, "_focalLength=%f", (double)_focalLength); } +glm::vec2 ViewFrustum::projectPoint(glm::vec3 point, bool& pointInView) const { + + glm::vec4 pointVec4 = glm::vec4(point, 1.0f); + glm::vec4 projectedPointVec4 = _ourModelViewProjectionMatrix * pointVec4; + pointInView = (projectedPointVec4.w > 0.0f); // math! If the w result is negative then the point is behind the viewer + + // what happens with w is 0??? + float x = projectedPointVec4.x / projectedPointVec4.w; + float y = projectedPointVec4.y / projectedPointVec4.w; + glm::vec2 projectedPoint(x,y); + + // if the point is out of view we also need to flip the signs of x and y + if (!pointInView) { + projectedPoint.x = -x; + projectedPoint.y = -y; + } + + return projectedPoint; +} + + +const int MAX_POSSIBLE_COMBINATIONS = 43; + +const int hullVertexLookup[MAX_POSSIBLE_COMBINATIONS][MAX_PROJECTED_POLYGON_VERTEX_COUNT+1] = { + // Number of vertices in shadow polygon for the visible faces, then a list of the index of each vertice from the AACube + +//0 + {0}, // inside + {4, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR}, // right + {4, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR }, // left + {0}, // n/a + +//4 + {4, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR}, // bottom +//5 + {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR },//bottom, right + {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, },//bottom, left + {0}, // n/a +//8 + {4, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // top + {6, TOP_RIGHT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // top, right + {6, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR}, // top, left + {0}, // n/a + {0}, // n/a + {0}, // n/a + {0}, // n/a + {0}, // n/a +//16 + {4, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front or near + + {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front, right + {6, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, }, // front, left + {0}, // n/a +//20 + {6, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, // front,bottom + +//21 + {6, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR }, //front,bottom,right +//22 + {6, BOTTOM_LEFT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR }, //front,bottom,left + {0}, // n/a + + {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR}, // front, top + + {6, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, TOP_RIGHT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR }, // front, top, right + + {6, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, BOTTOM_RIGHT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, TOP_LEFT_FAR }, // front, top, left + {0}, // n/a + {0}, // n/a + {0}, // n/a + {0}, // n/a + {0}, // n/a +//32 + {4, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR }, // back + {6, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR}, // back, right +//34 + {6, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, TOP_RIGHT_FAR }, // back, left + + + {0}, // n/a +//36 + {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR}, // back, bottom + {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, TOP_RIGHT_NEAR},//back, bottom, right + +// 38 + {6, BOTTOM_RIGHT_NEAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR, TOP_LEFT_FAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR },//back, bottom, left + {0}, // n/a + +// 40 + {6, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR, TOP_RIGHT_NEAR, TOP_RIGHT_FAR}, // back, top + + {6, BOTTOM_RIGHT_NEAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, TOP_LEFT_FAR, TOP_LEFT_NEAR, TOP_RIGHT_NEAR}, // back, top, right +//42 + {6, TOP_RIGHT_NEAR, TOP_RIGHT_FAR, BOTTOM_RIGHT_FAR, BOTTOM_LEFT_FAR, BOTTOM_LEFT_NEAR, TOP_LEFT_NEAR}, // back, top, left +}; + +CubeProjectedPolygon ViewFrustum::getProjectedPolygon(const AACube& box) const { + const glm::vec3& bottomNearRight = box.getCorner(); + glm::vec3 topFarLeft = box.calcTopFarLeft(); + + int lookUp = ((_position.x < bottomNearRight.x) ) // 1 = right | compute 6-bit + + ((_position.x > topFarLeft.x ) << 1) // 2 = left | code to + + ((_position.y < bottomNearRight.y) << 2) // 4 = bottom | classify camera + + ((_position.y > topFarLeft.y ) << 3) // 8 = top | with respect to + + ((_position.z < bottomNearRight.z) << 4) // 16 = front/near | the 6 defining + + ((_position.z > topFarLeft.z ) << 5); // 32 = back/far | planes + + int vertexCount = hullVertexLookup[lookUp][0]; //look up number of vertices + + CubeProjectedPolygon projectedPolygon(vertexCount); + + bool pointInView = true; + bool allPointsInView = false; // assume the best, but wait till we know we have a vertex + bool anyPointsInView = false; // assume the worst! + if (vertexCount) { + allPointsInView = true; // assume the best! + for(int i = 0; i < vertexCount; i++) { + int vertexNum = hullVertexLookup[lookUp][i+1]; + glm::vec3 point = box.getVertex((BoxVertex)vertexNum); + glm::vec2 projectedPoint = projectPoint(point, pointInView); + allPointsInView = allPointsInView && pointInView; + anyPointsInView = anyPointsInView || pointInView; + projectedPolygon.setVertex(i, projectedPoint); + } + + /*** + // Now that we've got the polygon, if it extends beyond the clipping window, then let's clip it + // NOTE: This clipping does not improve our overall performance. It basically causes more polygons to + // end up in the same quad/half and so the polygon lists get longer, and that's more calls to polygon.occludes() + if ( (projectedPolygon.getMaxX() > PolygonClip::RIGHT_OF_CLIPPING_WINDOW ) || + (projectedPolygon.getMaxY() > PolygonClip::TOP_OF_CLIPPING_WINDOW ) || + (projectedPolygon.getMaxX() < PolygonClip::LEFT_OF_CLIPPING_WINDOW ) || + (projectedPolygon.getMaxY() < PolygonClip::BOTTOM_OF_CLIPPING_WINDOW) ) { + + CoverageRegion::_clippedPolygons++; + + glm::vec2* clippedVertices; + int clippedVertexCount; + PolygonClip::clipToScreen(projectedPolygon.getVertices(), vertexCount, clippedVertices, clippedVertexCount); + + // Now reset the vertices of our projectedPolygon object + projectedPolygon.setVertexCount(clippedVertexCount); + for(int i = 0; i < clippedVertexCount; i++) { + projectedPolygon.setVertex(i, clippedVertices[i]); + } + delete[] clippedVertices; + + lookUp += PROJECTION_CLIPPED; + } + ***/ + } + // set the distance from our camera position, to the closest vertex + float distance = glm::distance(getPosition(), box.calcCenter()); + projectedPolygon.setDistance(distance); + projectedPolygon.setAnyInView(anyPointsInView); + projectedPolygon.setAllInView(allPointsInView); + projectedPolygon.setProjectionType(lookUp); // remember the projection type + return projectedPolygon; +} + // Similar strategy to getProjectedPolygon() we use the knowledge of camera position relative to the // axis-aligned voxels to determine which of the voxels vertices must be the furthest. No need for // squares and square-roots. Just compares. diff --git a/libraries/shared/src/ViewFrustum.h b/libraries/shared/src/ViewFrustum.h index fc091d4bc3..6d0bdb0fda 100644 --- a/libraries/shared/src/ViewFrustum.h +++ b/libraries/shared/src/ViewFrustum.h @@ -21,6 +21,7 @@ #include "AABox.h" #include "AACube.h" +#include "CubeProjectedPolygon.h" #include "Plane.h" #include "RegisteredMetaTypes.h" #include "Transform.h" @@ -108,6 +109,10 @@ public: bool cubeIntersectsKeyhole(const AACube& cube) const; bool boxIntersectsKeyhole(const AABox& box) const; + // some frustum comparisons + bool matches(const ViewFrustum& compareTo, bool debug = false) const; + bool matches(const ViewFrustum* compareTo, bool debug = false) const { return matches(*compareTo, debug); } + bool isVerySimilar(const ViewFrustum& compareTo, bool debug = false) const; bool isVerySimilar(const ViewFrustum* compareTo, bool debug = false) const { return isVerySimilar(*compareTo, debug); } @@ -119,6 +124,8 @@ public: void printDebugDetails() const; + glm::vec2 projectPoint(glm::vec3 point, bool& pointInView) const; + CubeProjectedPolygon getProjectedPolygon(const AACube& box) const; void getFurthestPointFromCamera(const AACube& box, glm::vec3& furthestPoint) const; float distanceToCamera(const glm::vec3& point) const; @@ -159,6 +166,9 @@ private: float _farClip { DEFAULT_FAR_CLIP }; const char* debugPlaneName (int plane) const; + + // Used to project points + glm::mat4 _ourModelViewProjectionMatrix; }; using ViewFrustumPointer = std::shared_ptr; From eeb100b62fd27be551bba0d75a3293626e64d04a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 5 May 2016 16:04:01 -0700 Subject: [PATCH 058/106] use glm::isnan() instead of isnan() from math.h --- libraries/shared/src/PIDController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/shared/src/PIDController.cpp b/libraries/shared/src/PIDController.cpp index 0d1d267dea..790c26ac25 100644 --- a/libraries/shared/src/PIDController.cpp +++ b/libraries/shared/src/PIDController.cpp @@ -35,7 +35,7 @@ float PIDController::update(float measuredValue, float dt, bool resetAccumulator updateHistory(measuredValue, dt, error, accumulatedError, changeInError, p, i, d, computedValue); } Q_ASSERT(!glm::isnan(computedValue)); - + // update state for next time _lastError = error; _lastAccumulation = accumulatedError; From d1591e03b9ac4282b99d6f93574a94d79ac02e3f Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 5 May 2016 17:08:31 -0700 Subject: [PATCH 059/106] fix typo --- libraries/render/src/render/SortTask.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/render/src/render/SortTask.cpp b/libraries/render/src/render/SortTask.cpp index 9c288f96ff..28860aa410 100644 --- a/libraries/render/src/render/SortTask.cpp +++ b/libraries/render/src/render/SortTask.cpp @@ -1,5 +1,5 @@ // -// CullTask.cpp +// SortTask.cpp // render/src/render // // Created by Sam Gateau on 2/2/16. From 635e2e78e3661f40351c8b2d947caa42a0c32934 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 5 May 2016 18:43:08 -0700 Subject: [PATCH 060/106] minor cleanup --- interface/src/Application.cpp | 31 +++++++++++++------------------ interface/src/Application.h | 2 +- interface/src/avatar/Avatar.cpp | 2 +- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 19b0e432e1..83cd577b52 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3651,19 +3651,16 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node //qCDebug(interfaceapp) << ">>> inside... queryOctree()... _viewFrustum.getFieldOfView()=" << _viewFrustum.getFieldOfView(); bool wantExtraDebugging = getLogger()->extraDebugging(); - ViewFrustum viewFrustumCopy; - { - QMutexLocker viewLocker(&_viewMutex); - viewFrustumCopy = _viewFrustum; - } - _octreeQuery.setCameraPosition(viewFrustumCopy.getPosition()); - _octreeQuery.setCameraOrientation(viewFrustumCopy.getOrientation()); - _octreeQuery.setCameraFov(viewFrustumCopy.getFieldOfView()); - _octreeQuery.setCameraAspectRatio(viewFrustumCopy.getAspectRatio()); - _octreeQuery.setCameraNearClip(viewFrustumCopy.getNearClip()); - _octreeQuery.setCameraFarClip(viewFrustumCopy.getFarClip()); + ViewFrustum viewFrustum; + copyViewFrustum(viewFrustum); + _octreeQuery.setCameraPosition(viewFrustum.getPosition()); + _octreeQuery.setCameraOrientation(viewFrustum.getOrientation()); + _octreeQuery.setCameraFov(viewFrustum.getFieldOfView()); + _octreeQuery.setCameraAspectRatio(viewFrustum.getAspectRatio()); + _octreeQuery.setCameraNearClip(viewFrustum.getNearClip()); + _octreeQuery.setCameraFarClip(viewFrustum.getFarClip()); _octreeQuery.setCameraEyeOffsetPosition(glm::vec3()); - _octreeQuery.setCameraCenterRadius(viewFrustumCopy.getCenterRadius()); + _octreeQuery.setCameraCenterRadius(viewFrustum.getCenterRadius()); auto lodManager = DependencyManager::get(); _octreeQuery.setOctreeSizeScale(lodManager->getOctreeSizeScale()); _octreeQuery.setBoundaryLevelAdjust(lodManager->getBoundaryLevelAdjust()); @@ -3699,7 +3696,7 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node rootDetails.y * TREE_SCALE, rootDetails.z * TREE_SCALE) - glm::vec3(HALF_TREE_SCALE), rootDetails.s * TREE_SCALE); - if (viewFrustumCopy.cubeIntersectsKeyhole(serverBounds)) { + if (viewFrustum.cubeIntersectsKeyhole(serverBounds)) { inViewServers++; } } @@ -3765,11 +3762,9 @@ void Application::queryOctree(NodeType_t serverType, PacketType packetType, Node rootDetails.s * TREE_SCALE); - inView = viewFrustumCopy.cubeIntersectsKeyhole(serverBounds); - } else { - if (wantExtraDebugging) { - qCDebug(interfaceapp) << "Jurisdiction without RootCode for node " << *node << ". That's unusual!"; - } + inView = viewFrustum.cubeIntersectsKeyhole(serverBounds); + } else if (wantExtraDebugging) { + qCDebug(interfaceapp) << "Jurisdiction without RootCode for node " << *node << ". That's unusual!"; } } diff --git a/interface/src/Application.h b/interface/src/Application.h index 018265db4a..0fca44c9b6 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -167,7 +167,7 @@ public: virtual controller::ScriptingInterface* getControllerScriptingInterface() { return _controllerScriptingInterface; } virtual void registerScriptEngineWithApplicationServices(ScriptEngine* scriptEngine) override; - virtual void copyCurrentViewFrustum(ViewFrustum& viewOut) const override; + virtual ViewFrustum* getCurrentViewFrustum() override { return getDisplayViewFrustum(); } virtual QThread* getMainThread() override { return thread(); } virtual PickRay computePickRay(float x, float y) const override; virtual glm::vec3 getAvatarPosition() const override; diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 356b940713..edb63022b0 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -506,7 +506,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { auto cameraMode = qApp->getCamera()->getMode(); if (!isMyAvatar() || cameraMode != CAMERA_MODE_FIRST_PERSON) { - ViewFrustum frustum = renderArgs->getViewFrustum(); + auto& frustum = renderArgs->getViewFrustum(); auto textPosition = getDisplayNamePosition(); if (frustum.pointIntersectsFrustum(textPosition)) { renderDisplayName(batch, frustum, textPosition); From 778820edb4c4fe85630ae8407524a69633e0839c Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Fri, 6 May 2016 09:07:03 -0700 Subject: [PATCH 061/106] fix broken dupe method implementation --- interface/src/Application.cpp | 5 ----- interface/src/Application.h | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 83cd577b52..16d9e0c108 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4519,11 +4519,6 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri scriptEngine->registerGlobalObject("Reticle", getApplicationCompositor().getReticleInterface()); } -void Application::copyCurrentViewFrustum(ViewFrustum& viewOut) const { - QMutexLocker viewLocker(&_viewMutex); - viewOut = _displayViewFrustum; -} - bool Application::canAcceptURL(const QString& urlString) const { QUrl url(urlString); if (urlString.startsWith(HIFI_URL_SCHEME)) { diff --git a/interface/src/Application.h b/interface/src/Application.h index 0fca44c9b6..ea5f637d96 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -167,7 +167,7 @@ public: virtual controller::ScriptingInterface* getControllerScriptingInterface() { return _controllerScriptingInterface; } virtual void registerScriptEngineWithApplicationServices(ScriptEngine* scriptEngine) override; - virtual ViewFrustum* getCurrentViewFrustum() override { return getDisplayViewFrustum(); } + virtual void copyCurrentViewFrustum(ViewFrustum& viewOut) const override { copyDisplayViewFrustum(viewOut); } virtual QThread* getMainThread() override { return thread(); } virtual PickRay computePickRay(float x, float y) const override; virtual glm::vec3 getAvatarPosition() const override; From f80333ee9e010737008896e4dd864a0f301c1cb7 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 6 May 2016 10:06:51 -0700 Subject: [PATCH 062/106] fix indentation, move an early exit to earlier --- libraries/physics/src/ObjectActionSpring.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index 22b7ade979..e67a681481 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -49,6 +49,11 @@ bool ObjectActionSpring::getTarget(float deltaTimeStep, glm::quat& rotation, glm } bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep) { + auto ownerEntity = _ownerEntity.lock(); + if (!ownerEntity) { + return false; + } + glm::quat rotation; glm::vec3 position; glm::vec3 linearVelocity; @@ -57,12 +62,7 @@ bool ObjectActionSpring::prepareForSpringUpdate(btScalar deltaTimeStep) { bool valid = false; int springCount = 0; - auto ownerEntity = _ownerEntity.lock(); - if (!ownerEntity) { - return false; - } - - QList springDerivedActions; + QList springDerivedActions; springDerivedActions.append(ownerEntity->getActionsOfType(ACTION_TYPE_SPRING)); springDerivedActions.append(ownerEntity->getActionsOfType(ACTION_TYPE_HOLD)); From 83fad4c52fd27456921ef68f71e9b00e56f27bcd Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 6 May 2016 14:19:13 -0700 Subject: [PATCH 063/106] Fix equalities in scriptableResource tests --- scripts/developer/tests/scriptableResource/lib.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/developer/tests/scriptableResource/lib.js b/scripts/developer/tests/scriptableResource/lib.js index 5241d0968e..255b3bd036 100644 --- a/scripts/developer/tests/scriptableResource/lib.js +++ b/scripts/developer/tests/scriptableResource/lib.js @@ -26,8 +26,8 @@ function getFrame(callback) { } function makeFrame(state) { - if (state == Resource.State.FAILED) { throw "Failed to load frame"; } - if (state != Resource.State.FINISHED) { return; } + if (state === Resource.State.FAILED) { throw "Failed to load frame"; } + if (state !== Resource.State.FINISHED) { return; } var pictureFrameProperties = { name: 'scriptableResourceTest Picture Frame', @@ -50,7 +50,6 @@ function getFrame(callback) { position.x += - 5 * Math.sin(rads); position.z += - 5 * Math.cos(rads); - print(JSON.stringify(position)); return position; } } @@ -67,10 +66,10 @@ function prefetch(callback) { var filepath = MOVIE_URL + padded + '.jpg'; var texture = TextureCache.prefetch(filepath); frames.push(texture); - if (!texture.state == Resource.State.FINISHED) { + if (texture.state !== Resource.State.FINISHED) { numLoading++; texture.stateChanged.connect(function(state) { - if (state == Resource.State.FAILED || state == Resource.State.FINISHED) { + if (state === Resource.State.FAILED || state === Resource.State.FINISHED) { --numLoading; if (!numLoading) { callback(frames); } } From eee487723c249bbdfb4872929724f501fe63e642 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 6 May 2016 14:27:07 -0700 Subject: [PATCH 064/106] Fix headers of scriptableResource tests --- scripts/developer/tests/scriptableResource/movieTest.js | 2 +- scripts/developer/tests/scriptableResource/prefetchTest.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/developer/tests/scriptableResource/movieTest.js b/scripts/developer/tests/scriptableResource/movieTest.js index 61b2bf7942..557c53af6a 100644 --- a/scripts/developer/tests/scriptableResource/movieTest.js +++ b/scripts/developer/tests/scriptableResource/movieTest.js @@ -1,5 +1,5 @@ // -// testMovie.js +// movieTest.js // scripts/developer/tests/scriptableResource // // Created by Zach Pomerantz on 4/27/16. diff --git a/scripts/developer/tests/scriptableResource/prefetchTest.js b/scripts/developer/tests/scriptableResource/prefetchTest.js index cda805967e..07acb462cb 100644 --- a/scripts/developer/tests/scriptableResource/prefetchTest.js +++ b/scripts/developer/tests/scriptableResource/prefetchTest.js @@ -1,5 +1,5 @@ // -// testPrefetch.js +// prefetchTest.js // scripts/developer/tests/scriptableResource // // Created by Zach Pomerantz on 4/27/16. From 3f4f10a27e16c3692b598b979583d56ba5db43e9 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 6 May 2016 14:25:04 -0700 Subject: [PATCH 065/106] Fix prefetch state changes --- libraries/networking/src/ResourceCache.cpp | 6 +++--- libraries/networking/src/ResourceCache.h | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index 4cc8b1d4f0..16a419d5af 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -139,17 +139,17 @@ void ScriptableResource::setInScript(bool isInScript) { } void ScriptableResource::loadingChanged() { - emit stateChanged(LOADING); + setState(LOADING); } void ScriptableResource::loadedChanged() { - emit stateChanged(LOADED); + setState(LOADED); } void ScriptableResource::finished(bool success) { disconnectHelper(); - emit stateChanged(success ? FINISHED : FAILED); + setState(success ? FINISHED : FAILED); } void ScriptableResource::disconnectHelper() { diff --git a/libraries/networking/src/ResourceCache.h b/libraries/networking/src/ResourceCache.h index b81c69c079..dd8953a461 100644 --- a/libraries/networking/src/ResourceCache.h +++ b/libraries/networking/src/ResourceCache.h @@ -113,6 +113,9 @@ signals: void progressChanged(uint64_t bytesReceived, uint64_t bytesTotal); void stateChanged(int state); +protected: + void setState(State state) { _state = state; emit stateChanged(_state); } + private slots: void loadingChanged(); void loadedChanged(); From 0fbbbaa985178d35e7649acbf2200552f9ffed6f Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 6 May 2016 14:19:53 -0700 Subject: [PATCH 066/106] Add tex loadPerfTest.js --- .../tests/scriptableResource/loadPerfTest.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 scripts/developer/tests/scriptableResource/loadPerfTest.js diff --git a/scripts/developer/tests/scriptableResource/loadPerfTest.js b/scripts/developer/tests/scriptableResource/loadPerfTest.js new file mode 100644 index 0000000000..17feef264d --- /dev/null +++ b/scripts/developer/tests/scriptableResource/loadPerfTest.js @@ -0,0 +1,34 @@ +// +// loadPerfTest.js +// scripts/developer/tests/scriptableResource +// +// Created by Zach Pomerantz on 4/27/16. +// Copyright 2016 High Fidelity, Inc. +// +// Preloads 158 textures 50 times for performance profiling. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +var TIMES = 50; + +Script.include([ + '../../../developer/utilities/cache/cacheStats.js', + 'lib.js', +], function() { + var fetch = function() { + prefetch(function(frames) { + while (frames.length) { frames.pop(); } + Script.requestGarbageCollection(); + + if (--TIMES > 0) { + // Pause a bit to avoid a deadlock + var DEADLOCK_AVOIDANCE_TIMEOUT = 100; + Script.setTimeout(fetch, DEADLOCK_AVOIDANCE_TIMEOUT); + } + }); + }; + + fetch(); +}); From 173d2a590c4bf265b441824754848590ffdd7480 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 6 May 2016 18:19:10 -0700 Subject: [PATCH 067/106] Use sleep_until for ScriptEngine --- assignment-client/src/Agent.cpp | 3 +- libraries/script-engine/src/ScriptEngine.cpp | 38 ++++++++++++++++---- libraries/script-engine/src/ScriptEngine.h | 4 +-- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index ef20dc82e2..f8f0f7904a 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -386,8 +386,7 @@ void Agent::sendAvatarBillboardPacket() { void Agent::processAgentAvatarAndAudio(float deltaTime) { if (!_scriptEngine->isFinished() && _isAvatar) { auto scriptedAvatar = DependencyManager::get(); - const int SCRIPT_AUDIO_BUFFER_SAMPLES = floor(((SCRIPT_DATA_CALLBACK_USECS * AudioConstants::SAMPLE_RATE) - / (1000 * 1000)) + 0.5); + const int SCRIPT_AUDIO_BUFFER_SAMPLES = AudioConstants::SAMPLE_RATE / SCRIPT_FPS + 0.5; const int SCRIPT_AUDIO_BUFFER_BYTES = SCRIPT_AUDIO_BUFFER_SAMPLES * sizeof(int16_t); QByteArray avatarByteArray = scriptedAvatar->toByteArray(true, randFloat() < AVATAR_SEND_FULL_UPDATE_RATIO); diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 6c7739c784..464b514fd5 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -9,6 +9,9 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include +#include + #include #include #include @@ -706,9 +709,15 @@ void ScriptEngine::run() { QScriptValue result = evaluate(_scriptContents, _fileNameString); - QElapsedTimer startTime; - startTime.start(); +#ifdef _WIN32 + // VS13 does not sleep_until unless it uses the system_clock, see: + // https://www.reddit.com/r/cpp_questions/comments/3o71ic/sleep_until_not_working_with_a_time_pointsteady/ + using clock = std::chrono::system_clock; +#else + using clock = std::chrono::high_resolution_clock; +#endif + clock::time_point startTime = clock::now(); int thisFrame = 0; auto nodeList = DependencyManager::get(); @@ -716,12 +725,29 @@ void ScriptEngine::run() { qint64 lastUpdate = usecTimestampNow(); + // TODO: Integrate this with signals/slots instead of this busy wait while (!_isFinished) { - int usecToSleep = (thisFrame++ * SCRIPT_DATA_CALLBACK_USECS) - startTime.nsecsElapsed() / 1000; // nsec to usec - if (usecToSleep > 0) { - usleep(usecToSleep); - } + // Throttle to SCRIPT_FPS + const std::chrono::microseconds FRAME_DURATION(USECS_PER_SECOND / SCRIPT_FPS + 1); + clock::time_point sleepTime(startTime + thisFrame++ * FRAME_DURATION); + std::this_thread::sleep_until(sleepTime); +#ifdef SCRIPT_DELAY_DEBUG + { + auto now = clock::now(); + uint64_t seconds = std::chrono::duration_cast(now - startTime).count(); + if (seconds > 0) { // avoid division by zero and time travel + uint64_t fps = thisFrame / seconds; + // Overreporting artificially reduces the reported rate + if (thisFrame % SCRIPT_FPS == 0) { + qCDebug(scriptengine) << + "Frame:" << thisFrame << + "Slept (us):" << std::chrono::duration_cast(now - sleepTime).count() << + "FPS:" << fps; + } + } + } +#endif if (_isFinished) { break; } diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index 175a3f1f1c..f050997235 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -39,9 +39,9 @@ #include "ScriptUUID.h" #include "Vec3.h" -const QString NO_SCRIPT(""); +static const QString NO_SCRIPT(""); -const unsigned int SCRIPT_DATA_CALLBACK_USECS = floor(((1.0f / 60.0f) * 1000 * 1000) + 0.5f); +static const int SCRIPT_FPS = 60; class CallbackData { public: From a0771f8ee511c3f2ae0cb2d8a8ba03d1d34e32e6 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 6 May 2016 11:10:22 -0700 Subject: [PATCH 068/106] use smart pointers for entity simulations --- assignment-client/src/AssignmentAction.cpp | 2 +- assignment-client/src/AssignmentAction.h | 2 +- .../src/entities/EntityServer.cpp | 2 +- assignment-client/src/entities/EntityServer.h | 4 +++- interface/src/Application.cpp | 23 ++++++++++--------- interface/src/Application.h | 2 +- .../src/RenderablePolyVoxEntityItem.cpp | 4 ++-- .../entities/src/EntityActionInterface.h | 4 +++- libraries/entities/src/EntityItem.cpp | 18 +++++++-------- libraries/entities/src/EntityItem.h | 14 +++++------ .../entities/src/EntityScriptingInterface.cpp | 14 +++++------ .../entities/src/EntityScriptingInterface.h | 4 ++-- libraries/entities/src/EntitySimulation.cpp | 2 +- libraries/entities/src/EntitySimulation.h | 11 ++++++--- libraries/entities/src/EntityTree.cpp | 2 +- libraries/entities/src/EntityTree.h | 6 ++--- .../entities/src/EntityTreeHeadlessViewer.cpp | 2 +- .../entities/src/EntityTreeHeadlessViewer.h | 2 +- .../entities/src/SimpleEntitySimulation.h | 4 ++++ libraries/physics/src/ObjectAction.cpp | 2 +- libraries/physics/src/ObjectAction.h | 2 +- .../physics/src/PhysicalEntitySimulation.cpp | 2 +- .../physics/src/PhysicalEntitySimulation.h | 4 +++- 23 files changed, 74 insertions(+), 58 deletions(-) diff --git a/assignment-client/src/AssignmentAction.cpp b/assignment-client/src/AssignmentAction.cpp index 388f4123f6..8d296cd6ab 100644 --- a/assignment-client/src/AssignmentAction.cpp +++ b/assignment-client/src/AssignmentAction.cpp @@ -23,7 +23,7 @@ AssignmentAction::AssignmentAction(EntityActionType type, const QUuid& id, Entit AssignmentAction::~AssignmentAction() { } -void AssignmentAction::removeFromSimulation(EntitySimulation* simulation) const { +void AssignmentAction::removeFromSimulation(EntitySimulationPointer simulation) const { withReadLock([&]{ simulation->removeAction(_id); simulation->applyActionChanges(); diff --git a/assignment-client/src/AssignmentAction.h b/assignment-client/src/AssignmentAction.h index 6b901c9766..6b55b280bb 100644 --- a/assignment-client/src/AssignmentAction.h +++ b/assignment-client/src/AssignmentAction.h @@ -24,7 +24,7 @@ public: AssignmentAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~AssignmentAction(); - virtual void removeFromSimulation(EntitySimulation* simulation) const; + virtual void removeFromSimulation(EntitySimulationPointer simulation) const; virtual EntityItemWeakPointer getOwnerEntity() const { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) { _ownerEntity = ownerEntity; } virtual bool updateArguments(QVariantMap arguments); diff --git a/assignment-client/src/entities/EntityServer.cpp b/assignment-client/src/entities/EntityServer.cpp index 867412f6c0..0555f95c65 100644 --- a/assignment-client/src/entities/EntityServer.cpp +++ b/assignment-client/src/entities/EntityServer.cpp @@ -56,7 +56,7 @@ OctreePointer EntityServer::createTree() { tree->createRootElement(); tree->addNewlyCreatedHook(this); if (!_entitySimulation) { - SimpleEntitySimulation* simpleSimulation = new SimpleEntitySimulation(); + SimpleEntitySimulationPointer simpleSimulation { new SimpleEntitySimulation() }; simpleSimulation->setEntityTree(tree); tree->setSimulation(simpleSimulation); _entitySimulation = simpleSimulation; diff --git a/assignment-client/src/entities/EntityServer.h b/assignment-client/src/entities/EntityServer.h index ec58cda6cd..1685f08e01 100644 --- a/assignment-client/src/entities/EntityServer.h +++ b/assignment-client/src/entities/EntityServer.h @@ -28,6 +28,8 @@ struct ViewerSendingStats { }; class SimpleEntitySimulation; +using SimpleEntitySimulationPointer = std::shared_ptr; + class EntityServer : public OctreeServer, public NewlyCreatedEntityHook { Q_OBJECT @@ -69,7 +71,7 @@ private slots: void handleEntityPacket(QSharedPointer message, SharedNodePointer senderNode); private: - SimpleEntitySimulation* _entitySimulation; + SimpleEntitySimulationPointer _entitySimulation; QTimer* _pruneDeletedEntitiesTimer = nullptr; QReadWriteLock _viewerSendingStatsLock; diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 4a829b3191..0f14aa299c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -509,6 +509,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : _sessionRunTimer(startupTimer), _previousSessionCrashed(setupEssentials(argc, argv)), _undoStackScriptingInterface(&_undoStack), + _entitySimulation(new PhysicalEntitySimulation()), _physicsEngine(new PhysicsEngine(Vectors::ZERO)), _entityClipboardRenderer(false, this, this), _entityClipboard(new EntityTree()), @@ -2995,13 +2996,13 @@ void Application::init() { _physicsEngine->init(); EntityTreePointer tree = getEntities()->getTree(); - _entitySimulation.init(tree, _physicsEngine, &_entityEditSender); - tree->setSimulation(&_entitySimulation); + _entitySimulation->init(tree, _physicsEngine, &_entityEditSender); + tree->setSimulation(_entitySimulation); auto entityScriptingInterface = DependencyManager::get(); // connect the _entityCollisionSystem to our EntityTreeRenderer since that's what handles running entity scripts - connect(&_entitySimulation, &EntitySimulation::entityCollisionWithEntity, + connect(_entitySimulation.get(), &EntitySimulation::entityCollisionWithEntity, getEntities(), &EntityTreeRenderer::entityCollisionWithEntity); // connect the _entities (EntityTreeRenderer) to our script engine's EntityScriptingInterface for firing @@ -3404,22 +3405,22 @@ void Application::update(float deltaTime) { PerformanceTimer perfTimer("updateStates)"); static VectorOfMotionStates motionStates; - _entitySimulation.getObjectsToRemoveFromPhysics(motionStates); + _entitySimulation->getObjectsToRemoveFromPhysics(motionStates); _physicsEngine->removeObjects(motionStates); - _entitySimulation.deleteObjectsRemovedFromPhysics(); + _entitySimulation->deleteObjectsRemovedFromPhysics(); getEntities()->getTree()->withReadLock([&] { - _entitySimulation.getObjectsToAddToPhysics(motionStates); + _entitySimulation->getObjectsToAddToPhysics(motionStates); _physicsEngine->addObjects(motionStates); }); getEntities()->getTree()->withReadLock([&] { - _entitySimulation.getObjectsToChange(motionStates); + _entitySimulation->getObjectsToChange(motionStates); VectorOfMotionStates stillNeedChange = _physicsEngine->changeObjects(motionStates); - _entitySimulation.setObjectsToChange(stillNeedChange); + _entitySimulation->setObjectsToChange(stillNeedChange); }); - _entitySimulation.applyActionChanges(); + _entitySimulation->applyActionChanges(); avatarManager->getObjectsToRemoveFromPhysics(motionStates); _physicsEngine->removeObjects(motionStates); @@ -3447,7 +3448,7 @@ void Application::update(float deltaTime) { getEntities()->getTree()->withWriteLock([&] { PerformanceTimer perfTimer("handleOutgoingChanges"); const VectorOfMotionStates& outgoingChanges = _physicsEngine->getOutgoingChanges(); - _entitySimulation.handleOutgoingChanges(outgoingChanges); + _entitySimulation->handleOutgoingChanges(outgoingChanges); avatarManager->handleOutgoingChanges(outgoingChanges); }); @@ -3460,7 +3461,7 @@ void Application::update(float deltaTime) { PerformanceTimer perfTimer("entities"); // Collision events (and their scripts) must not be handled when we're locked, above. (That would risk // deadlock.) - _entitySimulation.handleCollisionEvents(collisionEvents); + _entitySimulation->handleCollisionEvents(collisionEvents); // NOTE: the getEntities()->update() call below will wait for lock // and will simulate entity motion (the EntityTree has been given an EntitySimulation). diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..528539307e 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -408,7 +408,7 @@ private: QElapsedTimer _lastTimeUpdated; ShapeManager _shapeManager; - PhysicalEntitySimulation _entitySimulation; + PhysicalEntitySimulationPointer _entitySimulation; PhysicsEnginePointer _physicsEngine; EntityTreeRenderer _entityClipboardRenderer; diff --git a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp index 6c4e3994c6..1d5570b8b7 100644 --- a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp @@ -977,8 +977,8 @@ void RenderablePolyVoxEntityItem::compressVolumeDataAndSendEditPacket() { properties.setVoxelDataDirty(); properties.setLastEdited(now); - EntitySimulation* simulation = tree ? tree->getSimulation() : nullptr; - PhysicalEntitySimulation* peSimulation = static_cast(simulation); + EntitySimulationPointer simulation = tree ? tree->getSimulation() : nullptr; + PhysicalEntitySimulationPointer peSimulation = std::static_pointer_cast(simulation); EntityEditPacketSender* packetSender = peSimulation ? peSimulation->getPacketSender() : nullptr; if (packetSender) { packetSender->queueEditEntityMessage(PacketType::EntityEdit, entity->getID(), properties); diff --git a/libraries/entities/src/EntityActionInterface.h b/libraries/entities/src/EntityActionInterface.h index c634326a31..a872bc71a4 100644 --- a/libraries/entities/src/EntityActionInterface.h +++ b/libraries/entities/src/EntityActionInterface.h @@ -20,6 +20,8 @@ class EntityItem; class EntitySimulation; using EntityItemPointer = std::shared_ptr; using EntityItemWeakPointer = std::weak_ptr; +class EntitySimulation; +using EntitySimulationPointer = std::shared_ptr; enum EntityActionType { // keep these synchronized with actionTypeFromString and actionTypeToString @@ -39,7 +41,7 @@ public: bool isActive() { return _active; } - virtual void removeFromSimulation(EntitySimulation* simulation) const = 0; + virtual void removeFromSimulation(EntitySimulationPointer simulation) const = 0; virtual EntityItemWeakPointer getOwnerEntity() const = 0; virtual void setOwnerEntity(const EntityItemPointer ownerEntity) = 0; virtual bool updateArguments(QVariantMap arguments) = 0; diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index bdedbbce77..5476b48af0 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -89,7 +89,7 @@ EntityItem::EntityItem(const EntityItemID& entityItemID) : EntityItem::~EntityItem() { // clear out any left-over actions EntityTreePointer entityTree = _element ? _element->getTree() : nullptr; - EntitySimulation* simulation = entityTree ? entityTree->getSimulation() : nullptr; + EntitySimulationPointer simulation = entityTree ? entityTree->getSimulation() : nullptr; if (simulation) { clearActions(simulation); } @@ -1700,7 +1700,7 @@ void EntityItem::setPendingOwnershipPriority(quint8 priority, const quint64& tim _simulationOwner.setPendingPriority(priority, timestamp); } -bool EntityItem::addAction(EntitySimulation* simulation, EntityActionPointer action) { +bool EntityItem::addAction(EntitySimulationPointer simulation, EntityActionPointer action) { bool result; withWriteLock([&] { checkWaitingToRemove(simulation); @@ -1716,7 +1716,7 @@ bool EntityItem::addAction(EntitySimulation* simulation, EntityActionPointer act return result; } -bool EntityItem::addActionInternal(EntitySimulation* simulation, EntityActionPointer action) { +bool EntityItem::addActionInternal(EntitySimulationPointer simulation, EntityActionPointer action) { assert(action); assert(simulation); auto actionOwnerEntity = action->getOwnerEntity().lock(); @@ -1740,7 +1740,7 @@ bool EntityItem::addActionInternal(EntitySimulation* simulation, EntityActionPoi return success; } -bool EntityItem::updateAction(EntitySimulation* simulation, const QUuid& actionID, const QVariantMap& arguments) { +bool EntityItem::updateAction(EntitySimulationPointer simulation, const QUuid& actionID, const QVariantMap& arguments) { bool success = false; withWriteLock([&] { checkWaitingToRemove(simulation); @@ -1763,7 +1763,7 @@ bool EntityItem::updateAction(EntitySimulation* simulation, const QUuid& actionI return success; } -bool EntityItem::removeAction(EntitySimulation* simulation, const QUuid& actionID) { +bool EntityItem::removeAction(EntitySimulationPointer simulation, const QUuid& actionID) { bool success = false; withWriteLock([&] { checkWaitingToRemove(simulation); @@ -1772,7 +1772,7 @@ bool EntityItem::removeAction(EntitySimulation* simulation, const QUuid& actionI return success; } -bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulation* simulation) { +bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulationPointer simulation) { _previouslyDeletedActions.insert(actionID, usecTimestampNow()); if (_objectActions.contains(actionID)) { if (!simulation) { @@ -1798,7 +1798,7 @@ bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulation* s return false; } -bool EntityItem::clearActions(EntitySimulation* simulation) { +bool EntityItem::clearActions(EntitySimulationPointer simulation) { withWriteLock([&] { QHash::iterator i = _objectActions.begin(); while (i != _objectActions.end()) { @@ -1834,7 +1834,7 @@ void EntityItem::deserializeActionsInternal() { EntityTreePointer entityTree = getTree(); assert(entityTree); - EntitySimulation* simulation = entityTree ? entityTree->getSimulation() : nullptr; + EntitySimulationPointer simulation = entityTree ? entityTree->getSimulation() : nullptr; assert(simulation); QVector serializedActions; @@ -1912,7 +1912,7 @@ void EntityItem::deserializeActionsInternal() { return; } -void EntityItem::checkWaitingToRemove(EntitySimulation* simulation) { +void EntityItem::checkWaitingToRemove(EntitySimulationPointer simulation) { foreach(QUuid actionID, _actionsToRemove) { removeActionInternal(actionID, simulation); } diff --git a/libraries/entities/src/EntityItem.h b/libraries/entities/src/EntityItem.h index ecb9800e70..b066fcff6a 100644 --- a/libraries/entities/src/EntityItem.h +++ b/libraries/entities/src/EntityItem.h @@ -378,10 +378,10 @@ public: void grabSimulationOwnership(); void flagForMotionStateChange() { _dirtyFlags |= Simulation::DIRTY_MOTION_TYPE; } - bool addAction(EntitySimulation* simulation, EntityActionPointer action); - bool updateAction(EntitySimulation* simulation, const QUuid& actionID, const QVariantMap& arguments); - bool removeAction(EntitySimulation* simulation, const QUuid& actionID); - bool clearActions(EntitySimulation* simulation); + bool addAction(EntitySimulationPointer simulation, EntityActionPointer action); + bool updateAction(EntitySimulationPointer simulation, const QUuid& actionID, const QVariantMap& arguments); + bool removeAction(EntitySimulationPointer simulation, const QUuid& actionID); + bool clearActions(EntitySimulationPointer simulation); void setActionData(QByteArray actionData); const QByteArray getActionData() const; bool hasActions() const { return !_objectActions.empty(); } @@ -516,8 +516,8 @@ protected: void* _physicsInfo = nullptr; // set by EntitySimulation bool _simulated; // set by EntitySimulation - bool addActionInternal(EntitySimulation* simulation, EntityActionPointer action); - bool removeActionInternal(const QUuid& actionID, EntitySimulation* simulation = nullptr); + bool addActionInternal(EntitySimulationPointer simulation, EntityActionPointer action); + bool removeActionInternal(const QUuid& actionID, EntitySimulationPointer simulation = nullptr); void deserializeActionsInternal(); void serializeActions(bool& success, QByteArray& result) const; QHash _objectActions; @@ -528,7 +528,7 @@ protected: // when an entity-server starts up, EntityItem::setActionData is called before the entity-tree is // ready. This means we can't find our EntityItemPointer or add the action to the simulation. These // are used to keep track of and work around this situation. - void checkWaitingToRemove(EntitySimulation* simulation = nullptr); + void checkWaitingToRemove(EntitySimulationPointer simulation = nullptr); mutable QSet _actionsToRemove; mutable bool _actionDataDirty = false; mutable bool _actionDataNeedsTransmit = false; diff --git a/libraries/entities/src/EntityScriptingInterface.cpp b/libraries/entities/src/EntityScriptingInterface.cpp index 093fa73ace..01f444491d 100644 --- a/libraries/entities/src/EntityScriptingInterface.cpp +++ b/libraries/entities/src/EntityScriptingInterface.cpp @@ -766,7 +766,7 @@ bool EntityScriptingInterface::appendPoint(QUuid entityID, const glm::vec3& poin bool EntityScriptingInterface::actionWorker(const QUuid& entityID, - std::function actor) { + std::function actor) { if (!_entityTree) { return false; } @@ -774,7 +774,7 @@ bool EntityScriptingInterface::actionWorker(const QUuid& entityID, EntityItemPointer entity; bool doTransmit = false; _entityTree->withWriteLock([&] { - EntitySimulation* simulation = _entityTree->getSimulation(); + EntitySimulationPointer simulation = _entityTree->getSimulation(); entity = _entityTree->findEntityByEntityItemID(entityID); if (!entity) { qDebug() << "actionWorker -- unknown entity" << entityID; @@ -815,7 +815,7 @@ QUuid EntityScriptingInterface::addAction(const QString& actionTypeString, QUuid actionID = QUuid::createUuid(); auto actionFactory = DependencyManager::get(); bool success = false; - actionWorker(entityID, [&](EntitySimulation* simulation, EntityItemPointer entity) { + actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) { // create this action even if the entity doesn't have physics info. it will often be the // case that a script adds an action immediately after an object is created, and the physicsInfo // is computed asynchronously. @@ -843,7 +843,7 @@ QUuid EntityScriptingInterface::addAction(const QString& actionTypeString, bool EntityScriptingInterface::updateAction(const QUuid& entityID, const QUuid& actionID, const QVariantMap& arguments) { - return actionWorker(entityID, [&](EntitySimulation* simulation, EntityItemPointer entity) { + return actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) { bool success = entity->updateAction(simulation, actionID, arguments); if (success) { entity->grabSimulationOwnership(); @@ -854,7 +854,7 @@ bool EntityScriptingInterface::updateAction(const QUuid& entityID, const QUuid& bool EntityScriptingInterface::deleteAction(const QUuid& entityID, const QUuid& actionID) { bool success = false; - actionWorker(entityID, [&](EntitySimulation* simulation, EntityItemPointer entity) { + actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) { success = entity->removeAction(simulation, actionID); if (success) { // reduce from grab to poke @@ -867,7 +867,7 @@ bool EntityScriptingInterface::deleteAction(const QUuid& entityID, const QUuid& QVector EntityScriptingInterface::getActionIDs(const QUuid& entityID) { QVector result; - actionWorker(entityID, [&](EntitySimulation* simulation, EntityItemPointer entity) { + actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) { QList actionIDs = entity->getActionIDs(); result = QVector::fromList(actionIDs); return false; // don't send an edit packet @@ -877,7 +877,7 @@ QVector EntityScriptingInterface::getActionIDs(const QUuid& entityID) { QVariantMap EntityScriptingInterface::getActionArguments(const QUuid& entityID, const QUuid& actionID) { QVariantMap result; - actionWorker(entityID, [&](EntitySimulation* simulation, EntityItemPointer entity) { + actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) { result = entity->getActionArguments(actionID); return false; // don't send an edit packet }); diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h index e5f913dbf8..5f80b7abb2 100644 --- a/libraries/entities/src/EntityScriptingInterface.h +++ b/libraries/entities/src/EntityScriptingInterface.h @@ -200,11 +200,11 @@ signals: void debitEnergySource(float value); private: - bool actionWorker(const QUuid& entityID, std::function actor); + bool actionWorker(const QUuid& entityID, std::function actor); bool setVoxels(QUuid entityID, std::function actor); bool setPoints(QUuid entityID, std::function actor); void queueEntityMessage(PacketType packetType, EntityItemID entityID, const EntityItemProperties& properties); - + EntityItemPointer checkForTreeEntityAndTypeMatch(const QUuid& entityID, EntityTypes::EntityType entityType = EntityTypes::Unknown); diff --git a/libraries/entities/src/EntitySimulation.cpp b/libraries/entities/src/EntitySimulation.cpp index 524f52e815..893ae83cc5 100644 --- a/libraries/entities/src/EntitySimulation.cpp +++ b/libraries/entities/src/EntitySimulation.cpp @@ -64,7 +64,7 @@ void EntitySimulation::prepareEntityForDelete(EntityItemPointer entity) { assert(entity->isDead()); if (entity->isSimulated()) { QMutexLocker lock(&_mutex); - entity->clearActions(this); + entity->clearActions(getThisPointer()); removeEntityInternal(entity); _entitiesToDelete.insert(entity); } diff --git a/libraries/entities/src/EntitySimulation.h b/libraries/entities/src/EntitySimulation.h index cbedbbd868..f8f506ac70 100644 --- a/libraries/entities/src/EntitySimulation.h +++ b/libraries/entities/src/EntitySimulation.h @@ -22,8 +22,9 @@ #include "EntityItem.h" #include "EntityTree.h" -typedef QSet SetOfEntities; -typedef QVector VectorOfEntities; +using EntitySimulationPointer = std::shared_ptr; +using SetOfEntities = QSet; +using VectorOfEntities = QVector; // the EntitySimulation needs to know when these things change on an entity, // so it can sort EntityItem or relay its state to the PhysicsEngine. @@ -41,12 +42,16 @@ const int DIRTY_SIMULATION_FLAGS = Simulation::DIRTY_MATERIAL | Simulation::DIRTY_SIMULATOR_ID; -class EntitySimulation : public QObject { +class EntitySimulation : public QObject, public std::enable_shared_from_this { Q_OBJECT public: EntitySimulation() : _mutex(QMutex::Recursive), _entityTree(NULL), _nextExpiry(quint64(-1)) { } virtual ~EntitySimulation() { setEntityTree(NULL); } + inline EntitySimulationPointer getThisPointer() const { + return std::const_pointer_cast(shared_from_this()); + } + /// \param tree pointer to EntityTree which is stored internally void setEntityTree(EntityTreePointer tree); diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index b4f0c484d5..0066dfac7e 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -368,7 +368,7 @@ void EntityTree::maybeNotifyNewCollisionSoundURL(const QString& previousCollisio } } -void EntityTree::setSimulation(EntitySimulation* simulation) { +void EntityTree::setSimulation(EntitySimulationPointer simulation) { this->withWriteLock([&] { if (simulation) { // assert that the simulation's backpointer has already been properly connected diff --git a/libraries/entities/src/EntityTree.h b/libraries/entities/src/EntityTree.h index 54e516d01d..3fb21832da 100644 --- a/libraries/entities/src/EntityTree.h +++ b/libraries/entities/src/EntityTree.h @@ -194,8 +194,8 @@ public: void emitEntityScriptChanging(const EntityItemID& entityItemID, const bool reload); - void setSimulation(EntitySimulation* simulation); - EntitySimulation* getSimulation() const { return _simulation; } + void setSimulation(EntitySimulationPointer simulation); + EntitySimulationPointer getSimulation() const { return _simulation; } bool wantEditLogging() const { return _wantEditLogging; } void setWantEditLogging(bool value) { _wantEditLogging = value; } @@ -297,7 +297,7 @@ protected: mutable QReadWriteLock _entityToElementLock; QHash _entityToElementMap; - EntitySimulation* _simulation; + EntitySimulationPointer _simulation; bool _wantEditLogging = false; bool _wantTerseEditLogging = false; diff --git a/libraries/entities/src/EntityTreeHeadlessViewer.cpp b/libraries/entities/src/EntityTreeHeadlessViewer.cpp index 149f92adad..81c42cda1e 100644 --- a/libraries/entities/src/EntityTreeHeadlessViewer.cpp +++ b/libraries/entities/src/EntityTreeHeadlessViewer.cpp @@ -22,7 +22,7 @@ EntityTreeHeadlessViewer::~EntityTreeHeadlessViewer() { void EntityTreeHeadlessViewer::init() { OctreeHeadlessViewer::init(); if (!_simulation) { - SimpleEntitySimulation* simpleSimulation = new SimpleEntitySimulation(); + SimpleEntitySimulationPointer simpleSimulation { new SimpleEntitySimulation() }; EntityTreePointer entityTree = std::static_pointer_cast(_tree); simpleSimulation->setEntityTree(entityTree); entityTree->setSimulation(simpleSimulation); diff --git a/libraries/entities/src/EntityTreeHeadlessViewer.h b/libraries/entities/src/EntityTreeHeadlessViewer.h index 40e428b655..0e0d4f9726 100644 --- a/libraries/entities/src/EntityTreeHeadlessViewer.h +++ b/libraries/entities/src/EntityTreeHeadlessViewer.h @@ -49,7 +49,7 @@ protected: return newTree; } - EntitySimulation* _simulation; + EntitySimulationPointer _simulation; }; #endif // hifi_EntityTreeHeadlessViewer_h diff --git a/libraries/entities/src/SimpleEntitySimulation.h b/libraries/entities/src/SimpleEntitySimulation.h index 12ded8a30d..9c7c9a374e 100644 --- a/libraries/entities/src/SimpleEntitySimulation.h +++ b/libraries/entities/src/SimpleEntitySimulation.h @@ -14,6 +14,10 @@ #include "EntitySimulation.h" +class SimpleEntitySimulation; +using SimpleEntitySimulationPointer = std::shared_ptr; + + /// provides simple velocity + gravity extrapolation of EntityItem's class SimpleEntitySimulation : public EntitySimulation { diff --git a/libraries/physics/src/ObjectAction.cpp b/libraries/physics/src/ObjectAction.cpp index 8d33c69d1c..ca64cabe5f 100644 --- a/libraries/physics/src/ObjectAction.cpp +++ b/libraries/physics/src/ObjectAction.cpp @@ -138,7 +138,7 @@ QVariantMap ObjectAction::getArguments() { void ObjectAction::debugDraw(btIDebugDraw* debugDrawer) { } -void ObjectAction::removeFromSimulation(EntitySimulation* simulation) const { +void ObjectAction::removeFromSimulation(EntitySimulationPointer simulation) const { QUuid myID; withReadLock([&]{ myID = _id; diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index efc5808f14..43330269ac 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -29,7 +29,7 @@ public: ObjectAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectAction(); - virtual void removeFromSimulation(EntitySimulation* simulation) const override; + virtual void removeFromSimulation(EntitySimulationPointer simulation) const override; virtual EntityItemWeakPointer getOwnerEntity() const override { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) override { _ownerEntity = ownerEntity; } diff --git a/libraries/physics/src/PhysicalEntitySimulation.cpp b/libraries/physics/src/PhysicalEntitySimulation.cpp index 70ca512646..3fbf8ffaf5 100644 --- a/libraries/physics/src/PhysicalEntitySimulation.cpp +++ b/libraries/physics/src/PhysicalEntitySimulation.cpp @@ -156,7 +156,7 @@ void PhysicalEntitySimulation::clearEntitiesInternal() { void PhysicalEntitySimulation::prepareEntityForDelete(EntityItemPointer entity) { assert(entity); assert(entity->isDead()); - entity->clearActions(this); + entity->clearActions(getThisPointer()); removeEntityInternal(entity); } // end EntitySimulation overrides diff --git a/libraries/physics/src/PhysicalEntitySimulation.h b/libraries/physics/src/PhysicalEntitySimulation.h index 935ee57115..24b9ba95f0 100644 --- a/libraries/physics/src/PhysicalEntitySimulation.h +++ b/libraries/physics/src/PhysicalEntitySimulation.h @@ -23,7 +23,9 @@ #include "PhysicsEngine.h" #include "EntityMotionState.h" -typedef QSet SetOfEntityMotionStates; +class PhysicalEntitySimulation; +using PhysicalEntitySimulationPointer = std::shared_ptr; +using SetOfEntityMotionStates = QSet; class PhysicalEntitySimulation :public EntitySimulation { public: From f8f86a0d451b991846dc3796398d36799df06e1d Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sat, 7 May 2016 11:05:38 -0700 Subject: [PATCH 069/106] only _exit if not DEBUG --- interface/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/main.cpp b/interface/src/main.cpp index bf1fe1d922..1726d47045 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -203,7 +203,7 @@ int main(int argc, const char* argv[]) { Application::shutdownPlugins(); qCDebug(interfaceapp, "Normal exit."); -#if defined(DEBUG) && !defined(Q_OS_LINUX) +#if !defined(DEBUG) && !defined(Q_OS_LINUX) // HACK: exit immediately (don't handle shutdown callbacks) for Release build _exit(exitCode); #endif From 0f768b13b9a61c10ead0dc072a3ca08fbf3a024a Mon Sep 17 00:00:00 2001 From: Bradley Austin Davis Date: Sat, 7 May 2016 18:42:43 -0700 Subject: [PATCH 070/106] Working on OSX Rift functionality --- .../display-plugins/OpenGLDisplayPlugin.cpp | 18 +-- .../src/display-plugins/OpenGLDisplayPlugin.h | 1 + .../display-plugins/hmd/HmdDisplayPlugin.cpp | 21 ++-- libraries/gl/src/gl/QOpenGLContextWrapper.cpp | 13 ++- libraries/gl/src/gl/QOpenGLContextWrapper.h | 3 + plugins/oculusLegacy/CMakeLists.txt | 8 +- .../src/OculusLegacyDisplayPlugin.cpp | 104 ++++++++++++++---- .../src/OculusLegacyDisplayPlugin.h | 31 +++--- 8 files changed, 144 insertions(+), 55 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index 7d4eebb7a2..a0b6ae3939 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -237,12 +237,6 @@ bool OpenGLDisplayPlugin::activate() { _vsyncSupported = _container->getPrimaryWidget()->isVsyncSupported(); - // Child classes may override this in order to do things like initialize - // libraries, etc - if (!internalActivate()) { - return false; - } - #if THREADED_PRESENT // Start the present thread if necessary @@ -258,8 +252,18 @@ bool OpenGLDisplayPlugin::activate() { // Start execution presentThread->start(); } + _presentThread = presentThread.data(); +#endif + + // Child classes may override this in order to do things like initialize + // libraries, etc + if (!internalActivate()) { + return false; + } - // This should not return until the new context has been customized +#if THREADED_PRESENT + + // This should not return until the new context has been customized // and the old context (if any) has been uncustomized presentThread->setNewDisplayPlugin(this); #else diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.h index defa57fc58..c87ff1bc93 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.h @@ -103,6 +103,7 @@ protected: virtual void updateFrameData(); + QThread* _presentThread{ nullptr }; ProgramPtr _program; int32_t _mvpUniform { -1 }; int32_t _alphaUniform { -1 }; diff --git a/libraries/display-plugins/src/display-plugins/hmd/HmdDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/hmd/HmdDisplayPlugin.cpp index 79b50a7f88..372337ae4d 100644 --- a/libraries/display-plugins/src/display-plugins/hmd/HmdDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/hmd/HmdDisplayPlugin.cpp @@ -63,7 +63,7 @@ bool HmdDisplayPlugin::internalActivate() { } -static const char * REPROJECTION_VS = R"VS(#version 450 core +static const char * REPROJECTION_VS = R"VS(#version 410 core in vec3 Position; in vec2 TexCoord; @@ -78,15 +78,15 @@ void main() { )VS"; -static const GLint REPROJECTION_MATRIX_LOCATION = 0; -static const GLint INVERSE_PROJECTION_MATRIX_LOCATION = 4; -static const GLint PROJECTION_MATRIX_LOCATION = 12; -static const char * REPROJECTION_FS = R"FS(#version 450 core +static GLint REPROJECTION_MATRIX_LOCATION = -1; +static GLint INVERSE_PROJECTION_MATRIX_LOCATION = -1; +static GLint PROJECTION_MATRIX_LOCATION = -1; +static const char * REPROJECTION_FS = R"FS(#version 410 core uniform sampler2D sampler; -layout (location = 0) uniform mat3 reprojection = mat3(1); -layout (location = 4) uniform mat4 inverseProjections[2]; -layout (location = 12) uniform mat4 projections[2]; +uniform mat3 reprojection = mat3(1); +uniform mat4 inverseProjections[2]; +uniform mat4 projections[2]; in vec2 vTexCoord; in vec3 vPosition; @@ -205,6 +205,11 @@ void HmdDisplayPlugin::customizeContext() { _enablePreview = !isVsyncEnabled(); _sphereSection = loadSphereSection(_program, CompositorHelper::VIRTUAL_UI_TARGET_FOV.y, CompositorHelper::VIRTUAL_UI_ASPECT_RATIO); compileProgram(_reprojectionProgram, REPROJECTION_VS, REPROJECTION_FS); + + using namespace oglplus; + REPROJECTION_MATRIX_LOCATION = Uniform(*_reprojectionProgram, "reprojection").Location(); + INVERSE_PROJECTION_MATRIX_LOCATION = Uniform(*_reprojectionProgram, "inverseProjections").Location(); + PROJECTION_MATRIX_LOCATION = Uniform(*_reprojectionProgram, "projections").Location(); } void HmdDisplayPlugin::uncustomizeContext() { diff --git a/libraries/gl/src/gl/QOpenGLContextWrapper.cpp b/libraries/gl/src/gl/QOpenGLContextWrapper.cpp index 185fdaf7f4..8c9a1ba113 100644 --- a/libraries/gl/src/gl/QOpenGLContextWrapper.cpp +++ b/libraries/gl/src/gl/QOpenGLContextWrapper.cpp @@ -17,8 +17,15 @@ QOpenGLContext* QOpenGLContextWrapper::currentContext() { return QOpenGLContext::currentContext(); } + QOpenGLContextWrapper::QOpenGLContextWrapper() : - _context(new QOpenGLContext) +_context(new QOpenGLContext) +{ +} + + +QOpenGLContextWrapper::QOpenGLContextWrapper(QOpenGLContext* context) : + _context(context) { } @@ -50,3 +57,7 @@ bool isCurrentContext(QOpenGLContext* context) { return QOpenGLContext::currentContext() == context; } +void QOpenGLContextWrapper::moveToThread(QThread* thread) { + _context->moveToThread(thread); +} + diff --git a/libraries/gl/src/gl/QOpenGLContextWrapper.h b/libraries/gl/src/gl/QOpenGLContextWrapper.h index 09f1d67280..33cc0b25e9 100644 --- a/libraries/gl/src/gl/QOpenGLContextWrapper.h +++ b/libraries/gl/src/gl/QOpenGLContextWrapper.h @@ -15,16 +15,19 @@ class QOpenGLContext; class QSurface; class QSurfaceFormat; +class QThread; class QOpenGLContextWrapper { public: QOpenGLContextWrapper(); + QOpenGLContextWrapper(QOpenGLContext* context); void setFormat(const QSurfaceFormat& format); bool create(); void swapBuffers(QSurface* surface); bool makeCurrent(QSurface* surface); void doneCurrent(); void setShareContext(QOpenGLContext* otherContext); + void moveToThread(QThread* thread); static QOpenGLContext* currentContext(); diff --git a/plugins/oculusLegacy/CMakeLists.txt b/plugins/oculusLegacy/CMakeLists.txt index 9e97b3791c..a4e00013f1 100644 --- a/plugins/oculusLegacy/CMakeLists.txt +++ b/plugins/oculusLegacy/CMakeLists.txt @@ -12,13 +12,17 @@ if (APPLE) set(TARGET_NAME oculusLegacy) setup_hifi_plugin() - link_hifi_libraries(shared gl gpu plugins display-plugins input-plugins) + link_hifi_libraries(shared gl gpu plugins ui display-plugins input-plugins) include_hifi_library_headers(octree) add_dependency_external_projects(LibOVR) find_package(LibOVR REQUIRED) target_include_directories(${TARGET_NAME} PRIVATE ${LIBOVR_INCLUDE_DIRS}) - target_link_libraries(${TARGET_NAME} ${LIBOVR_LIBRARIES}) + find_library(COCOA_LIBRARY Cocoa) + find_library(IOKIT_LIBRARY IOKit) + target_link_libraries(${TARGET_NAME} ${LIBOVR_LIBRARIES} ${COCOA_LIBRARY} ${IOKIT_LIBRARY}) + + endif() diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp index 34e36d6a6b..6ceddec11b 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp @@ -9,6 +9,7 @@ #include +#include #include #include #include @@ -16,7 +17,12 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -39,7 +45,7 @@ void OculusLegacyDisplayPlugin::beginFrameRender(uint32_t frameIndex) { _currentRenderFrameInfo = FrameInfo(); _currentRenderFrameInfo.predictedDisplayTime = _currentRenderFrameInfo.sensorSampleTime = ovr_GetTimeInSeconds(); _trackingState = ovrHmd_GetTrackingState(_hmd, _currentRenderFrameInfo.predictedDisplayTime); - _currentRenderFrameInfo.renderPose = toGlm(_trackingState.HeadPose.ThePose); + _currentRenderFrameInfo.rawRenderPose = _currentRenderFrameInfo.renderPose = toGlm(_trackingState.HeadPose.ThePose); Lock lock(_mutex); _frameInfos[frameIndex] = _currentRenderFrameInfo; } @@ -72,14 +78,34 @@ bool OculusLegacyDisplayPlugin::isSupported() const { } bool OculusLegacyDisplayPlugin::internalActivate() { - Parent::internalActivate(); - + if (!Parent::internalActivate()) { + return false; + } + if (!(ovr_Initialize(nullptr))) { Q_ASSERT(false); qFatal("Failed to Initialize SDK"); return false; } + + _hmdWindow = new GLWindow(); + _hmdWindow->create(); + _hmdWindow->createContext(_container->getPrimaryContext()); + auto hmdScreen = qApp->screens()[_hmdScreen]; + auto hmdGeometry = hmdScreen->geometry(); + _hmdWindow->setGeometry(hmdGeometry); + _hmdWindow->showFullScreen(); + + _hmdWindow->makeCurrent(); + glClearColor(1, 0, 0, 1); + glClear(GL_COLOR_BUFFER_BIT); + _hmdWindow->swapBuffers(); + + _container->makeRenderingContextCurrent(); + + QOpenGLContextWrapper(_hmdWindow->context()).moveToThread(_presentThread); + _hswDismissed = false; _hmd = ovrHmd_Create(0); if (!_hmd) { @@ -96,7 +122,8 @@ bool OculusLegacyDisplayPlugin::internalActivate() { ovrMatrix4f ovrPerspectiveProjection = ovrMatrix4f_Projection(erd.Fov, DEFAULT_NEAR_CLIP, DEFAULT_FAR_CLIP, ovrProjection_RightHanded); _eyeProjections[eye] = toGlm(ovrPerspectiveProjection); - _eyeOffsets[eye] = glm::translate(mat4(), toGlm(erd.HmdToEyeViewOffset)); + _ovrEyeOffsets[eye] = erd.HmdToEyeViewOffset; + _eyeOffsets[eye] = glm::translate(mat4(), -1.0f * toGlm(_ovrEyeOffsets[eye])); eyeSizes[eye] = toGlm(ovrHmd_GetFovTextureSize(_hmd, eye, erd.Fov, 1.0f)); }); @@ -121,6 +148,11 @@ void OculusLegacyDisplayPlugin::internalDeactivate() { ovrHmd_Destroy(_hmd); _hmd = nullptr; ovr_Shutdown(); + _hmdWindow->showNormal(); + _hmdWindow->destroy(); + _hmdWindow->deleteLater(); + _hmdWindow = nullptr; + _container->makeRenderingContextCurrent(); } // DLL based display plugins MUST initialize GLEW inside the DLL code. @@ -131,20 +163,21 @@ void OculusLegacyDisplayPlugin::customizeContext() { glewInit(); glGetError(); }); + _hmdWindow->requestActivate(); + QThread::msleep(1000); Parent::customizeContext(); -#if 0 ovrGLConfig config; memset(&config, 0, sizeof(ovrRenderAPIConfig)); auto& header = config.Config.Header; header.API = ovrRenderAPI_OpenGL; header.BackBufferSize = _hmd->Resolution; header.Multisample = 1; - int distortionCaps = ovrDistortionCap_TimeWarp; + int distortionCaps = ovrDistortionCap_TimeWarp | ovrDistortionCap_Vignette; memset(_eyeTextures, 0, sizeof(ovrTexture) * 2); ovr_for_each_eye([&](ovrEyeType eye) { auto& header = _eyeTextures[eye].Header; header.API = ovrRenderAPI_OpenGL; - header.TextureSize = { (int)_desiredFramebufferSize.x, (int)_desiredFramebufferSize.y }; + header.TextureSize = { (int)_renderTargetSize.x, (int)_renderTargetSize.y }; header.RenderViewport.Size = header.TextureSize; header.RenderViewport.Size.w /= 2; if (eye == ovrEye_Right) { @@ -152,29 +185,57 @@ void OculusLegacyDisplayPlugin::customizeContext() { } }); + if (_hmdWindow->makeCurrent()) { #ifndef NDEBUG - ovrBool result = -#endif - ovrHmd_ConfigureRendering(_hmd, &config.Config, distortionCaps, _eyeFovs, _eyeRenderDescs); - assert(result); + ovrBool result = #endif + ovrHmd_ConfigureRendering(_hmd, &config.Config, distortionCaps, _eyeFovs, _eyeRenderDescs); + assert(result); + _hmdWindow->doneCurrent(); + } + } -#if 0 void OculusLegacyDisplayPlugin::uncustomizeContext() { - HmdDisplayPlugin::uncustomizeContext(); + _hmdWindow->doneCurrent(); + QOpenGLContextWrapper(_hmdWindow->context()).moveToThread(qApp->thread()); + Parent::uncustomizeContext(); } -void OculusLegacyDisplayPlugin::internalPresent() { - ovrHmd_BeginFrame(_hmd, 0); - ovr_for_each_eye([&](ovrEyeType eye) { - reinterpret_cast(_eyeTextures[eye]).OGL.TexId = _currentSceneTexture; - }); - ovrHmd_EndFrame(_hmd, _eyePoses, _eyeTextures); -} +void OculusLegacyDisplayPlugin::hmdPresent() { + if (!_hswDismissed) { + ovrHSWDisplayState hswState; + ovrHmd_GetHSWDisplayState(_hmd, &hswState); + if (hswState.Displayed) { + ovrHmd_DismissHSWDisplay(_hmd); + } -#endif + } + auto r = glm::quat_cast(_currentPresentFrameInfo.presentPose); + ovrQuatf ovrRotation = { r.x, r.y, r.z, r.w }; + ovrPosef eyePoses[2]; + memset(eyePoses, 0, sizeof(ovrPosef) * 2); + eyePoses[0].Orientation = eyePoses[1].Orientation = ovrRotation; + + GLint texture = oglplus::GetName(_compositeFramebuffer->color); + auto sync = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0); + glFlush(); + if (_hmdWindow->makeCurrent()) { + glClearColor(0, 0.4, 0.8, 1); + glClear(GL_COLOR_BUFFER_BIT); + ovrHmd_BeginFrame(_hmd, _currentPresentFrameIndex); + glWaitSync(sync, 0, GL_TIMEOUT_IGNORED); + glDeleteSync(sync); + ovr_for_each_eye([&](ovrEyeType eye) { + reinterpret_cast(_eyeTextures[eye]).OGL.TexId = texture; + }); + ovrHmd_EndFrame(_hmd, eyePoses, _eyeTextures); + _hmdWindow->doneCurrent(); + } + static auto widget = _container->getPrimaryWidget(); + widget->makeCurrent(); +} int OculusLegacyDisplayPlugin::getHmdScreen() const { return _hmdScreen; @@ -184,4 +245,3 @@ float OculusLegacyDisplayPlugin::getTargetFrameRate() const { return TARGET_RATE_OculusLegacy; } - diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h index bebf3fa2c7..5900ad4c58 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h @@ -14,42 +14,43 @@ #include const float TARGET_RATE_OculusLegacy = 75.0f; +class GLWindow; class OculusLegacyDisplayPlugin : public HmdDisplayPlugin { using Parent = HmdDisplayPlugin; public: OculusLegacyDisplayPlugin(); - virtual bool isSupported() const override; - virtual const QString& getName() const override { return NAME; } + bool isSupported() const override; + const QString& getName() const override { return NAME; } - virtual int getHmdScreen() const override; + int getHmdScreen() const override; // Stereo specific methods - virtual void resetSensors() override; - virtual void beginFrameRender(uint32_t frameIndex) override; + void resetSensors() override; + void beginFrameRender(uint32_t frameIndex) override; - virtual float getTargetFrameRate() const override; + float getTargetFrameRate() const override; protected: - virtual bool internalActivate() override; - virtual void internalDeactivate() override; + bool internalActivate() override; + void internalDeactivate() override; - virtual void customizeContext() override; - void hmdPresent() override {} + void customizeContext() override; + void uncustomizeContext() override; + void hmdPresent() override; bool isHmdMounted() const override { return true; } -#if 0 - virtual void uncustomizeContext() override; - virtual void internalPresent() override; -#endif private: static const QString NAME; + GLWindow* _hmdWindow{ nullptr }; ovrHmd _hmd; mutable ovrTrackingState _trackingState; ovrEyeRenderDesc _eyeRenderDescs[2]; + ovrVector3f _ovrEyeOffsets[2]; + ovrFovPort _eyeFovs[2]; - //ovrTexture _eyeTextures[2]; // FIXME - not currently in use + ovrTexture _eyeTextures[2]; // FIXME - not currently in use mutable int _hmdScreen { -1 }; bool _hswDismissed { false }; }; From b0a5d8b719fe701896529c463540cb90b8acef89 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 8 May 2016 08:45:58 -0700 Subject: [PATCH 071/106] make Script.include(/~/system/libraries/utils.js) work from web again --- libraries/script-engine/src/ScriptEngine.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 6c7739c784..3e20632163 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -969,7 +969,7 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac } QList urls; bool knowsSensitivity = false; - Qt::CaseSensitivity sensitivity; + Qt::CaseSensitivity sensitivity { Qt::CaseSensitive }; auto getSensitivity = [&]() { if (!knowsSensitivity) { QString path = currentSandboxURL.path(); @@ -986,6 +986,7 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac const auto strippingFlags = QUrl::RemoveFilename | QUrl::RemoveQuery | QUrl::RemoveFragment; for (QString file : includeFiles) { QUrl thisURL; + bool isStandardLibrary = false; if (file.startsWith("/~/")) { thisURL = expandScriptUrl(QUrl::fromLocalFile(expandScriptPath(file))); QUrl defaultScriptsLoc = defaultScriptsLocation(); @@ -993,21 +994,17 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac qDebug() << "ScriptEngine::include -- skipping" << file << "-- outside of standard libraries"; continue; } + isStandardLibrary = true; } else { thisURL = resolvePath(file); } if (!_includedURLs.contains(thisURL)) { - if (!currentSandboxURL.isEmpty() && (thisURL.scheme() == "file") && - ( - (currentSandboxURL.scheme() != "file") || - ( - !thisURL.toString(strippingFlags).startsWith(defaultScriptsLocation().toString(), getSensitivity()) && - !thisURL.toString(strippingFlags).startsWith(currentSandboxURL.toString(strippingFlags), getSensitivity()) - ) - ) - ) { - qCWarning(scriptengine) << "Script.include() ignoring file path" << thisURL << "outside of original entity script" << currentSandboxURL; + if (!isStandardLibrary && !currentSandboxURL.isEmpty() && (thisURL.scheme() == "file") && + (currentSandboxURL.scheme() != "file" || + !thisURL.toString(strippingFlags).startsWith(currentSandboxURL.toString(strippingFlags), getSensitivity()))) { + qCWarning(scriptengine) << "Script.include() ignoring file path" + << thisURL << "outside of original entity script" << currentSandboxURL; } else { // We could also check here for CORS, but we don't yet. // It turns out that QUrl.resolve will not change hosts and copy authority, so we don't need to check that here. From c54d0bc9938dcd4106953c05e38620d6eb62b7aa Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Tue, 12 Apr 2016 12:28:12 -0700 Subject: [PATCH 072/106] Don't expose raw pointer to the display plugin --- interface/src/Application.cpp | 23 ++++++++----------- interface/src/Application.h | 5 ++-- interface/src/PluginContainerProxy.cpp | 2 +- interface/src/PluginContainerProxy.h | 2 +- .../plugins/src/plugins/PluginContainer.h | 2 +- plugins/openvr/src/ViveControllerManager.cpp | 6 ++++- tests/controllers/src/main.cpp | 2 +- 7 files changed, 20 insertions(+), 22 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c2a4088dcc..7e8c96f5af 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4957,24 +4957,19 @@ qreal Application::getDevicePixelRatio() { return (_window && _window->windowHandle()) ? _window->windowHandle()->devicePixelRatio() : 1.0; } -DisplayPlugin* Application::getActiveDisplayPlugin() { - DisplayPlugin* result = nullptr; - if (QThread::currentThread() == thread()) { - if (nullptr == _displayPlugin) { - updateDisplayMode(); - Q_ASSERT(_displayPlugin); - } - result = _displayPlugin.get(); - } else { +DisplayPluginPointer Application::getActiveDisplayPlugin() const { + if (QThread::currentThread() != thread()) { std::unique_lock lock(_displayPluginLock); - result = _displayPlugin.get(); + return _displayPlugin; } - return result; + + if (!_displayPlugin) { + const_cast(this)->updateDisplayMode(); + Q_ASSERT(_displayPlugin); + } + return _displayPlugin; } -const DisplayPlugin* Application::getActiveDisplayPlugin() const { - return const_cast(this)->getActiveDisplayPlugin(); -} static void addDisplayPluginToMenu(DisplayPluginPointer displayPlugin, bool active = false) { auto menu = Menu::getInstance(); diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..fdd5e42006 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -177,8 +177,7 @@ public: void setActiveDisplayPlugin(const QString& pluginName); - DisplayPlugin* getActiveDisplayPlugin(); - const DisplayPlugin* getActiveDisplayPlugin() const; + DisplayPluginPointer getActiveDisplayPlugin() const; FileLogger* getLogger() const { return _logger; } @@ -388,7 +387,7 @@ private: OffscreenGLCanvas* _offscreenContext { nullptr }; DisplayPluginPointer _displayPlugin; - std::mutex _displayPluginLock; + mutable std::mutex _displayPluginLock; InputPluginList _activeInputPlugins; bool _activatingDisplayPlugin { false }; diff --git a/interface/src/PluginContainerProxy.cpp b/interface/src/PluginContainerProxy.cpp index c3d186f190..b651a1520d 100644 --- a/interface/src/PluginContainerProxy.cpp +++ b/interface/src/PluginContainerProxy.cpp @@ -54,7 +54,7 @@ QOpenGLContext* PluginContainerProxy::getPrimaryContext() { return qApp->_glWidget->context()->contextHandle(); } -const DisplayPlugin* PluginContainerProxy::getActiveDisplayPlugin() const { +const DisplayPluginPointer PluginContainerProxy::getActiveDisplayPlugin() const { return qApp->getActiveDisplayPlugin(); } diff --git a/interface/src/PluginContainerProxy.h b/interface/src/PluginContainerProxy.h index 3ec2489c54..a04a1b2977 100644 --- a/interface/src/PluginContainerProxy.h +++ b/interface/src/PluginContainerProxy.h @@ -24,7 +24,7 @@ class PluginContainerProxy : public QObject, PluginContainer { virtual ui::Menu* getPrimaryMenu() override; virtual QOpenGLContext* getPrimaryContext() override; virtual bool isForeground() override; - virtual const DisplayPlugin* getActiveDisplayPlugin() const override; + virtual const DisplayPluginPointer getActiveDisplayPlugin() const override; friend class Application; diff --git a/libraries/plugins/src/plugins/PluginContainer.h b/libraries/plugins/src/plugins/PluginContainer.h index feaabf83e1..e1d1a212e2 100644 --- a/libraries/plugins/src/plugins/PluginContainer.h +++ b/libraries/plugins/src/plugins/PluginContainer.h @@ -64,7 +64,7 @@ public: virtual MainWindow* getPrimaryWindow() = 0; virtual QOpenGLContext* getPrimaryContext() = 0; virtual bool isForeground() = 0; - virtual const DisplayPlugin* getActiveDisplayPlugin() const = 0; + virtual const DisplayPluginPointer getActiveDisplayPlugin() const = 0; /// settings interface bool getBoolSetting(const QString& settingName, bool defaultValue); diff --git a/plugins/openvr/src/ViveControllerManager.cpp b/plugins/openvr/src/ViveControllerManager.cpp index c1ed5aa880..4c469ccefa 100644 --- a/plugins/openvr/src/ViveControllerManager.cpp +++ b/plugins/openvr/src/ViveControllerManager.cpp @@ -11,6 +11,8 @@ #include "ViveControllerManager.h" +#include + #include #include #include @@ -48,9 +50,11 @@ static const QString MENU_PATH = MENU_PARENT + ">" + MENU_NAME; static const QString RENDER_CONTROLLERS = "Render Hand Controllers"; const QString ViveControllerManager::NAME = "OpenVR"; +static const QString DEBUG_FLAG("HIFI_DEBUG_OPENVR"); +static bool enableDebugOpenVR = QProcessEnvironment::systemEnvironment().contains(DEBUG_FLAG); bool ViveControllerManager::isSupported() const { - return !isOculusPresent() && vr::VR_IsHmdPresent(); + return (enableDebugOpenVR || !isOculusPresent()) && vr::VR_IsHmdPresent(); } bool ViveControllerManager::activate() { diff --git a/tests/controllers/src/main.cpp b/tests/controllers/src/main.cpp index 81acf2594d..e978dd9a38 100644 --- a/tests/controllers/src/main.cpp +++ b/tests/controllers/src/main.cpp @@ -91,7 +91,7 @@ public: virtual QOpenGLContext* getPrimaryContext() override { return nullptr; } virtual ui::Menu* getPrimaryMenu() { return nullptr; } virtual bool isForeground() override { return true; } - virtual const DisplayPlugin* getActiveDisplayPlugin() const override { return nullptr; } + virtual const DisplayPluginPointer getActiveDisplayPlugin() const override { return DisplayPluginPointer(); } }; class MyControllerScriptingInterface : public controller::ScriptingInterface { From 641e1526998fe5fcf57f35816c7a5675133d330f Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Fri, 6 May 2016 18:55:09 -0700 Subject: [PATCH 073/106] Eye tracking bug fix and debug rendering improvement * Bug fix for eye tracking in HMD, the "up" orientation of your eyes now match your head. * DebugDraw: added drawRay method. * Application: Renamed preRender to postUpdate * AvatarManager: added postUpdate method that iterates over all avatars. * MyAvatar: Renamed preRender to preDisplaySide * MyAvatar: split preRender code into postUpdate and preDisplaySide. * Removed "Show who is looking at me", "Render focus indicator" and "Render lookat target" debug draw. * Split "Show Look At Vectors" into "Show My Look At Vectors" and "Show Other Look At Vectors", to make it easier to debug eye tracking. * "Show Look at Vectors" now draws the right eye red and the left eye blue. * Removed Avatar and MyAvatar renderBody * Removed look at rendering from head. * GLMHelpers: Bugfix for generateBasisVectors when up primary and secondary axis were orthogonal --- interface/src/Application.cpp | 27 +++-- interface/src/Application.h | 6 +- interface/src/Menu.cpp | 6 +- interface/src/Menu.h | 6 +- interface/src/avatar/Avatar.cpp | 105 ++++++------------ interface/src/avatar/Avatar.h | 7 +- interface/src/avatar/AvatarManager.cpp | 9 ++ interface/src/avatar/AvatarManager.h | 2 + interface/src/avatar/Head.cpp | 46 -------- interface/src/avatar/Head.h | 32 ++---- interface/src/avatar/MyAvatar.cpp | 45 ++------ interface/src/avatar/MyAvatar.h | 4 +- interface/src/avatar/SkeletonModel.cpp | 2 +- libraries/animation/src/Rig.cpp | 18 ++- .../src/AbstractViewStateInterface.h | 4 +- libraries/render-utils/src/AnimDebugDraw.cpp | 18 +++ libraries/render-utils/src/Model.cpp | 2 +- libraries/shared/src/DebugDraw.cpp | 5 + libraries/shared/src/DebugDraw.h | 12 +- libraries/shared/src/GLMHelpers.cpp | 20 +++- 20 files changed, 159 insertions(+), 217 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c2a4088dcc..ea088135bf 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -45,11 +45,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -101,7 +103,7 @@ #include #include -#include "AnimDebugDraw.h" + #include "AudioClient.h" #include "audio/AudioScope.h" #include "avatar/AvatarManager.h" @@ -3033,9 +3035,9 @@ void Application::updateLOD() const { } } -void Application::pushPreRenderLambda(void* key, std::function func) { - std::unique_lock guard(_preRenderLambdasLock); - _preRenderLambdas[key] = func; +void Application::pushPostUpdateLambda(void* key, std::function func) { + std::unique_lock guard(_postUpdateLambdasLock); + _postUpdateLambdas[key] = func; } // Called during Application::update immediately before AvatarManager::updateMyAvatar, updating my data that is then sent to everyone. @@ -3553,15 +3555,19 @@ void Application::update(float deltaTime) { } } + avatarManager->postUpdate(deltaTime); + { PROFILE_RANGE_EX("PreRenderLambdas", 0xffff0000, (uint64_t)0); - std::unique_lock guard(_preRenderLambdasLock); - for (auto& iter : _preRenderLambdas) { + std::unique_lock guard(_postUpdateLambdasLock); + for (auto& iter : _postUpdateLambdas) { iter.second(); } - _preRenderLambdas.clear(); + _postUpdateLambdas.clear(); } + + AnimDebugDraw::getInstance().update(); } @@ -4006,13 +4012,10 @@ namespace render { void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool selfAvatarOnly) { - // FIXME: This preRender call is temporary until we create a separate render::scene for the mirror rendering. + // FIXME: This preDisplayRender call is temporary until we create a separate render::scene for the mirror rendering. // Then we can move this logic into the Avatar::simulate call. auto myAvatar = getMyAvatar(); - myAvatar->preRender(renderArgs); - - // Update animation debug draw renderer - AnimDebugDraw::getInstance().update(); + myAvatar->preDisplaySide(renderArgs); activeRenderingThread = QThread::currentThread(); PROFILE_RANGE(__FUNCTION__); diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..303cb3fb1d 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -212,7 +212,7 @@ public: render::EnginePointer getRenderEngine() override { return _renderEngine; } gpu::ContextPointer getGPUContext() const { return _gpuContext; } - virtual void pushPreRenderLambda(void* key, std::function func) override; + virtual void pushPostUpdateLambda(void* key, std::function func) override; const QRect& getMirrorViewRect() const { return _mirrorViewRect; } @@ -513,8 +513,8 @@ private: QThread* _deadlockWatchdogThread; - std::map> _preRenderLambdas; - std::mutex _preRenderLambdasLock; + std::map> _postUpdateLambdas; + std::mutex _postUpdateLambdasLock; std::atomic _fullSceneReceivedCounter { 0 }; // how many times have we received a full-scene octree stats packet uint32_t _fullSceneCounterAtLastPhysicsCheck { 0 }; // _fullSceneReceivedCounter last time we checked physics ready diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index c5fa52e49d..4436e86931 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -480,10 +480,8 @@ Menu::Menu() { avatarManager.data(), SLOT(setShouldShowReceiveStats(bool))); addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderBoundingCollisionShapes); - addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtVectors, 0, false); - addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtTargets, 0, false); - addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderFocusIndicator, 0, false); - addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowWhosLookingAtMe, 0, false); + addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderMyLookAtVectors, 0, false); + addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderOtherLookAtVectors, 0, false); addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::FixGaze, 0, false); addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::AnimDebugDrawDefaultPose, 0, false, avatar, SLOT(setEnableDebugDrawDefaultPose(bool))); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 5796575780..39c3a6fe1f 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -147,9 +147,8 @@ namespace MenuOption { const QString ReloadAllScripts = "Reload All Scripts"; const QString ReloadContent = "Reload Content (Clears all caches)"; const QString RenderBoundingCollisionShapes = "Show Bounding Collision Shapes"; - const QString RenderFocusIndicator = "Show Eye Focus"; - const QString RenderLookAtTargets = "Show Look-at Targets"; - const QString RenderLookAtVectors = "Show Look-at Vectors"; + const QString RenderMyLookAtVectors = "Show My Eye Vectors"; + const QString RenderOtherLookAtVectors = "Show Other Eye Vectors"; const QString RenderMaxTextureMemory = "Maximum Texture Memory"; const QString RenderMaxTextureAutomatic = "Automatic Texture Memory"; const QString RenderMaxTexture64MB = "64 MB"; @@ -174,7 +173,6 @@ namespace MenuOption { const QString ShowDSConnectTable = "Show Domain Connection Timing"; const QString ShowBordersEntityNodes = "Show Entity Nodes"; const QString ShowRealtimeEntityStats = "Show Realtime Entity Stats"; - const QString ShowWhosLookingAtMe = "Show Who's Looking at Me"; const QString StandingHMDSensorMode = "Standing HMD Sensor Mode"; const QString SimulateEyeTracking = "Simulate"; const QString SMIEyeTracking = "SMI Eye Tracking"; diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 2cacb81ce4..14385ddfcb 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "Application.h" #include "Avatar.h" @@ -65,11 +66,6 @@ namespace render { } template <> void payloadRender(const AvatarSharedPointer& avatar, RenderArgs* args) { auto avatarPtr = static_pointer_cast(avatar); - bool renderLookAtVectors = Menu::getInstance()->isOptionChecked(MenuOption::RenderLookAtVectors); - avatarPtr->setDisplayingLookatVectors(renderLookAtVectors); - bool renderLookAtTarget = Menu::getInstance()->isOptionChecked(MenuOption::RenderLookAtTargets); - avatarPtr->setDisplayingLookatTarget(renderLookAtTarget); - if (avatarPtr->isInitialized() && args) { PROFILE_RANGE_BATCH(*args->_batch, "renderAvatarPayload"); avatarPtr->render(args, qApp->getCamera()->getPosition()); @@ -318,6 +314,39 @@ void Avatar::updateRenderItem(render::PendingChanges& pendingChanges) { } } +void Avatar::postUpdate(float deltaTime) { + + bool renderLookAtVectors; + if (isMyAvatar()) { + renderLookAtVectors = Menu::getInstance()->isOptionChecked(MenuOption::RenderMyLookAtVectors); + } else { + renderLookAtVectors = Menu::getInstance()->isOptionChecked(MenuOption::RenderOtherLookAtVectors); + } + + if (renderLookAtVectors) { + const float EYE_RAY_LENGTH = 10.0; + const glm::vec4 BLUE(0.0f, 0.0f, 1.0f, 1.0f); + const glm::vec4 RED(1.0f, 0.0f, 0.0f, 1.0f); + + int leftEyeJoint = getJointIndex("LeftEye"); + glm::vec3 leftEyePosition; + glm::quat leftEyeRotation; + + if (_skeletonModel->getJointPositionInWorldFrame(leftEyeJoint, leftEyePosition) && + _skeletonModel->getJointRotationInWorldFrame(leftEyeJoint, leftEyeRotation)) { + DebugDraw::getInstance().drawRay(leftEyePosition, leftEyePosition + leftEyeRotation * Vectors::UNIT_Z * EYE_RAY_LENGTH, BLUE); + } + + int rightEyeJoint = getJointIndex("RightEye"); + glm::vec3 rightEyePosition; + glm::quat rightEyeRotation; + if (_skeletonModel->getJointPositionInWorldFrame(rightEyeJoint, rightEyePosition) && + _skeletonModel->getJointRotationInWorldFrame(rightEyeJoint, rightEyeRotation)) { + DebugDraw::getInstance().drawRay(rightEyePosition, rightEyePosition + rightEyeRotation * Vectors::UNIT_Z * EYE_RAY_LENGTH, RED); + } + } +} + void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { auto& batch = *renderArgs->_batch; PROFILE_RANGE_BATCH(batch, __FUNCTION__); @@ -412,8 +441,7 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { ? 1.0f : GLOW_FROM_AVERAGE_LOUDNESS; - // render body - renderBody(renderArgs, frustum, glowLevel); + fixupModelsInScene(); if (renderArgs->_renderMode != RenderArgs::SHADOW_RENDER_MODE) { // add local lights @@ -437,64 +465,6 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { const float BOUNDING_SHAPE_ALPHA = 0.7f; _skeletonModel->renderBoundingCollisionShapes(*renderArgs->_batch, getUniformScale(), BOUNDING_SHAPE_ALPHA); } - - // If this is the avatar being looked at, render a little ball above their head - if (_isLookAtTarget && Menu::getInstance()->isOptionChecked(MenuOption::RenderFocusIndicator)) { - static const float INDICATOR_OFFSET = 0.22f; - static const float INDICATOR_RADIUS = 0.03f; - static const glm::vec4 LOOK_AT_INDICATOR_COLOR = { 0.8f, 0.0f, 0.0f, 0.75f }; - glm::vec3 avatarPosition = getPosition(); - glm::vec3 position = glm::vec3(avatarPosition.x, getDisplayNamePosition().y + INDICATOR_OFFSET, avatarPosition.z); - PROFILE_RANGE_BATCH(batch, __FUNCTION__":renderFocusIndicator"); - Transform transform; - transform.setTranslation(position); - transform.postScale(INDICATOR_RADIUS); - batch.setModelTransform(transform); - DependencyManager::get()->renderSolidSphereInstance(batch, LOOK_AT_INDICATOR_COLOR); - } - - // If the avatar is looking at me, indicate that they are - if (getHead()->isLookingAtMe() && Menu::getInstance()->isOptionChecked(MenuOption::ShowWhosLookingAtMe)) { - PROFILE_RANGE_BATCH(batch, __FUNCTION__":renderLookingAtMe"); - const glm::vec3 LOOKING_AT_ME_COLOR = { 1.0f, 1.0f, 1.0f }; - const float LOOKING_AT_ME_ALPHA_START = 0.8f; - const float LOOKING_AT_ME_DURATION = 0.5f; // seconds - quint64 now = usecTimestampNow(); - float alpha = LOOKING_AT_ME_ALPHA_START - * (1.0f - ((float)(now - getHead()->getLookingAtMeStarted())) - / (LOOKING_AT_ME_DURATION * (float)USECS_PER_SECOND)); - if (alpha > 0.0f) { - if (_skeletonModel->isLoaded()) { - const auto& geometry = _skeletonModel->getFBXGeometry(); - const float DEFAULT_EYE_DIAMETER = 0.048f; // Typical human eye - const float RADIUS_INCREMENT = 0.005f; - batch.setModelTransform(Transform()); - - glm::vec3 position = getHead()->getLeftEyePosition(); - Transform transform; - transform.setTranslation(position); - float eyeDiameter = geometry.leftEyeSize; - if (eyeDiameter == 0.0f) { - eyeDiameter = DEFAULT_EYE_DIAMETER; - } - - batch.setModelTransform(Transform(transform).postScale(eyeDiameter * getUniformScale() / 2.0f + RADIUS_INCREMENT)); - DependencyManager::get()->renderSolidSphereInstance(batch, - glm::vec4(LOOKING_AT_ME_COLOR, alpha)); - - position = getHead()->getRightEyePosition(); - transform.setTranslation(position); - eyeDiameter = geometry.rightEyeSize; - if (eyeDiameter == 0.0f) { - eyeDiameter = DEFAULT_EYE_DIAMETER; - } - batch.setModelTransform(Transform(transform).postScale(eyeDiameter * getUniformScale() / 2.0f + RADIUS_INCREMENT)); - DependencyManager::get()->renderSolidSphereInstance(batch, - glm::vec4(LOOKING_AT_ME_COLOR, alpha)); - - } - } - } } const float DISPLAYNAME_DISTANCE = 20.0f; @@ -553,11 +523,6 @@ void Avatar::fixupModelsInScene() { scene->enqueuePendingChanges(pendingChanges); } -void Avatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel) { - fixupModelsInScene(); - getHead()->renderLookAts(renderArgs); -} - bool Avatar::shouldRenderHead(const RenderArgs* renderArgs) const { return true; } diff --git a/interface/src/avatar/Avatar.h b/interface/src/avatar/Avatar.h index cb35fbb5eb..2580ac1d37 100644 --- a/interface/src/avatar/Avatar.h +++ b/interface/src/avatar/Avatar.h @@ -77,9 +77,9 @@ public: void updateRenderItem(render::PendingChanges& pendingChanges); + virtual void postUpdate(float deltaTime); + //setters - void setDisplayingLookatVectors(bool displayingLookatVectors) { getHead()->setRenderLookatVectors(displayingLookatVectors); } - void setDisplayingLookatTarget(bool displayingLookatTarget) { getHead()->setRenderLookatTarget(displayingLookatTarget); } void setIsLookAtTarget(const bool isLookAtTarget) { _isLookAtTarget = isLookAtTarget; } bool getIsLookAtTarget() const { return _isLookAtTarget; } //getters @@ -232,7 +232,6 @@ protected: Transform calculateDisplayNameTransform(const ViewFrustum& view, const glm::vec3& textPosition) const; void renderDisplayName(gpu::Batch& batch, const ViewFrustum& view, const glm::vec3& textPosition) const; - virtual void renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel = 0.0f); virtual bool shouldRenderHead(const RenderArgs* renderArgs) const; virtual void fixupModelsInScene(); @@ -251,7 +250,7 @@ private: bool _initialized; bool _shouldAnimate { true }; bool _shouldSkipRender { false }; - bool _isLookAtTarget; + bool _isLookAtTarget { false }; float getBoundingRadius() const; diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index 402245d0c3..7ff2976cd9 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -156,6 +156,15 @@ void AvatarManager::updateOtherAvatars(float deltaTime) { simulateAvatarFades(deltaTime); } +void AvatarManager::postUpdate(float deltaTime) { + auto hashCopy = getHashCopy(); + AvatarHash::iterator avatarIterator = hashCopy.begin(); + for (avatarIterator = hashCopy.begin(); avatarIterator != hashCopy.end(); avatarIterator++) { + auto avatar = std::static_pointer_cast(avatarIterator.value()); + avatar->postUpdate(deltaTime); + } +} + void AvatarManager::simulateAvatarFades(float deltaTime) { QVector::iterator fadingIterator = _avatarFades.begin(); diff --git a/interface/src/avatar/AvatarManager.h b/interface/src/avatar/AvatarManager.h index 94a66782f2..1cd295d69f 100644 --- a/interface/src/avatar/AvatarManager.h +++ b/interface/src/avatar/AvatarManager.h @@ -44,6 +44,8 @@ public: void updateMyAvatar(float deltaTime); void updateOtherAvatars(float deltaTime); + void postUpdate(float deltaTime); + void clearOtherAvatars(); void clearAllAvatars(); diff --git a/interface/src/avatar/Head.cpp b/interface/src/avatar/Head.cpp index b7247334fc..3af8b8a423 100644 --- a/interface/src/avatar/Head.cpp +++ b/interface/src/avatar/Head.cpp @@ -46,8 +46,6 @@ Head::Head(Avatar* owningAvatar) : _mouth3(0.0f), _mouth4(0.0f), _mouthTime(0.0f), - _renderLookatVectors(false), - _renderLookatTarget(false), _saccade(0.0f, 0.0f, 0.0f), _saccadeTarget(0.0f, 0.0f, 0.0f), _leftEyeBlinkVelocity(0.0f), @@ -316,22 +314,6 @@ void Head::relaxLean(float deltaTime) { _deltaLeanForward *= relaxationFactor; } -void Head::render(RenderArgs* renderArgs, float alpha, ViewFrustum* renderFrustum) { -} - -void Head::renderLookAts(RenderArgs* renderArgs) { - renderLookAts(renderArgs, _leftEyePosition, _rightEyePosition); -} - -void Head::renderLookAts(RenderArgs* renderArgs, glm::vec3 leftEyePosition, glm::vec3 rightEyePosition) { - if (_renderLookatVectors) { - renderLookatVectors(renderArgs, leftEyePosition, rightEyePosition, getCorrectedLookAtPosition()); - } - if (_renderLookatTarget) { - renderLookatTarget(renderArgs, getCorrectedLookAtPosition()); - } -} - void Head::setScale (float scale) { if (_scale == scale) { return; @@ -442,31 +424,3 @@ void Head::addLeanDeltas(float sideways, float forward) { _deltaLeanSideways += sideways; _deltaLeanForward += forward; } - -void Head::renderLookatVectors(RenderArgs* renderArgs, glm::vec3 leftEyePosition, glm::vec3 rightEyePosition, glm::vec3 lookatPosition) { - auto& batch = *renderArgs->_batch; - auto transform = Transform{}; - batch.setModelTransform(transform); - // FIXME: THe line width of 2.0f is not supported anymore, we ll need a workaround - - glm::vec4 startColor(0.2f, 0.2f, 0.2f, 1.0f); - glm::vec4 endColor(1.0f, 1.0f, 1.0f, 0.0f); - - auto geometryCache = DependencyManager::get(); - geometryCache->bindSimpleProgram(batch); - geometryCache->renderLine(batch, leftEyePosition, lookatPosition, startColor, endColor, _leftEyeLookAtID); - geometryCache->renderLine(batch, rightEyePosition, lookatPosition, startColor, endColor, _rightEyeLookAtID); -} - -void Head::renderLookatTarget(RenderArgs* renderArgs, glm::vec3 lookatPosition) { - auto& batch = *renderArgs->_batch; - auto transform = Transform{}; - transform.setTranslation(lookatPosition); - - auto geometryCache = DependencyManager::get(); - const float LOOK_AT_TARGET_RADIUS = 0.075f; - transform.postScale(LOOK_AT_TARGET_RADIUS); - const glm::vec4 LOOK_AT_TARGET_COLOR = { 0.8f, 0.0f, 0.0f, 0.75f }; - batch.setModelTransform(transform); - geometryCache->renderSolidSphereInstance(batch, LOOK_AT_TARGET_COLOR); -} diff --git a/interface/src/avatar/Head.h b/interface/src/avatar/Head.h index d0bd4fdb77..e4b8fefea5 100644 --- a/interface/src/avatar/Head.h +++ b/interface/src/avatar/Head.h @@ -28,29 +28,24 @@ class Avatar; class Head : public HeadData { public: explicit Head(Avatar* owningAvatar); - + void init(); void reset(); void simulate(float deltaTime, bool isMine, bool billboard = false); - void render(RenderArgs* renderArgs, float alpha, ViewFrustum* renderFrustum); void setScale(float scale); void setPosition(glm::vec3 position) { _position = position; } void setAverageLoudness(float averageLoudness) { _averageLoudness = averageLoudness; } void setReturnToCenter (bool returnHeadToCenter) { _returnHeadToCenter = returnHeadToCenter; } - void setRenderLookatVectors(bool onOff) { _renderLookatVectors = onOff; } - void setRenderLookatTarget(bool onOff) { _renderLookatTarget = onOff; } - void renderLookAts(RenderArgs* renderArgs); - void renderLookAts(RenderArgs* renderArgs, glm::vec3 leftEyePosition, glm::vec3 rightEyePosition); /// \return orientationBase+Delta glm::quat getFinalOrientationInLocalFrame() const; - + /// \return orientationBody * (orientationBase+Delta) glm::quat getFinalOrientationInWorldFrame() const; /// \return orientationBody * orientationBasePitch glm::quat getCameraOrientation () const; - + void setCorrectedLookAtPosition(glm::vec3 correctedLookAtPosition); glm::vec3 getCorrectedLookAtPosition(); void clearCorrectedLookAtPosition() { _isLookingAtMe = false; } @@ -66,9 +61,9 @@ public: glm::vec3 getFrontDirection() const { return getOrientation() * IDENTITY_FRONT; } float getFinalLeanSideways() const { return _leanSideways + _deltaLeanSideways; } float getFinalLeanForward() const { return _leanForward + _deltaLeanForward; } - + glm::quat getEyeRotation(const glm::vec3& eyePosition) const; - + const glm::vec3& getRightEyePosition() const { return _rightEyePosition; } const glm::vec3& getLeftEyePosition() const { return _leftEyePosition; } glm::vec3 getRightEarPosition() const { return _rightEyePosition + (getRightDirection() * EYE_EAR_GAP) + (getFrontDirection() * -EYE_EAR_GAP); } @@ -85,10 +80,10 @@ public: void setDeltaYaw(float yaw) { _deltaYaw = yaw; } float getDeltaYaw() const { return _deltaYaw; } - + void setDeltaRoll(float roll) { _deltaRoll = roll; } float getDeltaRoll() const { return _deltaRoll; } - + virtual void setFinalYaw(float finalYaw); virtual void setFinalPitch(float finalPitch); virtual void setFinalRoll(float finalRoll); @@ -100,7 +95,7 @@ public: void addLeanDeltas(float sideways, float forward); float getTimeWithoutTalking() const { return _timeWithoutTalking; } - + private: glm::vec3 calculateAverageEyePosition() const { return _leftEyePosition + (_rightEyePosition - _leftEyePosition ) * 0.5f; } @@ -114,7 +109,7 @@ private: glm::vec3 _leftEyePosition; glm::vec3 _rightEyePosition; glm::vec3 _eyePosition; - + float _scale; float _lastLoudness; float _longTermAverageLoudness; @@ -125,8 +120,7 @@ private: float _mouth3; float _mouth4; float _mouthTime; - bool _renderLookatVectors; - bool _renderLookatTarget; + glm::vec3 _saccade; glm::vec3 _saccadeTarget; float _leftEyeBlinkVelocity; @@ -146,15 +140,13 @@ private: bool _isLookingAtMe; quint64 _lookingAtMeStarted; quint64 _wasLastLookingAtMe; - + glm::vec3 _correctedLookAtPosition; int _leftEyeLookAtID; int _rightEyeLookAtID; - + // private methods - void renderLookatVectors(RenderArgs* renderArgs, glm::vec3 leftEyePosition, glm::vec3 rightEyePosition, glm::vec3 lookatPosition); - void renderLookatTarget(RenderArgs* renderArgs, glm::vec3 lookatPosition); void calculateMouthShapes(); void applyEyelidOffset(glm::quat headOrientation); }; diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index bad60643ec..b2d653d573 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1259,40 +1259,6 @@ void MyAvatar::attach(const QString& modelURL, const QString& jointName, Avatar::attach(modelURL, jointName, translation, rotation, scale, isSoft, allowDuplicates, useSaved); } -void MyAvatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel) { - - if (!_skeletonModel->isRenderable()) { - return; // wait until all models are loaded - } - - fixupModelsInScene(); - - // Render head so long as the camera isn't inside it - if (shouldRenderHead(renderArgs)) { - getHead()->render(renderArgs, 1.0f, renderFrustum); - } - - // This is drawing the lookat vectors from our avatar to wherever we're looking. - if (qApp->isHMDMode()) { - glm::vec3 cameraPosition = qApp->getCamera()->getPosition(); - - glm::mat4 headPose = qApp->getActiveDisplayPlugin()->getHeadPose(); - glm::mat4 leftEyePose = qApp->getActiveDisplayPlugin()->getEyeToHeadTransform(Eye::Left); - leftEyePose = leftEyePose * headPose; - glm::vec3 leftEyePosition = extractTranslation(leftEyePose); - glm::mat4 rightEyePose = qApp->getActiveDisplayPlugin()->getEyeToHeadTransform(Eye::Right); - rightEyePose = rightEyePose * headPose; - glm::vec3 rightEyePosition = extractTranslation(rightEyePose); - glm::vec3 headPosition = extractTranslation(headPose); - - getHead()->renderLookAts(renderArgs, - cameraPosition + getOrientation() * (leftEyePosition - headPosition), - cameraPosition + getOrientation() * (rightEyePosition - headPosition)); - } else { - getHead()->renderLookAts(renderArgs); - } -} - void MyAvatar::setVisibleInSceneIfReady(Model* model, render::ScenePointer scene, bool visible) { if (model->isActive() && model->isRenderable()) { model->setVisibleInScene(visible, scene); @@ -1349,11 +1315,11 @@ void MyAvatar::destroyAnimGraph() { _rig->destroyAnimGraph(); } -void MyAvatar::preRender(RenderArgs* renderArgs) { +void MyAvatar::postUpdate(float deltaTime) { + + Avatar::postUpdate(deltaTime); render::ScenePointer scene = qApp->getMain3DScene(); - const bool shouldDrawHead = shouldRenderHead(renderArgs); - if (_skeletonModel->initWhenReady(scene)) { initHeadBones(); _skeletonModel->setCauterizeBoneSet(_headBoneSet); @@ -1403,7 +1369,12 @@ void MyAvatar::preRender(RenderArgs* renderArgs) { DebugDraw::getInstance().updateMyAvatarPos(getPosition()); DebugDraw::getInstance().updateMyAvatarRot(getOrientation()); +} +void MyAvatar::preDisplaySide(RenderArgs* renderArgs) { + + // toggle using the cauterizedBones depending on where the camera is and the rendering pass type. + const bool shouldDrawHead = shouldRenderHead(renderArgs); if (shouldDrawHead != _prevShouldDrawHead) { _skeletonModel->setCauterizeBones(!shouldDrawHead); } diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index fee1a9add3..949b4fdfb3 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -95,7 +95,8 @@ public: Q_INVOKABLE void reset(bool andRecenter = false); void update(float deltaTime); - void preRender(RenderArgs* renderArgs); + virtual void postUpdate(float deltaTime) override; + void preDisplaySide(RenderArgs* renderArgs); const glm::mat4& getHMDSensorMatrix() const { return _hmdSensorMatrix; } const glm::vec3& getHMDSensorPosition() const { return _hmdSensorPosition; } @@ -306,7 +307,6 @@ private: void simulate(float deltaTime); void updateFromTrackers(float deltaTime); virtual void render(RenderArgs* renderArgs, const glm::vec3& cameraPositio) override; - virtual void renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, float glowLevel = 0.0f) override; virtual bool shouldRenderHead(const RenderArgs* renderArgs) const override; void setShouldRenderLocally(bool shouldRender) { _shouldRender = shouldRender; setEnableMeshVisible(shouldRender); } bool getShouldRenderLocally() const { return _shouldRender; } diff --git a/interface/src/avatar/SkeletonModel.cpp b/interface/src/avatar/SkeletonModel.cpp index 0fe1a59bb2..5deeb545a1 100644 --- a/interface/src/avatar/SkeletonModel.cpp +++ b/interface/src/avatar/SkeletonModel.cpp @@ -13,6 +13,7 @@ #include #include +#include #include "Application.h" #include "Avatar.h" @@ -92,7 +93,6 @@ void SkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { Head* head = _owningAvatar->getHead(); - // make sure lookAt is not too close to face (avoid crosseyes) glm::vec3 lookAt = _owningAvatar->isMyAvatar() ? head->getLookAtPosition() : head->getCorrectedLookAtPosition(); glm::vec3 focusOffset = lookAt - _owningAvatar->getHead()->getEyePosition(); diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index a7115199a2..67dfbec24a 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -1057,20 +1057,30 @@ void Rig::updateNeckJoint(int index, const HeadParameters& params) { } void Rig::updateEyeJoint(int index, const glm::vec3& modelTranslation, const glm::quat& modelRotation, const glm::quat& worldHeadOrientation, const glm::vec3& lookAtSpot, const glm::vec3& saccade) { + + // TODO: does not properly handle avatar scale. + if (isIndexValid(index)) { glm::mat4 rigToWorld = createMatFromQuatAndPos(modelRotation, modelTranslation); glm::mat4 worldToRig = glm::inverse(rigToWorld); - glm::vec3 zAxis = glm::normalize(_internalPoseSet._absolutePoses[index].trans - transformPoint(worldToRig, lookAtSpot)); + glm::vec3 lookAtVector = glm::normalize(transformPoint(worldToRig, lookAtSpot) - _internalPoseSet._absolutePoses[index].trans); - glm::quat desiredQuat = rotationBetween(IDENTITY_FRONT, zAxis); - glm::quat headQuat; int headIndex = indexOfJoint("Head"); + glm::quat headQuat; if (headIndex >= 0) { headQuat = _internalPoseSet._absolutePoses[headIndex].rot; } + + glm::vec3 headUp = headQuat * Vectors::UNIT_Y; + glm::vec3 z, y, x; + generateBasisVectors(lookAtVector, headUp, z, y, x); + glm::mat3 m(glm::cross(y, z), y, z); + glm::quat desiredQuat = glm::normalize(glm::quat_cast(m)); + glm::quat deltaQuat = desiredQuat * glm::inverse(headQuat); - // limit rotation + // limit swing rotation of the deltaQuat by a 30 degree cone. + // TODO: use swing twist decomposition constraint instead, for off axis rotation clamping. const float MAX_ANGLE = 30.0f * RADIANS_PER_DEGREE; if (fabsf(glm::angle(deltaQuat)) > MAX_ANGLE) { deltaQuat = glm::angleAxis(glm::clamp(glm::angle(deltaQuat), -MAX_ANGLE, MAX_ANGLE), glm::axis(deltaQuat)); diff --git a/libraries/render-utils/src/AbstractViewStateInterface.h b/libraries/render-utils/src/AbstractViewStateInterface.h index 7c7c263562..51a030567d 100644 --- a/libraries/render-utils/src/AbstractViewStateInterface.h +++ b/libraries/render-utils/src/AbstractViewStateInterface.h @@ -35,7 +35,7 @@ public: virtual ViewFrustum* getShadowViewFrustum() = 0; virtual QThread* getMainThread() = 0; - + virtual PickRay computePickRay(float x, float y) const = 0; virtual glm::vec3 getAvatarPosition() const = 0; @@ -46,7 +46,7 @@ public: virtual render::ScenePointer getMain3DScene() = 0; virtual render::EnginePointer getRenderEngine() = 0; - virtual void pushPreRenderLambda(void* key, std::function func) = 0; + virtual void pushPostUpdateLambda(void* key, std::function func) = 0; // FIXME - we shouldn't assume that there's a single instance of an AbstractViewStateInterface static AbstractViewStateInterface* instance(); diff --git a/libraries/render-utils/src/AnimDebugDraw.cpp b/libraries/render-utils/src/AnimDebugDraw.cpp index e2abc226e5..220b673591 100644 --- a/libraries/render-utils/src/AnimDebugDraw.cpp +++ b/libraries/render-utils/src/AnimDebugDraw.cpp @@ -307,6 +307,16 @@ static void addLink(const AnimPose& rootPose, const AnimPose& pose, const AnimPo } } +static void addLine(const glm::vec3& start, const glm::vec3& end, const glm::vec4& color, Vertex*& v) { + uint32_t colorInt = toRGBA(color); + v->pos = start; + v->rgba = colorInt; + v++; + v->pos = end; + v->rgba = colorInt; + v++; +} + void AnimDebugDraw::update() { render::ScenePointer scene = AbstractViewStateInterface::instance()->getMain3DScene(); @@ -319,6 +329,7 @@ void AnimDebugDraw::update() { const size_t VERTICES_PER_BONE = (6 + (NUM_CIRCLE_SLICES * 2) * 3); const size_t VERTICES_PER_LINK = 8 * 2; + const size_t VERTICES_PER_RAY = 2; const float BONE_RADIUS = 0.01f; // 1 cm const float POSE_RADIUS = 0.1f; // 10 cm @@ -342,6 +353,7 @@ void AnimDebugDraw::update() { numVerts += (int)markerMap.size() * VERTICES_PER_BONE; auto myAvatarMarkerMap = DebugDraw::getInstance().getMyAvatarMarkerMap(); numVerts += (int)myAvatarMarkerMap.size() * VERTICES_PER_BONE; + numVerts += (int)DebugDraw::getInstance().getRays().size() * VERTICES_PER_RAY; // allocate verts! data._vertexBuffer->resize(sizeof(Vertex) * numVerts); @@ -390,6 +402,12 @@ void AnimDebugDraw::update() { addBone(myAvatarPose, AnimPose(glm::vec3(1), rot, pos), radius, v); } + // draw rays from shared DebugDraw singleton + for (auto& iter : DebugDraw::getInstance().getRays()) { + addLine(std::get<0>(iter), std::get<1>(iter), std::get<2>(iter), v); + } + DebugDraw::getInstance().clearRays(); + assert(numVerts == (v - verts)); render::Item::Bound theBound; diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index eda856342c..2fe4427333 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -132,7 +132,7 @@ void Model::updateRenderItems() { // the application will ensure only the last lambda is actually invoked. void* key = (void*)this; std::weak_ptr weakSelf = shared_from_this(); - AbstractViewStateInterface::instance()->pushPreRenderLambda(key, [weakSelf]() { + AbstractViewStateInterface::instance()->pushPostUpdateLambda(key, [weakSelf]() { // do nothing, if the model has already been destroyed. auto self = weakSelf.lock(); diff --git a/libraries/shared/src/DebugDraw.cpp b/libraries/shared/src/DebugDraw.cpp index 557889cab0..04759e6187 100644 --- a/libraries/shared/src/DebugDraw.cpp +++ b/libraries/shared/src/DebugDraw.cpp @@ -23,6 +23,11 @@ DebugDraw::~DebugDraw() { } +// world space line, drawn only once +void DebugDraw::drawRay(const glm::vec3& start, const glm::vec3& end, const glm::vec4& color) { + _rays.push_back(Ray(start, end, color)); +} + void DebugDraw::addMarker(const std::string& key, const glm::quat& rotation, const glm::vec3& position, const glm::vec4& color) { _markers[key] = MarkerInfo(rotation, position, color); } diff --git a/libraries/shared/src/DebugDraw.h b/libraries/shared/src/DebugDraw.h index 2f62f17abf..2d30618afe 100644 --- a/libraries/shared/src/DebugDraw.h +++ b/libraries/shared/src/DebugDraw.h @@ -23,16 +23,21 @@ public: DebugDraw(); ~DebugDraw(); - // world space maker + // world space line, drawn only once + void drawRay(const glm::vec3& start, const glm::vec3& end, const glm::vec4& color); + + // world space maker, marker drawn every frame until it is removed. void addMarker(const std::string& key, const glm::quat& rotation, const glm::vec3& position, const glm::vec4& color); void removeMarker(const std::string& key); - // myAvatar relative marker + // myAvatar relative marker, maker is drawn every frame until it is removed. void addMyAvatarMarker(const std::string& key, const glm::quat& rotation, const glm::vec3& position, const glm::vec4& color); void removeMyAvatarMarker(const std::string& key); using MarkerInfo = std::tuple; using MarkerMap = std::unordered_map; + using Ray = std::tuple; + using Rays = std::vector; // // accessors used by renderer @@ -44,12 +49,15 @@ public: const glm::vec3& getMyAvatarPos() const { return _myAvatarPos; } void updateMyAvatarRot(const glm::quat& rot) { _myAvatarRot = rot; } const glm::quat& getMyAvatarRot() const { return _myAvatarRot; } + const Rays getRays() const { return _rays; } + void clearRays() { _rays.clear(); } protected: MarkerMap _markers; MarkerMap _myAvatarMarkers; glm::quat _myAvatarRot; glm::vec3 _myAvatarPos; + Rays _rays; }; #endif // hifi_DebugDraw_h diff --git a/libraries/shared/src/GLMHelpers.cpp b/libraries/shared/src/GLMHelpers.cpp index 53abb3827d..5762122707 100644 --- a/libraries/shared/src/GLMHelpers.cpp +++ b/libraries/shared/src/GLMHelpers.cpp @@ -431,13 +431,23 @@ glm::vec3 transformVectorFull(const glm::mat4& m, const glm::vec3& v) { void generateBasisVectors(const glm::vec3& primaryAxis, const glm::vec3& secondaryAxis, glm::vec3& uAxisOut, glm::vec3& vAxisOut, glm::vec3& wAxisOut) { + // primaryAxis & secondaryAxis must not be zero. + assert(fabsf(glm::length2(primaryAxis) > 0.01f)); + assert(fabsf(glm::length2(secondaryAxis) > 0.01f)); + uAxisOut = glm::normalize(primaryAxis); - wAxisOut = glm::cross(uAxisOut, secondaryAxis); - if (glm::length(wAxisOut) > 0.0f) { - wAxisOut = glm::normalize(wAxisOut); - } else { - wAxisOut = glm::normalize(glm::cross(uAxisOut, glm::vec3(0, 1, 0))); + glm::vec3 normSecondary = glm::normalize(secondaryAxis); + + // if secondaryAxis is parallel with the primaryAxis, pick another axis. + if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > 0.001f) { + // pick a better secondaryAxis. + normSecondary = glm::vec3(1.0f, 0.0f, 0.0f); + if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > 0.001f) { + normSecondary = glm::vec3(0.0f, 1.0f, 0.0f); + } } + + wAxisOut = glm::normalize(glm::cross(uAxisOut, secondaryAxis)); vAxisOut = glm::cross(wAxisOut, uAxisOut); } From cb5c7a35591f6416a37ac631ec0d2acf950a2d13 Mon Sep 17 00:00:00 2001 From: Anthony Thibault Date: Sun, 8 May 2016 17:14:14 -0700 Subject: [PATCH 074/106] compile fix for macosx --- libraries/shared/src/DebugDraw.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/shared/src/DebugDraw.h b/libraries/shared/src/DebugDraw.h index 2d30618afe..f77e281e06 100644 --- a/libraries/shared/src/DebugDraw.h +++ b/libraries/shared/src/DebugDraw.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include From 87d513b5f8c4af2c39c9d0dba1d8f4cc14eb9abb Mon Sep 17 00:00:00 2001 From: Anthony Thibault Date: Sun, 8 May 2016 18:14:18 -0700 Subject: [PATCH 075/106] fixed unused variable warnings --- interface/src/avatar/Avatar.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 14385ddfcb..a78c6635f9 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -427,20 +427,6 @@ void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { float distanceToTarget = glm::length(toTarget); { - // glow when moving far away - const float GLOW_DISTANCE = 20.0f; - const float GLOW_MAX_LOUDNESS = 2500.0f; - const float MAX_GLOW = 0.5f; - - float GLOW_FROM_AVERAGE_LOUDNESS = ((this == DependencyManager::get()->getMyAvatar()) - ? 0.0f - : MAX_GLOW * getHeadData()->getAudioLoudness() / GLOW_MAX_LOUDNESS); - GLOW_FROM_AVERAGE_LOUDNESS = 0.0f; - - float glowLevel = _moving && distanceToTarget > GLOW_DISTANCE && renderArgs->_renderMode == RenderArgs::NORMAL_RENDER_MODE - ? 1.0f - : GLOW_FROM_AVERAGE_LOUDNESS; - fixupModelsInScene(); if (renderArgs->_renderMode != RenderArgs::SHADOW_RENDER_MODE) { From 335841bf0f2ddb9ad614fd0d34c011ebb9d89a94 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Sun, 8 May 2016 23:35:18 -0700 Subject: [PATCH 076/106] Fix plugin loading on OSX --- libraries/plugins/src/plugins/PluginManager.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/plugins/src/plugins/PluginManager.cpp b/libraries/plugins/src/plugins/PluginManager.cpp index 4429f49346..936cb8a7ee 100644 --- a/libraries/plugins/src/plugins/PluginManager.cpp +++ b/libraries/plugins/src/plugins/PluginManager.cpp @@ -32,7 +32,11 @@ const LoaderList& getLoadedPlugins() { static std::once_flag once; static LoaderList loadedPlugins; std::call_once(once, [&] { +#ifdef Q_OS_MAC + QString pluginPath = QCoreApplication::applicationDirPath() + "/../PlugIns/"; +#else QString pluginPath = QCoreApplication::applicationDirPath() + "/plugins/"; +#endif QDir pluginDir(pluginPath); pluginDir.setFilter(QDir::Files); if (pluginDir.exists()) { From af8d0dc2801b5d2d10e35008335ac7ea9cea03a1 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Mon, 9 May 2016 11:34:52 -0700 Subject: [PATCH 077/106] Fix setReticlePosition and getReticlePosition to match. --- .../src/display-plugins/CompositorHelper.cpp | 18 +++--------------- .../src/display-plugins/CompositorHelper.h | 2 -- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp index b8da7bd4f7..f9d527de8f 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.cpp @@ -258,7 +258,7 @@ glm::vec2 CompositorHelper::getReticlePosition() const { QMutexLocker locker(&_reticleLock); return _reticlePositionInHMD; } - return toGlm(QCursor::pos()); + return toGlm(_renderingWidget->mapFromGlobal(QCursor::pos())); } bool CompositorHelper::getReticleOverDesktop() const { @@ -324,20 +324,8 @@ void CompositorHelper::setReticlePosition(const glm::vec2& position, bool sendFa sendFakeMouseEvent(); } } else { - if (!_mainWindow) { - auto windows = qApp->topLevelWindows(); - QWindow* result = nullptr; - for (auto window : windows) { - QVariant isMainWindow = window->property("MainWindow"); - if (!qobject_cast(window)) { - result = window; - break; - } - } - _mainWindow = result;; - } - const int MENU_BAR_HEIGHT = 20; - QCursor::setPos(position.x + _mainWindow->x(), position.y + _mainWindow->y() + MENU_BAR_HEIGHT); + const QPoint point(position.x, position.y); + QCursor::setPos(_renderingWidget->mapToGlobal(point)); } } diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.h b/libraries/display-plugins/src/display-plugins/CompositorHelper.h index 83a1adde17..c0b53b329e 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.h +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.h @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -183,7 +182,6 @@ private: bool _fakeMouseEvent { false }; ReticleInterface* _reticleInterface { nullptr }; - QWindow* _mainWindow { nullptr }; }; // Scripting interface available to control the Reticle From 6f4204ca5bdb1fcc505c3e48f919012278c6c832 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Mon, 9 May 2016 11:41:00 -0700 Subject: [PATCH 078/106] Remove alert for route remapping on hardware change. --- scripts/system/controllers/handControllerPointer.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 0ddbfa5b2d..060af4b9d8 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -246,10 +246,6 @@ function checkHardware() { print('Setting mapping for new controller hardware:', newHardware); if (clickMapToggle) { clickMapToggle.setState(false); - // FIX SYSTEM BUG: This does not work when hardware changes. - Window.alert("This isn't likely to work because of " + - 'https://app.asana.com/0/26225263936266/118428633439654\n' + - "You'll probably need to restart interface."); } hardware = newHardware; if (clickMappings[hardware]) { From 7f5296f5664b343d73cdc6c434ce334d0c324844 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Mon, 9 May 2016 11:53:09 -0700 Subject: [PATCH 079/106] Increased tolerance for near zero length vectors Also, replaced some magic numbers with constants. --- libraries/shared/src/GLMHelpers.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/shared/src/GLMHelpers.cpp b/libraries/shared/src/GLMHelpers.cpp index 5762122707..1f15541758 100644 --- a/libraries/shared/src/GLMHelpers.cpp +++ b/libraries/shared/src/GLMHelpers.cpp @@ -432,17 +432,19 @@ void generateBasisVectors(const glm::vec3& primaryAxis, const glm::vec3& seconda glm::vec3& uAxisOut, glm::vec3& vAxisOut, glm::vec3& wAxisOut) { // primaryAxis & secondaryAxis must not be zero. - assert(fabsf(glm::length2(primaryAxis) > 0.01f)); - assert(fabsf(glm::length2(secondaryAxis) > 0.01f)); + const float MIN_LENGTH_SQUARED = 1.0e-6f; + assert(fabsf(glm::length2(primaryAxis) > MIN_LENGTH_SQUARED)); + assert(fabsf(glm::length2(secondaryAxis) > MIN_LENGTH_SQUARED)); uAxisOut = glm::normalize(primaryAxis); glm::vec3 normSecondary = glm::normalize(secondaryAxis); // if secondaryAxis is parallel with the primaryAxis, pick another axis. - if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > 0.001f) { + const float EPSILON = 1.0e-4f; + if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > EPSILON) { // pick a better secondaryAxis. normSecondary = glm::vec3(1.0f, 0.0f, 0.0f); - if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > 0.001f) { + if (fabsf(fabsf(glm::dot(uAxisOut, secondaryAxis)) - 1.0f) > EPSILON) { normSecondary = glm::vec3(0.0f, 1.0f, 0.0f); } } From 9821c276adcb83c2b732490a393ccbba9005be53 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Mon, 9 May 2016 13:56:56 -0700 Subject: [PATCH 080/106] warning fix in release --- libraries/shared/src/GLMHelpers.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/shared/src/GLMHelpers.cpp b/libraries/shared/src/GLMHelpers.cpp index 1f15541758..bd8bffefd2 100644 --- a/libraries/shared/src/GLMHelpers.cpp +++ b/libraries/shared/src/GLMHelpers.cpp @@ -432,7 +432,9 @@ void generateBasisVectors(const glm::vec3& primaryAxis, const glm::vec3& seconda glm::vec3& uAxisOut, glm::vec3& vAxisOut, glm::vec3& wAxisOut) { // primaryAxis & secondaryAxis must not be zero. +#ifndef NDEBUG const float MIN_LENGTH_SQUARED = 1.0e-6f; +#endif assert(fabsf(glm::length2(primaryAxis) > MIN_LENGTH_SQUARED)); assert(fabsf(glm::length2(secondaryAxis) > MIN_LENGTH_SQUARED)); From 9edd18c0178835371b2732035d514f2610130bb7 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Mon, 9 May 2016 14:05:59 -0700 Subject: [PATCH 081/106] Fix mouse seek bugs. --- scripts/system/controllers/handControllerPointer.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 060af4b9d8..b5ffaf148d 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -150,7 +150,7 @@ var isSeeking = false; var averageMouseVelocity = 0, lastIntegration = 0, lastMouse; var WEIGHTING = 1 / 20; // simple moving average over last 20 samples var ONE_MINUS_WEIGHTING = 1 - WEIGHTING; -var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 5; +var AVERAGE_MOUSE_VELOCITY_FOR_SEEK_TO = 20; function isShakingMouse() { // True if the person is waving the mouse around trying to find it. var now = Date.now(), mouse = Reticle.position, isShaking = false; if (lastIntegration && (lastIntegration !== now)) { @@ -176,11 +176,12 @@ function updateSeeking() { function updateDimension(axis) { var distanceBetween = lookAt2D[axis] - Reticle.position[axis]; var move = distanceBetween / NON_LINEAR_DIVISOR; - if (move >= MINIMUM_SEEK_DISTANCE) { return false; } + if (Math.abs(move) < MINIMUM_SEEK_DISTANCE) { return false; } copy[axis] += move; return true; } - if (!updateDimension('x') && !updateDimension('y')) { + var okX = !updateDimension('x'), okY = !updateDimension('y'); // Evaluate both. Don't short-circuit. + if (okX && okY) { isSeeking = false; } else { Reticle.setPosition(copy); // Not setReticlePosition From ced7a56e39732127ff52038fe3521ea931fa1a54 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 9 May 2016 14:43:24 -0700 Subject: [PATCH 082/106] Philip's gravity example --- scripts/tutorials/NBody/earth.fbx | Bin 0 -> 352336 bytes scripts/tutorials/NBody/gravity.js | 181 +++++++++++++++++++++++++ scripts/tutorials/NBody/gravity.svg | 72 ++++++++++ scripts/tutorials/NBody/makePlanets.js | 166 +++++++++++++++++++++++ scripts/tutorials/NBody/moon.fbx | Bin 0 -> 95184 bytes 5 files changed, 419 insertions(+) create mode 100644 scripts/tutorials/NBody/earth.fbx create mode 100644 scripts/tutorials/NBody/gravity.js create mode 100644 scripts/tutorials/NBody/gravity.svg create mode 100644 scripts/tutorials/NBody/makePlanets.js create mode 100644 scripts/tutorials/NBody/moon.fbx diff --git a/scripts/tutorials/NBody/earth.fbx b/scripts/tutorials/NBody/earth.fbx new file mode 100644 index 0000000000000000000000000000000000000000..31424a201d305a62df772149fad6b54f7f59e139 GIT binary patch literal 352336 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®GN9`-7&_r|?yXIIQ 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 z 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

qH^Sc3t@hzzy%aikh?)x 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

qH^Sc3t@hzzy%aikh?)x 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

C)Q;!`u6p{G=+G^aPlINVi0RECE(! zNEOglyj!qf3l3o>r(0vHL1n?c@}fFKXWvDET-IJ?1tJ0tqLA~JYawin4mOvkDCGo< zypRMP>D5Zgmc}S6x6^H9cgTfrg=+yRD%R)>k5d1KLX> z?{5Es)>3SfpU5en(Q{9lb9kGA6ieoMMIW@}|FVhU_~(9!P3d_74&xE`oQNzT z=`~1$ai7FkWWlcQGIQa>ZtOjL*_CJWqK56G7hXo>ay(m8$c^n4D&Njq>sV&{BBtlc z^PTc*aq~iQ`y*!`Z)MBHtto%I-zWEOyYM~R_SedQ1Ws$eL{O<;vb?YY(Am3NAcr$q z8B8X^g{uYg*LxxCE$KEPi=c`ah`b;Wf%Kq|vVr`xTLmuUL&q|O;Bl65$w`@tz2I!ZKwlXi= z3*YF~GGzx_2NX}02Hvj}(ZD&Me>#!FcfUcgYy&R#Xfprht6Gk4)@{PyOjX?C@e^Q? z7;#J0&JyGag49U#iTCRiY$Gwu)S_-oJ**5j;wP$08}(h)&Se`3Qpoh_1r@a9tu$fS zKJ)Im{G_!!I>b*%YHq~qL36fDNRaZ^bA7U}TMGY_UIwHYb)$3er2(b$!pg>@K4TF% z+@)*a!uDQ~dy)A+KU-%1>S0glOMJx*(|JMu*b!9uR+gCQn$j1seNxZ23x1DVW~tcg z4tl&(7XEf#%wm7^(z~r(fK@1f35b+W6v(P%RfZ^V+KO8X6>KFdGLzFCFx8-x;9hwX z9ip@PqCoD$US$QK0~`dR<}E`M*%}=Xm!~MH1dP0y1RV)&C1p2Zl$DJKZDsM)!neyc zfD{!6bcRQ=e_o}LlB%=nkXue`UISR<4qQYHmH)!ChW*Psh|m`vY1j2C&3SQ1#o~#q zdc6iEjbK};bJGQ{@7J)Dtvdugno0?KRe9QM!&&RiMDF8PLGmo(y#nmIc?&!NtTp2F z;C@(YB+}1Rh&BSL*UoN420?X;`lJJO3-?C?m@>Tw{R>)?u}yx)r+h}$o;2rt*%YKG zHQOs{(3by8NC3yzv-Ggnt!X!<{VX_)M-*}*vTCH)Aj(F45-w2%yQNFag%1a@_wXrK zp3R#WwvTGOjL7}^*_r}>Os|maZr+;d65AIs^efMIQm@6$o5}5uC_moH{vvKo*XjFbOn3HO6v}0VfE9=cM-YXaxLga-Z*;IRnWB_uVdRB;29aK^)NJWxuyQ-yNp{CQ z{;hDWc8ZF%PKHM*C9hH#tK#f4gv#OatOn;dI*QzNPkJ#^Yw+bA8?zT46{&iag3iH6 zRPl6{=>2M?&v8ytPbU*z6KZwK)~yX6O_i0usua7q?tJOZbS@K*zkHI!kU*+V;zAZi zuSUGbs2^5NMEZeHMI)Z|y4eyV{?Insu=Hw6{JuIyC)2wdR?u3S-{dE9#e4MJleQe* z5P!vzxgpU9ElIy@Vhq2Y?Ji8U^<9P)KJ3=N zhc7F6HZOYZ;pl~zQMnwZiwe21Lqg@-iEACp`d`HKoPNGjo*OqWbZKwo?Bm^RxwnhT z-|i2~y%UsA=9QOE0Kx?l1@q>UA*@xLHo@JX@(8#*NRWv1tQN=?hbu!{h_=#;f`xk! z2our4+Mhxx#nj4+s3M%tO_6eVYLyjfbhv0MIe&8*!qGlx6ShOCh!d_9U{gi9XSij7 zgc~4rs26;I}^-mhi*JlN*S z)2Z^Sgi0Zq4dmHJ6WOwa2IX%yY~|ie7QW-b0FuPJ{Ze72=qx{BMTt@Ge(fA!RuGs< z>lLoo$=?{ku(uWUgsj3UV%7ZwxqU`F3YxP-)Ps~h^XZd((o*nS2!^F(wma}aYgy=~ zpV;ZS(TlH}b6GamLfAb zp0MLt3(LP_t$){}tazqUH2RM7g%_w?cD-taY@DM|@nqua{aXFcgKbVfohr{ER0>^K zN1lB&oh|#STKSs|C%HE|@$Yyr+DYQw+NrQoa+aTPfcU6)ziti?=?|vThJ@>Nk~T&# z25m(>rmL`u6m>sAC+`uDg0?J?CV!>Re1;{Tv?Tl%g3&FR?KXJOT2{8{Cw60Y^y2Hb zTo&m?`84Ap!JNp%rP5`+2BRM1F?@NZ?>y-2!;v%hqOzr)EkeI)AC`H!9sh^vvQBPH zw{H1PX<^5_NO;WX`RBVi{Betl75hVCkGGS4eYIh9bW zWF|qkgtn4sO&Db<<3U>&JhjktxdyPW>VW2QPxcqCGg4BuQXO(DZp~|u7P$krRYT>g zdDgIh*N6zc?4EXgrp}xfXQ@~`QB<$jAfXX#>vV3qz~Fuj%P$)aK_-(aVT8KVW*b&o zZzf6}ziN6*IT=V7H<_TgQYAjPjHE2!zI2gjD3d#@WL&bh4SQC z62d*rslWvRj7b-OBRb<*mIQWCe$ry-|u`0q!ZHiQU zzgAgBVi0Zzqvoq)6glSTh%h`kEpA!Kf=$&@A;YbxTDU=6NyQf7h$?{P)iAF#I$+h@ zQ!abfndmoKX}oYNc{I}?%Nq>0k(|zh>eaA~;t*HPO{QMGUuPz>VX6FRf_9J4AZ500 z>w0~<(EL>Z;7^G`KX#pDG!NEDQKCzwU%R*^D@a zZl6wYL32@^dXU5^?>D+eiZ3cp zQF@7Wz?hD6iA;?uT`?7F?^L=MLHo>iP15jTpL1AL;pt~fOuxqt2FPwF2br!IYsGe* zdcIZsRmYl)++MG}`EI^e+!Du6`}FWz+iADou6!%D&kTyUWL40%0=j5h3uKUzq3UQ( zd)96t@*o_{HJR>6@CPM%_bM1f5?xI}r1WG6R2AW1$3>x1W@^E_8xBs_VUz?UMnTty z?qYx^WtJ{OwPFYDnRZa5ZsBUqJ{8AEM~_60yed7cs;jY@8!^MPUhT{sJKnn}>eHEO zzTfUR-ISb)x6`ZAamKmmo}0)hxL>ak8f?$;becRysOJ80-SOJ>sicdqstj*#xLUAl zrzh|Ps@RD4bEfK2CbRr`mc)l+ps)l45)DJq#`FTUGif7%no&gq%&TprK6QWKu=fz& zt2OaV6I%a@&$x*}Gch|P@YMO)e!d57)E_tf`Tv+5zQu=+w~=1Zwl^Nraf!&FmaeJ? z84a+FMUjVn7rDNFI20X*Pdfi>!Qfi^xS8x$dYb8~s%uO?clj>m`;JB4Ut@-EnC~RG z#x3Yx+8;B#wUt@%c2(>4o_&0TL3}(bRKSYU&Mi@hB9IK`sRBC1bPFapz#%YqqP3pC zKv_{QR5UW(-gl8oVugT#M1&)rLQeFoh3MlDHYPAqc@_pLvGFN68p=}xzH z+~ciwD8&4+_TnM$g7dEU7uTPYfzp59zxo&^yjV_6a$DcDvVkjb2C(%6% zqZc62V+7SMCn5tusG@$)dR?l-h(BK&Z8&bVCEivYqvPb$4fAR)&2I`6x#B%=?nxV& zH^iU2WNzr{gO;QVn;63zb3NvK%@s+~s{-~${q8wY6rs{Zo(ALL*s;h2C*Nh*+4gSz zu!ypfXRD&u9u8c1xl7_OT?FRF4n>u3C!XzC)(?;EIc>gGo*TC+bZM{u?BiXk+}lO| zZ}*39Yi+%s21usIvqDv@IPEwSg(wrrV4ej|rx-9O!2zxSb0@m!`3qzg^+Gix)9slT zsia;A7)W<;#CuQ@J!=*8aR^rv7>SsLfu8aiwBu`~QlBk@`S%B%ZgF|UTMJid+p4a}jJ4*=filDc^OIeWy1BJ5y^?pbKP0EuxUs5X&^ z3{*oE_4Cy0Qs+ke`F4wj<3wBIZPn2_PCjEWujY*Wra+A=-UIAU+Q_3J{@g#z4qd(4 znsi|kZFpmD+?+2WJxO|1#onkNm=i^rE?wkVGa8Q7#3wlUF2K&VkLia+WR^Tz)x7p_ zfaT>bX~1+5I36<;b#W*0Y{!Crc6cd0+UUF3hiH+(zo8Y|=k zmpD#bLhuBaI96PO@0T|XC+OwzqL+M|+ztR{!Q@U>C8I7*D-~-{adWbQv>>M|94tgs zfh(#_5)nN9f@!n8O6J=RmS7O2s1~9iq3Yn`=t0fUt5ww4pgXX`$SETjrPFhRR+@N9 zNyoB+9NVC)6&ETUEL@|~r-}eNx~ER%)tRo`u~bs?pxyPXlGMNB;(QsEX);rz`5VrG zMRGE^U$4%1G}!9YxvAm@_p4-Nf?e%Rriq$_no~b+Ao#COragaEXYr?ar#w5XsEP+I zt|&g{V5gg*lNF%8L>pv<>ZH(-Sd;0ZF7-fIN&5&|mb+-&TC^=)Nj*Sy*oV&L)sp&M z6V~kK*-ofIEA8_TwAAU@F_)`tnP!^-T7MW1GVw(w_eif84H$K)y5Ni3N*AQXjK*y> zqll+`m(;#*r}KtIrv312#r*e}PDR}!j-rt)2#^ppc3z1 z1=&cVt2Ky}4uL>b=?FV64>Dz@R*83G(DFKrLPKH{q^V#($zy~%?jP5!u3euhx%jF|?&ik0CA)UI0#Beyk3>JGoepI(3(K=q z)ENVX(GWy&!IHJce+I$j~iaRbMk6VAG5w5BsigegCj4It*WO z{@H@;wf1ov*{yVC(^b{+*naMd+m!D+R(OBi>%3vULvxK=kh-)#=6Y)@)8g%_)_a+m zKU`UY<(WZ6m8=Tl3Y;zu)7pBGYsz6X#BF_ zz+p0(GDfI7{o}fo*7d29$FHj7Sk}ia*>%$ucmh;Ch%4_{Oxy&$e^G=^}A%Fr!cQeSHyWYdgH8TMT<`Tk*-Mi{>2>t_qH{13-% zWOvh*O_x;1W9i%%w^P6GSTXx`uT$B4hxSF>f|SMHnCq?GOpCWmTJL41WJmy3FlPeL zF(Oeg(JdLGhX&dhfd$Ib;ZTr!x}9gW5LLVv%-2G6id!Vd!yynI1i~8TK`PCwg^J)D z?9WY6$vhY^H;wLiwUwOYy9_amrQ4Wuktz~}>ji98?A$X@6i{9@Po1h$?2vncqh~Gb zOry2_Ww)~8nR?OaJN6e|Oq1C4s)5-!$Ef1TM6dg``k^?R($U@;N7oF1|t2rsI(zMy-t$P2*x0a)?+HF zU6G<5DCp$f?@`c35oz-0{mf_h`jeIf=MaqU`MGX`tIcI)n}K3CW(O|5jv}#0FLI_C z4@KrgCZbB0^@5Chj5Q<5GksSN2F^dFnJt zl*0)JgULik;cCI8^p z=p^%EGX9NTtxk5ZwQliLX~F$UkS1NH5kJwWqEX*f-CQ1FLSqi&rXd?~ebUO32T z)MqRzhue1%T-ZJ&axXIJ=V!|XUp?$Gdx@_|Go2T7jTu3e?`Da0EGm5wJ1q5lJK^`Z zW!;LsZo|hrWfgDd#cuD7UV8U+=~4yzge5CP+X`r{Z7onrN`?xfIqki>g~*(6Fc+EV zNT?P}^6rHgL=tUGK>`)Y5U3!+!Onw1r3lx8c^eT<*Qdw{NDM^Rhi+|vCzX{hL&ahT z?Jw@2NX)|3oGGe~ks0oZ9(lETSXCQiHMjB%&w9|AJ9cO8qNtKH)qGzzI^BFR8E>ao ztK*Eb);%{-T5!K!BsAFm{L^VNAEBDNY{T)|qsgR;uWAi%ZrE6`PgErE1Pa)Q_q(O) zQUtU7d1@qvWBPRx5J(IRMeEiJ)Gniq1d2u#4fw9Mk=WGzftfx-_=1+iGff!%D?U9Y z2F>N!A%Q~YXZyV#v{7X?{rSJ18@}~AGTugdS=-*YTgN4$lv=tf9Aq@$GZsbW_Fd#E zY#)lg7nyYa*|Nd4_8v3Yh>A4RRYBL7epLA`MXY0y_lwx!8_%~BT;rB?FYR|5-r6dw zc)KcgdvD;wtSB)E7ll#tH!+GF?SqK09ZFi9u)GDEDpDcC zEvs6%0ivX0E8&PL*vYG5&cEY;z3Y*3d8X1tztLIag3 zz(Pg6!cg7(4P*d&TM<2E6_ysO?q|;JGXgGX&Z<)nQaa_`C+XEz@LN*=OUdkD;Dgqb z&`rP7r{_jBUpMD|v$-bEVbm+g7nQdpy~NsJM8}QcQ=@$6O~u+rllHKK&HpuSiR0TndicAYwA-xd zSQbtPKW4#XKUO6p1)!Bmw?J`ova+;bIvfrb%2$CavQH8bA^w7CF}+IWK!hcjLMp0- zC`+h1*gASp3-oFgSvKenfiQAP2uA6&G2KdYhg8zBtSrZ-0=MEq<$;B3So>5FI7jzX zd|sWYNTa3FT{qfY&jv~TJGRc3QH3TmHB7(Z90DXKlLPhYj5Tmpr=Cs}Ke*o@BeM>- zH<`}YB-C*HxPb`2KACpwRhh3amS6V=gUq*6!sAv>TkLmfz1u4J_U$!=pDcJQ6F43G5<$s+ z$?`@DKxdV1ft==KWw2m6To^2rzYbSqZ%IdlEP~QvAoAuw1QJXkWz|BIl~f&UB|WGG zuWA)pXoC)ct(26IW%<*_bZ5;SQf|j`gFKrGT#yTuwOP4!mD!tbubr^>iZV!TknBnRU3B$#nipLJh|^ z>xl3-Q)#z&DlJ$fM&whqv#NN4Ad2FB;&!?P+gSn3)S^L5JuC$`;%A~u8&zM`&TStF zQsDOP1&Oxht*8gEedbNS{G>HCI>gURYHkGjpgH^VkRavLvwgBx+Y0~OTmqyS4We`K z$pNMFM#{#cs$&s3ZKZ2qv4_1Pno;>b`!2D6^^hL=5}$U%bl#jlc0{p!E33hDO-U=J zPwL`s!S5YQEERi$L63J*!r#uHw%8xldbgGP?b~Y-L6#>~RmWOY_5Ddz)p1r;{R(<{ z`=nsvm`g9?zP<6+Eb%@!;rcmd7N&UlBHxgIDLa1f%g<@|_7g9h{3bb$-y~2@zj*Wb zlk&{tD$fLxCOCpEd3$f4JO(+g#~@De@T;ztC-~+u;+sN$0NyE{AQ#7lTrfknnIzp< zw&hOhu8ynj3MAk7qY&w&pyK!nDmpRd@$WfLO1O`!gd0G=8P7gr`PTjfw>U1`g4F^2 zJ1gX*g8TR?xV7u}=PgcZGmon_Q^`_Iu98V#;Jx6C0!bWi$<_1;BypU@6wH{d6G-BCUj+ln*PK8S$NG*( zC-MZ6IL_*A0PO^lIOb9c)I9NFR!Cy`q)Ou0A&DwS2-V>Mq*pr!{O}-jt^bqbjFo@6HT!d17xMr0k)$NR$=jp@m)-%JZ!jOn zLugUmXbxcfyeQ-F63B_uX*2o-_{WD zX>;^EJno$h000Oh(Xm*(Z3s3L8%A(O6R>z3It0O>Ec3rxY#>b3?xWL^2nH z4s&3`L9hSP+|K+%Ps(QwRhIbBlkneq`pb5kBT9y#|FN(3f9i{LBti5;UkvAdYL!iR zNI1UfzwJoQ>mQ7IeI!BXLq~jn>*$OZ=#yCekLLVyBYCp{SO5TkA^-qja}LK~Ly!Q` z-5UCB006~EPFpmd5DZ{C_y)yD7-wu$aM~yRen^IO007|V{fRYh`0xlUo`Azf8EVgY zu^l-56aWBVayu}^Bb;!M>sA2-+*Ry>Z2$1^kb~iI@CU)jQ~tAuj4FqW+y^NhjK$*! z2PwtS2pbk1`Zq4jSvCM;_}CwEaRC4TQ~){z7Z&7=-l-w?iMzi>U-;@>aKybqnEb10J$w}5Co9venD zCT7M&h6+YwaA83OCu~iAS65*6QyB?4!{zy zm`l!R0)Xi+jstCfJL;Q}S|75F(Ve)@p{k7V@*Jspn5YcWh~V(BAiX0J#tkm#=nw+# zT{SqRv+DI73z<}h8>RW1L+5&{G&6i80k_;qtPw?{o?0;7YD}$21Z9= z4}~za_y=(te~J6#LhIaNuni8iV@#@^cyw4)1e&oZ#M+@5iG7gPF43X>N2zy|LWeQh zvbcTj&_e4&8H|Mk6@d+i4ngDpSDpToiBm`NY!Brz2AFLqE-H#Ku>UVd8|3_x68|9%SN~n&Q5^moiJwH^D8w5U^dpI%nEjU<{~MA2$&*0e!|1{e%?2_e z6O0SPg<+$j4uXmakM>mPD6CK3;9 zU|`of{pv_3iw86JQRK@q|u4u+SLCoc4Gi8;7nXo>8+Si{0tj^d7( zbq|>tW8uRN>%S84&u!(%V a_+SP?`ZYw<9?XS|y^1wD3VU$-(By;511#H&42k;?dV&^ zhK$n=7lJ+5Z8LJ1L3&ABTSt?CzT$C-?O<(V%$vZ2EMcU?2futsi(8-2@qS2%|4jQ| xwl^L3cqd0^uwP#LGhXVg*3G}MtxNyy#{b8*cP{Jl^WWxfZEo-^Mdzw={~y5tEO7t; diff --git a/scripts/tutorials/NBody/makePlanets.js b/scripts/tutorials/NBody/makePlanets.js index d2f2cebf3d..651f82654a 100644 --- a/scripts/tutorials/NBody/makePlanets.js +++ b/scripts/tutorials/NBody/makePlanets.js @@ -60,7 +60,7 @@ function onButtonClick() { earth = Entities.addEntity({ type: "Model", name: "Earth", - modelURL: Script.resolvePath("earth.fbx"), + modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/makePlanets.js/earth.fbx", position: inFrontOfMe(2 * EARTH_SIZE), dimensions: { x: EARTH_SIZE, y: EARTH_SIZE, z: EARTH_SIZE }, shapeType: "sphere", @@ -71,7 +71,7 @@ function onButtonClick() { moon = Entities.addEntity({ type: "Model", name: "Moon", - modelURL: Script.resolvePath("moon.fbx"), + modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/makePlanets.js/moon.fbx", position: inFrontOfMe(EARTH_SIZE - MOON_SIZE), dimensions: { x: MOON_SIZE, y: MOON_SIZE, z: MOON_SIZE }, dynamic: true, diff --git a/scripts/tutorials/NBody/moon.fbx b/scripts/tutorials/NBody/moon.fbx deleted file mode 100644 index b951c078127cb68879d9e7214bab57b8987f01b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95184 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 QHYP$oFECE|rARUS7sWIwDgXcg From 7db082b91567c06602b068511f9f55e6912cae50 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 9 May 2016 15:05:13 -0700 Subject: [PATCH 084/106] Amend comment that was not a busy wait --- libraries/script-engine/src/ScriptEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 464b514fd5..63bbd142e1 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -725,7 +725,7 @@ void ScriptEngine::run() { qint64 lastUpdate = usecTimestampNow(); - // TODO: Integrate this with signals/slots instead of this busy wait + // TODO: Integrate this with signals/slots instead of reimplementing throttling for ScriptEngine while (!_isFinished) { // Throttle to SCRIPT_FPS const std::chrono::microseconds FRAME_DURATION(USECS_PER_SECOND / SCRIPT_FPS + 1); From 9fe827a93bb859f787ce8b1808a0919090a33a8e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 9 May 2016 15:28:25 -0700 Subject: [PATCH 085/106] d'oh --- scripts/tutorials/NBody/makePlanets.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tutorials/NBody/makePlanets.js b/scripts/tutorials/NBody/makePlanets.js index 651f82654a..58a3c7cc2d 100644 --- a/scripts/tutorials/NBody/makePlanets.js +++ b/scripts/tutorials/NBody/makePlanets.js @@ -60,7 +60,7 @@ function onButtonClick() { earth = Entities.addEntity({ type: "Model", name: "Earth", - modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/makePlanets.js/earth.fbx", + modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/earth.fbx", position: inFrontOfMe(2 * EARTH_SIZE), dimensions: { x: EARTH_SIZE, y: EARTH_SIZE, z: EARTH_SIZE }, shapeType: "sphere", @@ -71,7 +71,7 @@ function onButtonClick() { moon = Entities.addEntity({ type: "Model", name: "Moon", - modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/makePlanets.js/moon.fbx", + modelURL: "https://s3-us-west-1.amazonaws.com/hifi-content/seth/production/NBody/moon.fbx", position: inFrontOfMe(EARTH_SIZE - MOON_SIZE), dimensions: { x: MOON_SIZE, y: MOON_SIZE, z: MOON_SIZE }, dynamic: true, From 5c196f3df5b6f57644df63a8b22984dfb6fae650 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Mon, 9 May 2016 15:03:06 -0700 Subject: [PATCH 086/106] Remove Deadlock status --- interface/src/Application.cpp | 26 +------------------------- interface/src/Application.h | 1 - interface/src/Menu.cpp | 2 -- interface/src/Menu.h | 1 - 4 files changed, 1 insertion(+), 29 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5b0d5c65ce..d036b1173e 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -210,9 +210,7 @@ const QHash Application::_acceptedExtensi class DeadlockWatchdogThread : public QThread { public: - static const unsigned long HEARTBEAT_CHECK_INTERVAL_SECS = 1; static const unsigned long HEARTBEAT_UPDATE_INTERVAL_SECS = 1; - static const unsigned long HEARTBEAT_REPORT_INTERVAL_USECS = 5 * USECS_PER_SECOND; static const unsigned long MAX_HEARTBEAT_AGE_USECS = 30 * USECS_PER_SECOND; static const int WARNING_ELAPSED_HEARTBEAT = 500 * USECS_PER_MSEC; // warn if elapsed heartbeat average is large static const int HEARTBEAT_SAMPLES = 100000; // ~5 seconds worth of samples @@ -239,8 +237,6 @@ public: *crashTrigger = 0xDEAD10CC; } - static void setSuppressStatus(bool suppress) { _suppressStatus = suppress; } - void run() override { while (!_quit) { QThread::sleep(HEARTBEAT_UPDATE_INTERVAL_SECS); @@ -248,7 +244,6 @@ public: uint64_t lastHeartbeat = _heartbeat; // sample atomic _heartbeat, because we could context switch away and have it updated on us uint64_t now = usecTimestampNow(); auto lastHeartbeatAge = (now > lastHeartbeat) ? now - lastHeartbeat : 0; - auto sinceLastReport = (now > _lastReport) ? now - _lastReport : 0; auto elapsedMovingAverage = _movingAverage.getAverage(); if (elapsedMovingAverage > _maxElapsedAverage) { @@ -274,21 +269,10 @@ public: if (elapsedMovingAverage > WARNING_ELAPSED_HEARTBEAT) { qDebug() << "DEADLOCK WATCHDOG WARNING:" << "lastHeartbeatAge:" << lastHeartbeatAge - << "elapsedMovingAverage:" << elapsedMovingAverage << "** OVER EXPECTED VALUE**" + << "elapsedMovingAverage:" << elapsedMovingAverage << "** OVER EXPECTED VALUE **" << "maxElapsed:" << _maxElapsed << "maxElapsedAverage:" << _maxElapsedAverage << "samples:" << _movingAverage.getSamples(); - _lastReport = now; - } - - if (!_suppressStatus && sinceLastReport > HEARTBEAT_REPORT_INTERVAL_USECS) { - qDebug() << "DEADLOCK WATCHDOG STATUS:" - << "lastHeartbeatAge:" << lastHeartbeatAge - << "elapsedMovingAverage:" << elapsedMovingAverage - << "maxElapsed:" << _maxElapsed - << "maxElapsedAverage:" << _maxElapsedAverage - << "samples:" << _movingAverage.getSamples(); - _lastReport = now; } if (lastHeartbeatAge > MAX_HEARTBEAT_AGE_USECS) { @@ -310,9 +294,7 @@ public: } } - static std::atomic _suppressStatus; static std::atomic _heartbeat; - static std::atomic _lastReport; static std::atomic _maxElapsed; static std::atomic _maxElapsedAverage; static ThreadSafeMovingAverage _movingAverage; @@ -320,17 +302,11 @@ public: bool _quit { false }; }; -std::atomic DeadlockWatchdogThread::_suppressStatus; std::atomic DeadlockWatchdogThread::_heartbeat; -std::atomic DeadlockWatchdogThread::_lastReport; std::atomic DeadlockWatchdogThread::_maxElapsed; std::atomic DeadlockWatchdogThread::_maxElapsedAverage; ThreadSafeMovingAverage DeadlockWatchdogThread::_movingAverage; -void Application::toggleSuppressDeadlockWatchdogStatus(bool checked) { - DeadlockWatchdogThread::setSuppressStatus(checked); -} - #ifdef Q_OS_WIN class MyNativeEventFilter : public QAbstractNativeEventFilter { public: diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..21669149d0 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -255,7 +255,6 @@ public slots: void resetSensors(bool andReload = false); void setActiveFaceTracker() const; - void toggleSuppressDeadlockWatchdogStatus(bool checked); #ifdef HAVE_IVIEWHMD void setActiveEyeTracker(); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index c5fa52e49d..44d7285ba7 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -568,8 +568,6 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::PipelineWarnings); addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::LogExtraTimings); addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::SuppressShortTimings); - addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::SupressDeadlockWatchdogStatus, 0, false, - qApp, SLOT(toggleSuppressDeadlockWatchdogStatus(bool))); // Developer > Audio >>> diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 5796575780..6cf407fa6c 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -182,7 +182,6 @@ namespace MenuOption { const QString Stats = "Stats"; const QString StopAllScripts = "Stop All Scripts"; const QString SuppressShortTimings = "Suppress Timings Less than 10ms"; - const QString SupressDeadlockWatchdogStatus = "Supress Deadlock Watchdog Status"; const QString ThirdPerson = "Third Person"; const QString ThreePointCalibration = "3 Point Calibration"; const QString ThrottleFPSIfNotFocus = "Throttle FPS If Not Focus"; // FIXME - this value duplicated in Basic2DWindowOpenGLDisplayPlugin.cpp From 7bb21d370084c96e4e0d9d2fa20091febf178136 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Mon, 9 May 2016 16:19:03 -0700 Subject: [PATCH 087/106] fix the update dialog to not show blank lines for missing version numbers --- interface/src/ui/UpdateDialog.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/interface/src/ui/UpdateDialog.cpp b/interface/src/ui/UpdateDialog.cpp index 4001e615a1..437e173807 100644 --- a/interface/src/ui/UpdateDialog.cpp +++ b/interface/src/ui/UpdateDialog.cpp @@ -31,10 +31,12 @@ UpdateDialog::UpdateDialog(QQuickItem* parent) : _releaseNotes = ""; for (int i = latestVersion; i > currentVersion; i--) { - QString releaseNotes = applicationUpdater.data()->getBuildData()[i]["releaseNotes"]; - releaseNotes.remove("
"); - releaseNotes.remove(QRegExp("^\n+")); - _releaseNotes += "\n" + QString().sprintf("%d", i) + "\n" + releaseNotes + "\n"; + if (applicationUpdater.data()->getBuildData().contains(i)) { + QString releaseNotes = applicationUpdater.data()->getBuildData()[i]["releaseNotes"]; + releaseNotes.remove("
"); + releaseNotes.remove(QRegExp("^\n+")); + _releaseNotes += "\n" + QString().sprintf("%d", i) + "\n" + releaseNotes + "\n"; + } } } From 40316498a4c404ad012f43261b222cadbcfe46ee Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Sun, 8 May 2016 10:40:30 -0700 Subject: [PATCH 088/106] Enable script debugging --- interface/CMakeLists.txt | 4 +- .../src/scripting/MenuScriptingInterface.cpp | 22 ++++-- libraries/script-engine/CMakeLists.txt | 2 +- libraries/script-engine/src/ScriptEngine.cpp | 78 +++++++++++++++++-- libraries/script-engine/src/ScriptEngine.h | 12 ++- libraries/script-engine/src/ScriptEngines.cpp | 10 ++- 6 files changed, 111 insertions(+), 17 deletions(-) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 800cadf72f..84aa0328b0 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -44,7 +44,7 @@ else () endif () find_package(Qt5 COMPONENTS - Gui Multimedia Network OpenGL Qml Quick Script Svg + Gui Multimedia Network OpenGL Qml Quick Script ScriptTools Svg WebChannel WebEngine WebEngineWidgets WebKitWidgets WebSockets) # grab the ui files in resources/ui @@ -201,7 +201,7 @@ include_directories("${PROJECT_SOURCE_DIR}/src") target_link_libraries( ${TARGET_NAME} Qt5::Gui Qt5::Network Qt5::Multimedia Qt5::OpenGL - Qt5::Qml Qt5::Quick Qt5::Script Qt5::Svg + Qt5::Qml Qt5::Quick Qt5::Script Qt5::ScriptTools Qt5::Svg Qt5::WebChannel Qt5::WebEngine Qt5::WebEngineWidgets Qt5::WebKitWidgets ) diff --git a/interface/src/scripting/MenuScriptingInterface.cpp b/interface/src/scripting/MenuScriptingInterface.cpp index da55a8829f..7eb80b5946 100644 --- a/interface/src/scripting/MenuScriptingInterface.cpp +++ b/interface/src/scripting/MenuScriptingInterface.cpp @@ -11,8 +11,11 @@ #include "MenuScriptingInterface.h" -#include "Menu.h" +#include +#include + #include +#include "Menu.h" MenuScriptingInterface* MenuScriptingInterface::getInstance() { static MenuScriptingInterface sharedInstance; @@ -36,6 +39,9 @@ void MenuScriptingInterface::removeMenu(const QString& menu) { } bool MenuScriptingInterface::menuExists(const QString& menu) { + if (QThread::currentThread() == qApp->thread()) { + return Menu::getInstance()->menuExists(menu); + } bool result; QMetaObject::invokeMethod(Menu::getInstance(), "menuExists", Qt::BlockingQueuedConnection, Q_RETURN_ARG(bool, result), @@ -76,11 +82,14 @@ void MenuScriptingInterface::removeMenuItem(const QString& menu, const QString& }; bool MenuScriptingInterface::menuItemExists(const QString& menu, const QString& menuitem) { + if (QThread::currentThread() == qApp->thread()) { + return Menu::getInstance()->menuItemExists(menu, menuitem); + } bool result; QMetaObject::invokeMethod(Menu::getInstance(), "menuItemExists", Qt::BlockingQueuedConnection, - Q_RETURN_ARG(bool, result), - Q_ARG(const QString&, menu), - Q_ARG(const QString&, menuitem)); + Q_RETURN_ARG(bool, result), + Q_ARG(const QString&, menu), + Q_ARG(const QString&, menuitem)); return result; } @@ -101,6 +110,9 @@ void MenuScriptingInterface::removeActionGroup(const QString& groupName) { } bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) { + if (QThread::currentThread() == qApp->thread()) { + return Menu::getInstance()->isOptionChecked(menuOption); + } bool result; QMetaObject::invokeMethod(Menu::getInstance(), "isOptionChecked", Qt::BlockingQueuedConnection, Q_RETURN_ARG(bool, result), @@ -109,7 +121,7 @@ bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) { } void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool isChecked) { - QMetaObject::invokeMethod(Menu::getInstance(), "setIsOptionChecked", Qt::BlockingQueuedConnection, + QMetaObject::invokeMethod(Menu::getInstance(), "setIsOptionChecked", Q_ARG(const QString&, menuOption), Q_ARG(bool, isChecked)); } diff --git a/libraries/script-engine/CMakeLists.txt b/libraries/script-engine/CMakeLists.txt index 8ff13aba70..48fda99b9d 100644 --- a/libraries/script-engine/CMakeLists.txt +++ b/libraries/script-engine/CMakeLists.txt @@ -1,3 +1,3 @@ set(TARGET_NAME script-engine) -setup_hifi_library(Gui Network Script WebSockets Widgets) +setup_hifi_library(Gui Network Script ScriptTools WebSockets Widgets) link_hifi_libraries(shared networking octree gpu ui procedural model model-networking recording avatars fbx entities controllers animation audio physics) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 63bbd142e1..ba74219b4e 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -17,12 +17,18 @@ #include #include #include +#include + +#include +#include + #include #include -#include + #include #include -#include + +#include #include #include @@ -34,6 +40,7 @@ #include #include #include +#include #include #include @@ -169,6 +176,61 @@ void ScriptEngine::disconnectNonEssentialSignals() { } } +void ScriptEngine::runDebuggable() { + init(); + _isRunning = true; + _debuggable = true; + _debugger = new QScriptEngineDebugger(this); + _debugger->attachTo(this); + static QMenu* scriptDebugMenu = qobject_cast(qApp->activeWindow())->menuBar()->addMenu("Script Debug"); + scriptDebugMenu->addMenu(_fileNameString)->addMenu(_debugger->createStandardMenu(qApp->activeWindow())); + _debugger->action(QScriptEngineDebugger::InterruptAction)->trigger(); + QScriptValue result = evaluate(_scriptContents, _fileNameString); + + _lastUpdate = usecTimestampNow(); + QTimer* timer = new QTimer(this); + connect(this, &ScriptEngine::finished, [this, timer] { + disconnect(timer); + }); + + connect(timer, &QTimer::timeout, [this, timer] { + if (_isFinished) { + if (!_isRunning) { + return; + } + stopAllTimers(); // make sure all our timers are stopped if the script is ending + if (_wantSignals) { + emit scriptEnding(); + emit finished(_fileNameString, this); + } + _isRunning = false; + if (_wantSignals) { + emit runningStateChanged(); + emit doneRunning(); + } + timer->deleteLater(); + return; + } + + qint64 now = usecTimestampNow(); + // we check for 'now' in the past in case people set their clock back + if (_lastUpdate < now) { + float deltaTime = (float)(now - _lastUpdate) / (float)USECS_PER_SECOND; + if (!_isFinished) { + if (_wantSignals) { + emit update(deltaTime); + } + } + } + _lastUpdate = now; + // Debug and clear exceptions + hadUncaughtExceptions(*this, _fileNameString); + }); + + timer->start(10); +} + + void ScriptEngine::runInThread() { Q_ASSERT_X(!_isThreaded, "ScriptEngine::runInThread()", "runInThread should not be called more than once"); @@ -260,6 +322,10 @@ void ScriptEngine::loadURL(const QUrl& scriptURL, bool reload) { // FIXME - switch this to the new model of ScriptCache callbacks void ScriptEngine::scriptContentsAvailable(const QUrl& url, const QString& scriptContents) { _scriptContents = scriptContents; + static const QString DEBUG_FLAG("#debug"); + if (QRegularExpression(DEBUG_FLAG).match(scriptContents).hasMatch()) { + _debuggable = true; + } if (_wantSignals) { emit scriptLoaded(url.toString()); } @@ -723,7 +789,7 @@ void ScriptEngine::run() { auto nodeList = DependencyManager::get(); auto entityScriptingInterface = DependencyManager::get(); - qint64 lastUpdate = usecTimestampNow(); + _lastUpdate = usecTimestampNow(); // TODO: Integrate this with signals/slots instead of reimplementing throttling for ScriptEngine while (!_isFinished) { @@ -771,15 +837,15 @@ void ScriptEngine::run() { qint64 now = usecTimestampNow(); // we check for 'now' in the past in case people set their clock back - if (lastUpdate < now) { - float deltaTime = (float) (now - lastUpdate) / (float) USECS_PER_SECOND; + if (_lastUpdate < now) { + float deltaTime = (float) (now - _lastUpdate) / (float) USECS_PER_SECOND; if (!_isFinished) { if (_wantSignals) { emit update(deltaTime); } } } - lastUpdate = now; + _lastUpdate = now; // Debug and clear exceptions hadUncaughtExceptions(*this, _fileNameString); diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index f050997235..d37e3eb177 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -18,9 +18,10 @@ #include #include #include -#include #include +#include + #include #include #include @@ -39,6 +40,8 @@ #include "ScriptUUID.h" #include "Vec3.h" +class QScriptEngineDebugger; + static const QString NO_SCRIPT(""); static const int SCRIPT_FPS = 60; @@ -75,6 +78,8 @@ public: /// services before calling this. void runInThread(); + void runDebuggable(); + /// run the script in the callers thread, exit when stop() is called. void run(); @@ -140,6 +145,8 @@ public: bool isFinished() const { return _isFinished; } // used by Application and ScriptWidget bool isRunning() const { return _isRunning; } // used by ScriptWidget + bool isDebuggable() const { return _debuggable; } + void disconnectNonEssentialSignals(); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -187,6 +194,9 @@ protected: bool _wantSignals { true }; QHash _entityScripts; bool _isThreaded { false }; + QScriptEngineDebugger* _debugger { nullptr }; + bool _debuggable { false }; + qint64 _lastUpdate; void init(); QString getFilename() const; diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index c6070e0598..cf82d9db4f 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -9,7 +9,8 @@ #include "ScriptEngines.h" #include -#include + +#include #include #include @@ -490,7 +491,12 @@ void ScriptEngines::launchScriptEngine(ScriptEngine* scriptEngine) { for (auto initializer : _scriptInitializers) { initializer(scriptEngine); } - scriptEngine->runInThread(); + + if (scriptEngine->isDebuggable() || (qApp->queryKeyboardModifiers() & Qt::ShiftModifier)) { + scriptEngine->runDebuggable(); + } else { + scriptEngine->runInThread(); + } } From 9ac783a88d65d8acbe1192606453e40e577a2179 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 9 May 2016 14:56:25 -0700 Subject: [PATCH 089/106] Black box asynch resource retrieval --- interface/src/Application.cpp | 9 --------- interface/src/Application.h | 2 -- libraries/networking/src/ResourceCache.cpp | 22 ++++------------------ libraries/networking/src/ResourceCache.h | 17 +++++++---------- 4 files changed, 11 insertions(+), 39 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5b0d5c65ce..6b1cb48508 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -584,12 +584,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : // put the NodeList and datagram processing on the node thread nodeList->moveToThread(nodeThread); - // Model background downloads need to happen on the Datagram Processor Thread. The idle loop will - // emit checkBackgroundDownloads to cause the ModelCache to check it's queue for requested background - // downloads. - auto modelCache = DependencyManager::get(); - connect(this, &Application::checkBackgroundDownloads, modelCache.data(), &ModelCache::checkAsynchronousGets); - // put the audio processing on a separate thread QThread* audioThread = new QThread(); audioThread->setObjectName("Audio Thread"); @@ -2746,9 +2740,6 @@ void Application::idle(uint64_t now) { } _overlayConductor.update(secondsSinceLastUpdate); - - // check for any requested background downloads. - emit checkBackgroundDownloads(); } void Application::setLowVelocityFilter(bool lowVelocityFilter) { diff --git a/interface/src/Application.h b/interface/src/Application.h index 2911d42b65..965ad183fe 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -224,8 +224,6 @@ public: signals: void svoImportRequested(const QString& url); - void checkBackgroundDownloads(); - void fullAvatarURLChanged(const QString& newValue, const QString& modelName); void beforeAboutToQuit(); diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index d6a2fa7dba..e3b333aae9 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -316,23 +316,6 @@ void ResourceCache::setRequestLimit(int limit) { } } -void ResourceCache::getResourceAsynchronously(const QUrl& url) { - qCDebug(networking) << "ResourceCache::getResourceAsynchronously" << url.toString(); - QWriteLocker locker(&_resourcesToBeGottenLock); - _resourcesToBeGotten.enqueue(QUrl(url)); -} - -void ResourceCache::checkAsynchronousGets() { - assert(QThread::currentThread() == thread()); - QWriteLocker locker(&_resourcesToBeGottenLock); - if (!_resourcesToBeGotten.isEmpty()) { - QUrl url = _resourcesToBeGotten.dequeue(); - - locker.unlock(); - getResource(url); - } -} - QSharedPointer ResourceCache::getResource(const QUrl& url, const QUrl& fallback, bool delayLoad, void* extra) { QSharedPointer resource; @@ -346,8 +329,11 @@ QSharedPointer ResourceCache::getResource(const QUrl& url, const QUrl& } if (QThread::currentThread() != thread()) { + qCDebug(networking) << "Fetching asynchronously:" << url; assert(delayLoad); - getResourceAsynchronously(url); + QMetaObject::invokeMethod(this, "getResource", + Q_ARG(QUrl, url), Q_ARG(QUrl, fallback), Q_ARG(bool, delayLoad)); + // Cannot use extra parameter as it might be freed before the invocation return QSharedPointer(); } diff --git a/libraries/networking/src/ResourceCache.h b/libraries/networking/src/ResourceCache.h index 64e3f4dc34..6678c3157a 100644 --- a/libraries/networking/src/ResourceCache.h +++ b/libraries/networking/src/ResourceCache.h @@ -179,9 +179,6 @@ public: signals: void dirty(); -public slots: - void checkAsynchronousGets(); - protected slots: void updateTotalSize(const qint64& deltaSize); @@ -190,6 +187,13 @@ protected slots: // and delegate to it (see TextureCache::prefetch(const QUrl&, int). ScriptableResource* prefetch(const QUrl& url, void* extra); + /// Loads a resource from the specified URL. + /// \param fallback a fallback URL to load if the desired one is unavailable + /// \param delayLoad if true, don't load the resource immediately; wait until load is first requested + /// \param extra extra data to pass to the creator, if appropriate + QSharedPointer getResource(const QUrl& url, const QUrl& fallback = QUrl(), + bool delayLoad = false, void* extra = NULL); + private slots: void clearATPAssets(); @@ -200,13 +204,6 @@ protected: // the QScriptEngine will delete the pointer when it is garbage collected. Q_INVOKABLE ScriptableResource* prefetch(const QUrl& url) { return prefetch(url, nullptr); } - /// Loads a resource from the specified URL. - /// \param fallback a fallback URL to load if the desired one is unavailable - /// \param delayLoad if true, don't load the resource immediately; wait until load is first requested - /// \param extra extra data to pass to the creator, if appropriate - QSharedPointer getResource(const QUrl& url, const QUrl& fallback = QUrl(), - bool delayLoad = false, void* extra = NULL); - /// Creates a new resource. virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, bool delayLoad, const void* extra) = 0; From 09d879e19f4140ac8899f02b45e37c0ca02c03d8 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 9 May 2016 18:01:21 -0700 Subject: [PATCH 090/106] Remove delayLoad --- libraries/animation/src/AnimationCache.cpp | 2 +- libraries/animation/src/AnimationCache.h | 4 ++-- libraries/audio/src/SoundCache.cpp | 2 +- libraries/audio/src/SoundCache.h | 4 ++-- .../src/model-networking/ModelCache.cpp | 6 +++--- .../src/model-networking/ModelCache.h | 4 ++-- .../src/model-networking/ShaderCache.cpp | 14 ++++++-------- .../src/model-networking/ShaderCache.h | 5 +++-- .../src/model-networking/TextureCache.cpp | 8 ++++---- .../src/model-networking/TextureCache.h | 4 ++-- libraries/networking/src/ResourceCache.cpp | 18 +++++++++--------- libraries/networking/src/ResourceCache.h | 13 +++++++------ .../recording/src/recording/ClipCache.cpp | 15 ++++++--------- libraries/recording/src/recording/ClipCache.h | 4 ++-- 14 files changed, 50 insertions(+), 53 deletions(-) diff --git a/libraries/animation/src/AnimationCache.cpp b/libraries/animation/src/AnimationCache.cpp index 9364045857..482c4211cb 100644 --- a/libraries/animation/src/AnimationCache.cpp +++ b/libraries/animation/src/AnimationCache.cpp @@ -36,7 +36,7 @@ AnimationPointer AnimationCache::getAnimation(const QUrl& url) { } QSharedPointer AnimationCache::createResource(const QUrl& url, const QSharedPointer& fallback, - bool delayLoad, const void* extra) { + const void* extra) { return QSharedPointer(new Animation(url), &Resource::deleter); } diff --git a/libraries/animation/src/AnimationCache.h b/libraries/animation/src/AnimationCache.h index 59a4ad0498..9da649e66e 100644 --- a/libraries/animation/src/AnimationCache.h +++ b/libraries/animation/src/AnimationCache.h @@ -35,8 +35,8 @@ public: protected: - virtual QSharedPointer createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra); + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra); private: explicit AnimationCache(QObject* parent = NULL); virtual ~AnimationCache() { } diff --git a/libraries/audio/src/SoundCache.cpp b/libraries/audio/src/SoundCache.cpp index 2752c6669f..96a2cee204 100644 --- a/libraries/audio/src/SoundCache.cpp +++ b/libraries/audio/src/SoundCache.cpp @@ -35,7 +35,7 @@ SharedSoundPointer SoundCache::getSound(const QUrl& url) { } QSharedPointer SoundCache::createResource(const QUrl& url, const QSharedPointer& fallback, - bool delayLoad, const void* extra) { + const void* extra) { qCDebug(audio) << "Requesting sound at" << url.toString(); return QSharedPointer(new Sound(url), &Resource::deleter); } diff --git a/libraries/audio/src/SoundCache.h b/libraries/audio/src/SoundCache.h index 7942e16010..59a25dd847 100644 --- a/libraries/audio/src/SoundCache.h +++ b/libraries/audio/src/SoundCache.h @@ -25,8 +25,8 @@ public: Q_INVOKABLE SharedSoundPointer getSound(const QUrl& url); protected: - virtual QSharedPointer createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra); + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra); private: SoundCache(QObject* parent = NULL); }; diff --git a/libraries/model-networking/src/model-networking/ModelCache.cpp b/libraries/model-networking/src/model-networking/ModelCache.cpp index 24834967d6..8cd6d9b65e 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.cpp +++ b/libraries/model-networking/src/model-networking/ModelCache.cpp @@ -71,7 +71,7 @@ void GeometryMappingResource::downloadFinished(const QByteArray& data) { GeometryExtra extra{ mapping, _textureBaseUrl }; // Get the raw GeometryResource, not the wrapped NetworkGeometry - _geometryResource = modelCache->getResource(url, QUrl(), false, &extra).staticCast(); + _geometryResource = modelCache->getResource(url, QUrl(), &extra).staticCast(); // Avoid caching nested resources - their references will be held by the parent _geometryResource->_isCacheable = false; @@ -236,7 +236,7 @@ ModelCache::ModelCache() { } QSharedPointer ModelCache::createResource(const QUrl& url, const QSharedPointer& fallback, - bool delayLoad, const void* extra) { + const void* extra) { Resource* resource = nullptr; if (url.path().toLower().endsWith(".fst")) { resource = new GeometryMappingResource(url); @@ -252,7 +252,7 @@ QSharedPointer ModelCache::createResource(const QUrl& url, const QShar std::shared_ptr ModelCache::getGeometry(const QUrl& url, const QVariantHash& mapping, const QUrl& textureBaseUrl) { GeometryExtra geometryExtra = { mapping, textureBaseUrl }; - GeometryResource::Pointer resource = getResource(url, QUrl(), true, &geometryExtra).staticCast(); + GeometryResource::Pointer resource = getResource(url, QUrl(), &geometryExtra).staticCast(); if (resource) { if (resource->isLoaded() && resource->shouldSetTextures()) { resource->setTextures(); diff --git a/libraries/model-networking/src/model-networking/ModelCache.h b/libraries/model-networking/src/model-networking/ModelCache.h index bf47f293e8..f15e1106e2 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.h +++ b/libraries/model-networking/src/model-networking/ModelCache.h @@ -44,8 +44,8 @@ public: protected: friend class GeometryMappingResource; - virtual QSharedPointer createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra); + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra); private: ModelCache(); diff --git a/libraries/model-networking/src/model-networking/ShaderCache.cpp b/libraries/model-networking/src/model-networking/ShaderCache.cpp index 3e14a99f87..bf7ade07f7 100644 --- a/libraries/model-networking/src/model-networking/ShaderCache.cpp +++ b/libraries/model-networking/src/model-networking/ShaderCache.cpp @@ -7,11 +7,8 @@ // #include "ShaderCache.h" -NetworkShader::NetworkShader(const QUrl& url, bool delayLoad) - : Resource(url, delayLoad) -{ - -} +NetworkShader::NetworkShader(const QUrl& url) : + Resource(url) {} void NetworkShader::downloadFinished(const QByteArray& data) { _source = QString::fromUtf8(data); @@ -24,10 +21,11 @@ ShaderCache& ShaderCache::instance() { } NetworkShaderPointer ShaderCache::getShader(const QUrl& url) { - return ResourceCache::getResource(url, QUrl(), false, nullptr).staticCast(); + return ResourceCache::getResource(url, QUrl(), nullptr).staticCast(); } -QSharedPointer ShaderCache::createResource(const QUrl& url, const QSharedPointer& fallback, bool delayLoad, const void* extra) { - return QSharedPointer(new NetworkShader(url, delayLoad), &Resource::deleter); +QSharedPointer ShaderCache::createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra) { + return QSharedPointer(new NetworkShader(url), &Resource::deleter); } diff --git a/libraries/model-networking/src/model-networking/ShaderCache.h b/libraries/model-networking/src/model-networking/ShaderCache.h index ffe8d437ce..4af12fdbfa 100644 --- a/libraries/model-networking/src/model-networking/ShaderCache.h +++ b/libraries/model-networking/src/model-networking/ShaderCache.h @@ -13,7 +13,7 @@ class NetworkShader : public Resource { public: - NetworkShader(const QUrl& url, bool delayLoad); + NetworkShader(const QUrl& url); virtual void downloadFinished(const QByteArray& data) override; QString _source; @@ -28,7 +28,8 @@ public: NetworkShaderPointer getShader(const QUrl& url); protected: - virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, bool delayLoad, const void* extra) override; + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra) override; }; #endif diff --git a/libraries/model-networking/src/model-networking/TextureCache.cpp b/libraries/model-networking/src/model-networking/TextureCache.cpp index 2aaddace88..000ca67989 100644 --- a/libraries/model-networking/src/model-networking/TextureCache.cpp +++ b/libraries/model-networking/src/model-networking/TextureCache.cpp @@ -167,7 +167,7 @@ ScriptableResource* TextureCache::prefetch(const QUrl& url, int type) { NetworkTexturePointer TextureCache::getTexture(const QUrl& url, Type type, const QByteArray& content) { TextureExtra extra = { type, content }; - return ResourceCache::getResource(url, QUrl(), content.isEmpty(), &extra).staticCast(); + return ResourceCache::getResource(url, QUrl(), &extra).staticCast(); } @@ -231,8 +231,8 @@ gpu::TexturePointer TextureCache::getImageTexture(const QString& path, Type type return gpu::TexturePointer(loader(image, QUrl::fromLocalFile(path).fileName().toStdString())); } -QSharedPointer TextureCache::createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra) { +QSharedPointer TextureCache::createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra) { const TextureExtra* textureExtra = static_cast(extra); auto type = textureExtra ? textureExtra->type : Type::DEFAULT_TEXTURE; auto content = textureExtra ? textureExtra->content : QByteArray(); @@ -241,7 +241,7 @@ QSharedPointer TextureCache::createResource(const QUrl& url, } NetworkTexture::NetworkTexture(const QUrl& url, Type type, const QByteArray& content) : - Resource(url, !content.isEmpty()), + Resource(url), _type(type) { _textureSource = std::make_shared(); diff --git a/libraries/model-networking/src/model-networking/TextureCache.h b/libraries/model-networking/src/model-networking/TextureCache.h index 8fd0b12369..f3c6a86b49 100644 --- a/libraries/model-networking/src/model-networking/TextureCache.h +++ b/libraries/model-networking/src/model-networking/TextureCache.h @@ -131,8 +131,8 @@ protected: // Overload ResourceCache::prefetch to allow specifying texture type for loads Q_INVOKABLE ScriptableResource* prefetch(const QUrl& url, int type); - virtual QSharedPointer createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra); + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra); private: TextureCache(); diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index e3b333aae9..36828b3992 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -179,7 +179,7 @@ ScriptableResource* ResourceCache::prefetch(const QUrl& url, void* extra) { result = new ScriptableResource(url); - auto resource = getResource(url, QUrl(), false, extra); + auto resource = getResource(url, QUrl(), extra); result->_resource = resource; result->setObjectName(url.toString()); @@ -316,8 +316,7 @@ void ResourceCache::setRequestLimit(int limit) { } } -QSharedPointer ResourceCache::getResource(const QUrl& url, const QUrl& fallback, - bool delayLoad, void* extra) { +QSharedPointer ResourceCache::getResource(const QUrl& url, const QUrl& fallback, void* extra) { QSharedPointer resource; { QReadLocker locker(&_resourcesLock); @@ -330,19 +329,20 @@ QSharedPointer ResourceCache::getResource(const QUrl& url, const QUrl& if (QThread::currentThread() != thread()) { qCDebug(networking) << "Fetching asynchronously:" << url; - assert(delayLoad); QMetaObject::invokeMethod(this, "getResource", - Q_ARG(QUrl, url), Q_ARG(QUrl, fallback), Q_ARG(bool, delayLoad)); + Q_ARG(QUrl, url), Q_ARG(QUrl, fallback)); // Cannot use extra parameter as it might be freed before the invocation return QSharedPointer(); } if (!url.isValid() && !url.isEmpty() && fallback.isValid()) { - return getResource(fallback, QUrl(), delayLoad); + return getResource(fallback, QUrl()); } - resource = createResource(url, fallback.isValid() ? - getResource(fallback, QUrl(), true) : QSharedPointer(), delayLoad, extra); + resource = createResource( + url, + fallback.isValid() ? getResource(fallback, QUrl()) : QSharedPointer(), + extra); resource->setSelf(resource); resource->setCache(this); connect(resource.data(), &Resource::updateSize, this, &ResourceCache::updateTotalSize); @@ -494,7 +494,7 @@ const int DEFAULT_REQUEST_LIMIT = 10; int ResourceCache::_requestLimit = DEFAULT_REQUEST_LIMIT; int ResourceCache::_requestsActive = 0; -Resource::Resource(const QUrl& url, bool delayLoad) : +Resource::Resource(const QUrl& url) : _url(url), _activeUrl(url), _request(nullptr) { diff --git a/libraries/networking/src/ResourceCache.h b/libraries/networking/src/ResourceCache.h index 6678c3157a..11b80ca349 100644 --- a/libraries/networking/src/ResourceCache.h +++ b/libraries/networking/src/ResourceCache.h @@ -187,12 +187,13 @@ protected slots: // and delegate to it (see TextureCache::prefetch(const QUrl&, int). ScriptableResource* prefetch(const QUrl& url, void* extra); - /// Loads a resource from the specified URL. + /// Loads a resource from the specified URL and returns it. + /// If the caller is on a different thread than the ResourceCache, + /// returns an empty smart pointer and loads its asynchronously. /// \param fallback a fallback URL to load if the desired one is unavailable - /// \param delayLoad if true, don't load the resource immediately; wait until load is first requested /// \param extra extra data to pass to the creator, if appropriate QSharedPointer getResource(const QUrl& url, const QUrl& fallback = QUrl(), - bool delayLoad = false, void* extra = NULL); + void* extra = NULL); private slots: void clearATPAssets(); @@ -205,8 +206,8 @@ protected: Q_INVOKABLE ScriptableResource* prefetch(const QUrl& url) { return prefetch(url, nullptr); } /// Creates a new resource. - virtual QSharedPointer createResource(const QUrl& url, - const QSharedPointer& fallback, bool delayLoad, const void* extra) = 0; + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, + const void* extra) = 0; void addUnusedResource(const QSharedPointer& resource); void removeUnusedResource(const QSharedPointer& resource); @@ -257,7 +258,7 @@ class Resource : public QObject { public: - Resource(const QUrl& url, bool delayLoad = false); + Resource(const QUrl& url); ~Resource(); /// Returns the key last used to identify this resource in the unused map. diff --git a/libraries/recording/src/recording/ClipCache.cpp b/libraries/recording/src/recording/ClipCache.cpp index 145ecfc7b9..66d5fb0d88 100644 --- a/libraries/recording/src/recording/ClipCache.cpp +++ b/libraries/recording/src/recording/ClipCache.cpp @@ -9,12 +9,9 @@ #include "impl/PointerClip.h" using namespace recording; -NetworkClipLoader::NetworkClipLoader(const QUrl& url, bool delayLoad) - : Resource(url, delayLoad), _clip(std::make_shared(url)) -{ - -} - +NetworkClipLoader::NetworkClipLoader(const QUrl& url) : + Resource(url), + _clip(std::make_shared(url)) {} void NetworkClip::init(const QByteArray& clipData) { _clipData = clipData; @@ -32,10 +29,10 @@ ClipCache& ClipCache::instance() { } NetworkClipLoaderPointer ClipCache::getClipLoader(const QUrl& url) { - return ResourceCache::getResource(url, QUrl(), false, nullptr).staticCast(); + return ResourceCache::getResource(url, QUrl(), nullptr).staticCast(); } -QSharedPointer ClipCache::createResource(const QUrl& url, const QSharedPointer& fallback, bool delayLoad, const void* extra) { - return QSharedPointer(new NetworkClipLoader(url, delayLoad), &Resource::deleter); +QSharedPointer ClipCache::createResource(const QUrl& url, const QSharedPointer& fallback, const void* extra) { + return QSharedPointer(new NetworkClipLoader(url), &Resource::deleter); } diff --git a/libraries/recording/src/recording/ClipCache.h b/libraries/recording/src/recording/ClipCache.h index c72d45648d..7df83efdbf 100644 --- a/libraries/recording/src/recording/ClipCache.h +++ b/libraries/recording/src/recording/ClipCache.h @@ -31,7 +31,7 @@ private: class NetworkClipLoader : public Resource { public: - NetworkClipLoader(const QUrl& url, bool delayLoad); + NetworkClipLoader(const QUrl& url); virtual void downloadFinished(const QByteArray& data) override; ClipPointer getClip() { return _clip; } bool completed() { return _failedToLoad || isLoaded(); } @@ -49,7 +49,7 @@ public: NetworkClipLoaderPointer getClipLoader(const QUrl& url); protected: - virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, bool delayLoad, const void* extra) override; + virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback, const void* extra) override; }; } From 0f1ff87f783f938299541dfac150a2471d140a69 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Mon, 9 May 2016 18:43:30 -0700 Subject: [PATCH 091/106] Updated default idle and turn animations. * idle is less masculine and works better on prescilla & art3mis avatars. * idle to walk transition is updated to work with this new idle. * turn in place animations are improved. * fly animation is more symmetric. --- interface/resources/avatar/animations/fly.fbx | Bin 328800 -> 310208 bytes .../resources/avatar/animations/idle.fbx | Bin 1379104 -> 702480 bytes .../avatar/animations/idle_to_walk.fbx | Bin 367808 -> 997472 bytes .../resources/avatar/animations/talk.fbx | Bin 1587792 -> 2580272 bytes .../resources/avatar/animations/turn_left.fbx | Bin 449632 -> 795872 bytes .../avatar/animations/turn_right.fbx | Bin 449632 -> 0 bytes .../resources/avatar/avatar-animation.json | 13 +++++++------ 7 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 interface/resources/avatar/animations/turn_right.fbx diff --git a/interface/resources/avatar/animations/fly.fbx b/interface/resources/avatar/animations/fly.fbx index a05a1e9a37a96f8b4d9defc1865042c6f6184a14..4a855032f912e6bf119a24d2d3f803d995e71b75 100644 GIT binary patch literal 310208 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
scK-~*U%K$GBs(yvgE9z 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 diff --git a/interface/resources/avatar/animations/idle.fbx b/interface/resources/avatar/animations/idle.fbx index 6e4b3f4155be4181f8c56e63fe0c16d62bc6b929..67e2be8735287e043102fa66ce4a6a9dcc5f398e 100644 GIT binary patch literal 702480 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 ZHY1Rt2`D=COtUk{la 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 sfZ|Hkv7jGy! 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 literal 1379104 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

  • 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 z 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 D`Kn1I literal 1587792 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%0D=__zMZrMkS$S#O3RuBOon5>Oqgz?Pp7 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

    WGxjUCYuM-wR)GQUtk>c+6e zry)w_2lAYgcrx283-yP@AxZo00=#)Dafjus8eVgJmGWtVpY;U8+vP3dT!6M{GZcv# z?}SI~8c^?Q!Df#{OB9LvO)nbXD7Oif37>2Zp2=?AlADX(d_Mbi?zH(U7vS$_V1xhL z1z15b?4gNB&ayG3ehKicCw+Lty1U|HQb4)m(z)mx-tz^39cp7j|5lj&vaPEhj4Ll% zW3Ig_Q7Syig_|hQV0PjsM_GR)HPh>FLfs(5b5(b@f>c8e*GltS?B5*p=h(mR%m3uo zd9{(BbHQJ(rf>5r@%Pxj?8?tVeRyzisB*^cD(2S4Ry2q|=Z!|ZAJ4kunZ4D+Lc2sg zPLVEPM&He&w|*@%FE3-&5D`5|IIi@-yx(bzq0r!gmU3$J?q~Y1U+LA9<*XV)8F#-u zmJg_QisSvtY;Bl%=I-4(a=qy-;?w4yJ|lpE0ae#--N)bQBJyllP5RgpMY~G|DS$T- zy)`EapwO^k^ecK5fEnMX-08l1T+^!-&z$RgGN_T1rFO>m=_q{THN7S_LsWL##+Pue zxmdfKhtCdNI8!Ah`Cq36U$W~?yrJ1hSi~Yl5|FGEq5iIsE)j8^llT0)} zjdYv(0XR&5IHVTeF`0`idDb_)>@RQDeUhI2nu?ekw=+MY5tJ>{)}DUWpJY+RST57* zSb}5z2rs_VE_t6or*it@47ng)^Yd3Jl*prd^ySlW(qL{`Eq`$TAz80(hh;V|6-w^Q zv&MIQJOer{zJ!eKdj9X5SsH?JS@Tbk1|NddufizwNuY4*sC^BqU-wip12-(a^CivL zuIeoClOHwG`YCBG)6&Jpe~pJn&H=N8_dhJ_tQakKntK#6y0c0eclol4y0d=hD6Ont z*hJQ+?KC&lgdx`g*g~<>%b8{@E8At=`$(MG92WbB#s2?KiT!`t{mC|-qQk*q%Ne_? z8CW?ROIq0)IGOyNaL}RuARP1wo+|394}0++@Hjjnlz1VL{cL=!%dHP|gcy_}9W+8_ zjfEKKNkh=>grMW=PvcLJO=$dPi;i1NnZ$I`I5hkv1wKN}GkGp0E~=E6urq-o(U$$j zOIMKhk-%++;}Q6{e1n@qE&@NH&h6c}Z}Y=j#}eEsBlHV#y0OJ4?!$pi`f@iY8nG=y zpK{ri7a8b7*3Fa&4h@aQ!!=Jm&)rF>@d}2oO$y3wF(=y(>-TO222_^m{8*d^yhAfo zX`?8@@Z{2rizkG0Jl%@$J!-o7r>4w58H3~UQZu;hV_ugsO7vd^a~r>Qtf)Q`WD3@? z$bC|)nG*JVQ)~{={pLe63usF2b?a4Qm(Lu_eLV3-5pEH^b1x10*L!J;;SD*!`g55m znS{^8>-4RQpF%1U&fnjk3@1=f8_KX)E_9MXG%k^*AL^&&Fsih#`8p~fSteOYjI{fAZ~NAjx{YjyQV>vwC4->g|n z7cQKkR+gDdhG$mLA+_W^3l*vmPLunp!Mbzbu!*qaBhP>WpU}%#?)Vh9oxAne@b}O$-GG>G_TobRjH*^pi z_(nRTKAY}8KX^MkG#g%CR3K;KO?iGIUTt$8F4vZ5FZ$ znB+H96vxfC!Jg-FaLv|3dLOduN{ZdmG13nGXkWX=7nAu>6hSnjLBE=QLkLS0F|8aG z4}>Ck;tZ{9lXhCl6#c3d1PHDN`6~L^hCtIba9sos5crhJW*i@g5{qKH1UuV8lEi5$ z@K>~|=DcVqk>NtNRGVpNa|mzjtb6sX5Fdta9uWUT zK7)r$G-bK2BW`TE&Af{bk2T*0Yu?_f`96Jic$TNDERGN9uKg~fN3XZ)rt`*X&yx;W z4-}wRzMZoxV%ye&C}~)Rf*#>Yz-|n(GQe?}y@~LNZ27b;@27kWZocGfikpW-7VBBn3v5w)5z|Guf^TkkRRE@$ODh}8YEloa1# zun#nALGfCK8}K~FSY82W)kOBjNSjBLZ+Usb>>$i3+O^T!XrR<|lQKWiSkWb|$sqyq zJvpj!-DXXziNy2X?c(sA$2i8VDXp;(9P}Rs$P=w89VFMyB%u`Hlz?&|_*ybrZQY2T|SY{!*Iulbpc>6gv zz(GY;!5_noPF~d+OMODGM!CPG#({JF0qImUTi`$(ed8FRr-$k#SF=TAyhvo)l(o#- z1SNgc^f12dw(Ojz;LD-3)SNwTe^se3G()B+C?gv6*V0CBWxG>U%Gx5A5m`(Em#;qi ztkXlok96Uc8BHi$Zoka?fWKD+b3irs^-{I>S`SPNyZeC*kVYnuRk_x}v(Eezdrc+x z7bZe>N{9&gg?v65#h;sX-+F#icq{7a#@x$cBQyCGu`)`Kd6-*l`SRm~Ual6I{aIzv z6s|BTs+>f1x0zut(8uzixhCj?gJ7?c3fC~dtjlu7!dX7B-Gh6c0|p0CWXstJk;%!p zqGNEzG?2x6RgTY!_4#ZqzjaIjK@-W_-Of z&HI{u_Kk@#7y;Z7S*xP1)wFk+k*zI-qk_wuf#2$1QV9fnDZYCDbx?qq5z22ZYt5lN z3?=KW9V7HnR1T^?D>-?(=_;s<0_NV7EM(@EOkQ&oRQuS?@I8w)`Bb6}=c{LqLW;;v zj_i`u*MmE|&2QXd0zi#27q;bM6CUD%hC?kCC;hxaj7U}8($Bm)q{SWKsr2QJiH|qS z60a`YuKBqY@;2;5864CE<@>4n1i+AecHtKspouahkA=jHo!jou>Qm>Ez>~OD&he%Gg?jI(e1qItM?=CZOS zM_6BQHv9zT0o31(^&Z7ZxK+#!2W>SuZq;z@Ms&~KaJ!$}zZF9ZsFm&^G)fIb_d#t6 zt?Mbfau&*gXT#G1B{JMW5rfi#x@Ue}N&QDtf$2Xr6&}eUwpF6TeU)-6n>+e>F}8^W z2ZtwT>@Mcy>|aaiAhZM4-dkyd^Fwh^u>$y=N|}=i@rU^jYD=ZC-lRknZc3>q)*p(gf}mM z&(7C>ZD?J)*8s9er;Kw<}70ejS&$&Mw2Z zpmBm}d_l`~uUmofWa$cXcJR#dsc_~sfjV2V;v|HWpIHfgdP&)r@n*f zzKbQ;Bb9dRS;TEt%!@8g)CE3Resp#RA`avpf!;+SY~2AR7BTgQGQBO~r)TJrktV<> z#JM4TUdtj1hT}r@bV>L3Nw=5LK*22dVd!D_^YX|-#Iz=QVk;gigbOOdmjH3;#|OkZ zQD3^?Z@9g$nBDUFQHD)ZCZ2ZTS~Rsg-E*Z9l^FT#Tm>(}UjY_N$+p6YW>I2*9Ndv8 zGaKnh>a9RmcL<0BD zZ2C_12-$T&g!MhVg|9KN=SE@@UOg4QU*x9RuuRwt?E}@i?6!H|Z`s|OVwSW^e#GyI zdZ_9zuHJ&8W?SwL7zMlUs0;!UMkKz)fLlbZ%jnZ9t|{if5FZFl;~s_VA)x|W;WG}c zko4*kuyrj(5g{2~9)6locy46wqxzCi_hk%2g5>R*;og8`AJAgC=p07_^h?qCq0!wo zs+UIQ=6fl-u1Iu})=D$#q+wB@JJJP5cPUX%=9;1(y}?YoQwyg(T@&9fmzR$Nmlt9` z*eaywmY=XY@V4Az9Fd}SgUxR9+f4f|J}wRPs(?GGw3a0%pJ6|Hy@nk;2oWW$#+mkP zc#l1)Jfn@hoLY^>&Spm(b2cFE>gVb~g$T{-LnSA4IBpXpQLKo4*(7X*>ZVRey+|~Q z3+^Y-g`a?+`7Uizi$4#DxgGxB4D@?(^OmT(pDf&%EQ zgxdtqAL=K|;7&H)XJZX!CcV$NJgTeHbZ5=5)l4W2hA%Z@yR}C)1+fP&k5J3Z>ud+MBgBk^>4-vU#|_c%y<=@kg02b+ zpFM3}e({>=ATfOr_oB9zbYuoBH->kK>xgpOz$@Oe7ENo?IxcFb-vaW`5vs~`50W<# zwR~=Q*9REe7hQ0X9tunBO5omiR9(N_+cJiS49mYpPUKbd4bCH6`FbYR9yRRRc0U0Q z2NId}--xFu_`U{42h^Glw0+BL!WL<{K|TO(D(1AE-*vKW4c=bYfA*ULwm#t>ghXaA z8C>`jgBa^L=o79-%h*e(ydD9?BraIfIFO2hz6AuTUM+7gSnHNtP@+)hEI zks(-+C1ttkxc8x;6Au7G*JT%d0AnjA%0PmaA8VxXQ=kGj^O?v)vdpKKMHjF6wgAlH zLP?h~2faXy0kK{o+1k||xrW$f?x*Oh`tyu11;vggDjsFbEw92y@?+Q4x% z|0Wu|Ai#w~goA^lf`fy@5wkJ3HgGbxwGnrAa50u&8Ls^EA_J|zcH}QbgPC86zl#P{ zaJYYS(O{xM;YOX*^@yFf{SL94g7p}H$H5L*#W$M0y3HofHPp2Ve;^xOrouS4lvpa3 zJ@K*Zne<$@CaqcNn|z^gp*7+M*wktoSZ#p~ws+6^`*sGU%8%wyw&!wrwN@Fh9_sK- z(Xs|zrUl3=dV>WXmtBp$)hJAO6s&yZ0vw^QeTMa|Q;y-<=BzLDL&?-=iDzCsZ}Ped zU6432-S!Y8C6Rnwb{}Z-@xfPq$~^J;JqO*+jU9Abozw0r%gbzJ&%|^pQpS`^aw|$3 z?JPwy_nt591%~@yQH+}B7Xsb{`?OG>k_)*$c~m6-iTY(^mxGkJgQ@Edw%d|r#(h9(ys3TzUdZsFk*$n~{5W$E=Iy(d zcaoA0A4B!iXH8OwzLq@0!wx`nK-GU$Qw!yLJfZKwx`ED;Ued2Lcb{ta9pnA9gM(b& z0Y%fZl)_;K#-_BjY^_}>fx)r5n`UeQ!tZfny(T4*-*Wp7#CQ&5o?F%US08Gr!Nmy( zpB?lOuN@efWmoTVM_|6e(3AP52K2&?#JWm7>}T>b5H3!vnJb}nR(lLVxlS&^Qjb&3 zp&ri)a$TLY?N9&G61?J!4R(cz2LH#12JI+6*~U5YA4P-hzukhTqvk0eZ%lzBX@Y^a zh0U>Rg)w#dZvHL*akaa-MRpPsyY-j5Y_rHG>6j9uO)(msm>)t+7<9Rw33H%1e3YwH z>g$tzi#T90VKV%3uPnn4&NFY~4 z&B`6%7~+0?1WoTU`RrHsYSFmVva6#7M~>Q_>8?B2-qQQ3u@zU!=eb|#jN&8ViQt%h ziW~XD_Jvn9W|?oICX@5uwq9ZtqId_+7CP2#Lmndcrc~suqiXNeeJH48-ErL_i{;je zX(_}m(jjLUvV7HEq+U^ZN+7ACD`9?)j6~Kdw(E~lt%#X*<-&G4qP~7X7`%)7{8M?p z|2II;7^``4^ooFJ-G+cJ<~5-) z!Y59Mt$EoXdn zke(LuNQfokuy{Tf-)R+#e9fGBoodynguRQ@&6>G38NBhPajv-3A%w3_&wYb2B=PmN zyc&m^)NMUb&t-svMQ_&%WnXIY;IzVhD$dK=<&bsK#5*LV%p*DzY z6bt!xSp~aaH#tU%2tC-0eii`|xVUEmCW^~IX}8KRH9uq)(4OOrl^)!M)}~Wp%v-gd z#w-mdW#n92fYvt2F$DQsT%NREr!1X^)im`CFz9j?(&?&rq~q>OshG|joQ`p;iL4XR zUEilMq?Yx6XVz5_c%t^apEr0aM(6o;5w2LvxRzDHut{udy7L)vjix+tiePn+gO>1H za1IHWX>Kp+b;SiG9!Fyq|20$Q5Uaqm#35@)ecF_=MTeV2Q-5oh2UoYzUT#G~NddSj6FR^+#1C_f-BRv|C z?K|mp>OTp7ARdbJnX%%2h5|b4Z+!nX=iOeX?s2ZfWk}b@uvcy+4HT@Bl)XX7Q~YyB zo#_nJTagZKr|7{UB*C~I{O6|BIqs$%bEz#cH>Ktb-h9?-hs^03z019)lqWb)YPGJ@ z%n!}AuTCMO-83y#ox*^D99oKm4`;eT0))aV(XXrVrapn*WXj!6D&UNaL5+Jhxmtwg zS4nP}S1GC5GcL*{h4$GPJj%D+F7hFSRa+=q0zy4B2Bn=2N0yR>xEWz&X~Gu*49{#j zs(}q_yJs_TsGoS!!m#DO3O*C)SkQL7%5C-BZm8b`MUKdN@^b<`=i-_;n_S+>NF4SB zvW4EVv%g+Ev@MY%(cYnq8)G$AGg1DYchv9oFxCD>nEP2 zpfPon7m8`rJNa3;urpGP`rD}vDc|g>{YCOHsmYlDw4F2vZ{Acm`>gCTW;iZg;BaoZ zJe{*@A-S@u%&k#;yx)d%oHcPc^IA(cr!w{RwtABj$}Uoot%}P@q4CKYSP@L~R(3~J zPQ?@;93y3fj~R+(h!XQKmm^jIchxjDlTyOsjcB}zM|Yo|iaS>*eOGFi#mgF%s-#)T zS!l*l%SGwEl__uPMRxLmAhYHfT0>*3wdm(qWN+$-#LUgArM^;#R+B{^V|79^b+y#> zSH6?adr~cHY-%Fk%Y^n6Pt;}{l5|?a;xeb=ha6-WnSw1efF^wDr}wy)*D5E$7(Zu& z5=1yStY48%Nh;?M`U}NBayD@+S2WNrv^C<2?{7YZq z*B!F;h=21HrY+@%3@A{Kp}FBzAC+@4-|4~Z@!^|@3q_G3fJk%^(EktdX<`+dAr`oQ~<}fq;@GBIse%c+gt7Ss*Uh= z4_g6^g-y&B$`wSMkD6#WiY_RwR^O0Q=}>4|4)u!KzONG6Z9(){cmX1M*HmTuvo28k z5szugF^ux_Pbd@#B&aTT30N+v-dJ8&+f>KpM#vh)JAQ5#U=FymlhlQgSg@^+YL3xm zXH>0nek}M}Mo2az3g4clS}xG;Y3s65w!e_#>z5A%M5g$~j<)5MgwhxR-enGql~h5M z<16k?!__wWXMAs2P!oCB;X&p^212d(eeti_54`jM#sP_iI_-B?1uuk))inj1W6~Av zM~H+xQ_0EoS)IcfS~ z5q0rS5}}lWA9wxw+SPUSwr8#kEu(D60+U~dMyIzY&cG7;f`#{`Pk0ydV406_v;W}8 z7k9Esk)BD^{yTN>7RjvJHJCcI-pE^sP%Ro9pSp+)o?uwHRH=D_In7~HhSXYUiD>%D zCBV57aP0dPH|_9*N_+Me%WFXe1Hh8!C#Q11GP%xNPA#HmUPv8XX5w5BJ7imO{rIZ1 z7)@LC63=U{3_q>R0=bsW5|KDXtL+sR-Ibabdfm+t@^PFrCBL2>;@PctbbVTJ*=g#s zk$35wt@yG}D_v~gP1##1p7QJFwR)uC%K=2$W7TV^oe_}flbp~dTc==#KDUR7n;o|y znXR{uOdIQ;#{1iPMlSWPy@~5HcEw%s1a)ou{ca_SNRU8JDgti{Xi$~_c(((t+wE5c z(E{aE)MXdSs7;_URZX#$bR834)z{*qtyR1aC`=Ni0j*>T3ok^j-7%9s~R&(8vw$gCIL0Zi0WCsBwQy)Jn!C;DRtw{kBhkujfzY{+|B( zJL(_m`90siTJPWc_j~#Ow?F^0{{6G`KlShbX}RC)`)BnC{lov^$I2Z)%Ky8~<=LOL z7P#QpKWi-szfK2#skM~;O8i}G38VXY4uNScFsmt4(#rHrAB)XQ5J zP05wYVpeb17AxLky0z8$?JcO@QszBqSLXPQ`6lCR7C!!->|P)#6j?mgSa-jVtSZj= z4fmXRw+B}_Xq`x-r{1F6Plb6UJ*Y+2F|RI09g#|+ontB(_!1Yf=#ac$NK6s)(?I1+ zU0fPbYH4S&{FgGm7)TD^$V*S#mO|9zcNSN42a|56@b3cYkv(F2Q`Ln76o-Ol>}BFM zIxt8kwi_qIt=0;*#RB{r-z^)}jb}?}kn4-U*H}EiPVIjbaIXG;j@H7>`jc%$q5e^8 z@kjmJ3ZV(^PO4Kx!GQ>02D7h72qn-T8R7@R(YV{np@~05mIn@D!ZXuK1PReb`@M+% zfVUcI99D_u$HioTpIx1$kEV_66e|5m3>~F`g_DSWsAHT~ru-XFahDo+bLe zaun6tm=%|!9MIg-p!1*#({nm-wIgZ7C=rhvwcKGVXv+v24$wKKS;y7KCVWbT^~(KY z_Y;@mUZ&olyD3}hLGVIW20-g71o)g1yfE(3>rjL^eKTjY5PKEj%#m&~VQ4aYZBkWS zYEkMun`)At_oVvMclpLeuL^A8)b}}!PpZh7>mOPS*2w9c9^9R4-@5cFVTwjudp`nT<7CM-n6}SpiZ1?I_cw+zLLll0o07@n(I6i`} zqm?GbUT!wh`yo}YO|Z>N#x~vq+ZXoNSl^Qu{Hfr(InwRngt5cc?dsq>ww^pkc4?P! z!&7)FN==FVKnyhMn%CjRj}}^v&(Lm5gM>(fDzbh5u%Km%d?WvY5mDCvoE4zSAd3%de-MI~pOp4bx+ben0~mnU=|>_)2UjL7IP2E=#KoY^2-Y`;hj0haN2vxzJjCXHfq#ZRo`8OO)3zr(;{nkozcGm$;|^W7iMd!34jM5 z8=E7YbryGel=uMNkqajy*fyz(M|DN&JPn&~v5!s;JX{yj7i>26P-;b*+pSe~)-%kZ zdABDCEv2nZPdz%*neMZ?!*IxZY^DJV3nV^aIpK z@ual@5P`zStUbhIdY_}jIZDmb3$w`wSz8s~vkphK8S-O=U2~Skw{w(}>!Y6|bT^WN zWL}`Qlk6bKWbw12O67dd5tuE!r7Uoea3+R3OtpAKKGp1@d(GlWde%9*U*KSc<`wCU zd0{y6Lhj9`H&WAp22VlFp0I7e-Dnl0KF{CHG$64lroBrl3cd%IZ=m1YQRG<$DJSba-wa550Yf#X0!P!EdLSOe!nk&gH8)ebMbpPll6I`18OJ8<0> z3uc6EwymiyyLG5)T^f5|cTkNsR^1vHB;8t>T~}NMs5cR*ty%JZj#qsw`EINWY5!fS z88k^kM5xF8o&3mxuU_&w_C2DoyUORe^XmXPuTIg=+i@2}G5ZYxrA z_O`>Iu68I|&e@J~^-eKh){)bd$)$QHtEr+3@%n4VEykRff?h%h6 zRBT|0S94_0Xm%Ev59#?x&KWbRN={&wZjNsD&2+LTnySsl`=Shy_Kc_u#Hl6=b9Tp@ zX^dy^=OW+*^wGp?wyY{?OI0hE&+3{{chiD$Z@ORbsDBU%)kR9Lz<&gM?mJxjh)G?= z_WP8}o1kW*skG^tkZ-S?ZAw2#Twywjc0W}0Q8_H4ZVqlHo|@xC62v|q_UPFYoR^w% zz&zz5pMrjWHtPNq0e}RC2py?=IkOk#n?-H;85ZigeB9rYu`igepoAb0`fLU{h}o;$ zgSI{R3ol(>%w!j3kyJ~T$a%M5RF~aAXHgx+L~sIJgz}S^T5d8Nj>UFxp5rcW)aSV# z@}K)`DDU#}u>YK>cM*O!j%t5}MivoZ#?k+FmI=)K`S1CkAi=>IasE642>#O6`7!!` z#0imq+B#Eu(#mfsQ0+9eUQgWnCNOL&DVe;JpcziqnjIA`u6~=F>?ci@gdt0BoXlV@ zn=3B;dZ>q?=bnT6?g9RE++(s7yytnEbK-%U;&v_DtBd*GS4*Bppb-IA5fLbR zEw3MO8>YtXHI#M;*j*F1#mnYvorZ==N{ox*J2U-wot$;;fy_cIcCgFBq^) zY(~wS$z0KVYy?rAq5F~xDZ6-)23W3<*<}E!A5X2MyyNDlbAb~AsAKXC&T*z)oSH!Lv{_6}dwPk%&UW%DNBH9NN3 zbP}SCfGfeG_9t{+G{ZJ0h_?Ygx)ETj8_#ZAiGP+?8?}X04TtLf6T;E#6U6-}%y!!e zLjC8W+eE0`_Zmi~!;DA%VeT#N20~kRuW(!1E*)rkb{TGK)cMde(2J2Kz~?5!ZGims zFiRE_k$nEKK@X$E=0U)nKxIaKOKm>Ju$=udJip@2t2>c0a*JTMm)IG-iJ@1`!>kY5 zAk*kPRn*s+RoT#})4jIqoYyPS@ebu?PK>j+86$VCRfYS>5YJBP_eW9=89wmdV~l;~ z&;D(~_z&jGKh7CHjvAtWh`9eAt^Z&7`R}Fx@P9%7{@(V#y8nO5|Mgej|CIjE>i?l5 z{Ifhi(tocX>t8H~@-OE5XZ`rS{ePv;Kh`GsSMvR{JioVH{;S@9x2dWA*&5MDjQg`S zGWhFI`b%qM<5%ME)=1l{pT{4}8i83OFl)p?u$7%a*D_=`5F<~{TODt)i|_TD#q{eE zN`b8nH4L3I!iQy#tB7ojI^bKIxexlM;%|ainU|(7kDZ-5hE;QGCXdkN^;`8CQ$B^A z4$xQ{?Z?{6_~l!$TQQf8IX%KoMg{oedrjE8m8}{dlR1={&&$;@#;mVOC%7t3zEs^_ z+f>NaTP~G*^Es zO6-2-83y6n{iSQKNTY{76&BM4-hI+wva}=lu$7n71m1}08i-o$Jfcj)-gs#`B&u(u zo1RRrnU9x>SOZBMo|i^Zhgl;qYXoMEz^oCNH3G9nVAcrC8i83OFlz*6jcCBEkuasy zl8u_dEZVD9DbbnRkvNf0-Cuf17Wz1`7Z68ztg?tr__l9uVi8SJQ&;ykc5#3)`8O7vgca?FHNuwQuA(|a z)brNUA^!S&U?S%@L@fguAdUZ#)7k+sS90-b_yXQ&q+B=ft zH5$e-auYt$bop$xqPp zJx3ts)X1X%31SsrUFtXPT<~fSm&_qapkan|{7lQLJl_5x*Rb_q|3^v;iWM9t`c~g- zZ9`phsCl2)GY(EgRwk2=;r+Oh#EQBL5k0QH-B%)y@N)4*E`8Nvb7su>|rN{Dj3U<`zxT}p_ znFNB0f{F)jTdWpwXA%!Emg$ZZtQeTuj>JlZFM#EU6{+Q-`8~3C&5t6Ih&fB#lP~Iz zAFr{FQuxcANL9Ja-#;TkOo*G9H`oEv=*fvtlKj_sWW={yxH< z+%~rAiuWVpx0oT~p5WTM_Xo;dTqKUnE*Lz+pId{d5l1?pSXf=9fkj^@I&@{aTf&#W zVpR`G+yxKX^WPIVCAY<08Qm?+@?;4^3T?=}k9sc=1g_BAki7zQXSkAi#jd1QczX!^ znj?6j9V7SF#qGy$43RgyR%s^56t#pKz01M3NdEm@IO`(}B7yh4T=&CQ;PNf)f{Els zr2||ssuaI>m?~NBS>6O?QZp}_K_@eDa&YQqm())`xbtOupCfw4xdC`@uSoattYazz z0jKlOrVT$WRGIsohB>a%(LuH)lN+@I&eUS;t@`hPSkgmAIpW&5@XRv4OD}b6(d)gT z=rkWt)l${eeCs~BjYrFEsOGJjfBnw2(;2w?#H3=TH?NUrcyRY7)O|yxiL{<&QGU*K zNaXg2egW0sx_#>vv8VLA07(1|7WWxM(s6*+w!XHH7Fpn-eFX1DIEFY?qlS@)BUt2e z|2niMqr|dPDF10NFd%0TOtb~Sd#tk|^i&-J@L=4bd?%4gdk$HR@9NFU4091}B7TC3 zI=U;ofK%Lggd98Ok+qNRG}4XdnM&rt@j+R!cMbO(VBZ<#Tg&y0wVc>G?h0pV7OG{g zB_j`tHYvf}CmjPM1Q0lRjF{qE=I9XJ5obBh!yiR^$}YVvKWe8t=gGYCo?i|YUoARj zI}L3M)B7+Sr6Dqp!jCD6()b`LEFFG&3`A>3W<)T<>&<(SRa$+N$q~Q%9$+O3(6H7^tL{0sv0|iC^8R9M~z$LClzO|D>_IS|4gtAz`PQ0@O@9xo`E8!&Va*`8g}you$1Lt7~1}R{+X=H{qPi7)3fT_iC*Eb2}Yr-hC-{e zRBNA0>IN6@%-EKgLs?nkkF4OM`}ck8Rn&8>^Cl^x&P`S#2Lw#O#F04vz@lzSm`h&O$Dfh`PwDiDWjA8{1cByU;R}OcQ3__HWaKAW$ayB1z0$S4r(uI zZj)>|2Z14Q^6k^E??zm3zF{}UJKJ>3aA$+cF)a-UCLjWd&#Af|8lYxJp$v7g>@o&w zpaBR9#FeF6w|5+g7D*$v7I@Y?l}8YlWu6dDpE*!?3mlfVA0C^wqwZFrlpr?Z?`V#3 zx55p-IAc4`0X^8DeZlfA(8IY)c(f@<)VFT=E2Vk9>04;4|7!4+ zmo*gkQ3mFDOGKv+;toJVS{K;wc7W&Lkyls_*4+y(yYyd{@jOPR1K#sWEIkHIQ zU!3`XvJId{Z+>1;2>b`VCHz+m=Lt-2`R`FF{{Nt)Ai=?%EBzc%jtGCXxXX{x^dqQf zg7CM+T_%6(BFE(Gg{k$)K9V1BQ^fLC%Y~7&maxC-zk2(|JUZcv=gt>%1D#`I>&jVu z_8e*MSD&*GIL^z{EE`?KD$t6VWaKavt zU-?<$ES}?w{`&#Ra+g9BiYtA1Q4%Rd+x8Q>RC^KAI+D}$2cp?6lclCBU*eiq@*hY( zT__9Mk@Y{~fWFs>_1Me6ygMGYKQ_8SxROlAJz(8O5G6H3$c(S`2Wlw4Q9N8Cc&Y_$ zoG6T(9_aC`epshxc9_NWNPD2&K9Z93%pxI-M8d~pZ44&3#enI+*;1RU*&ZZWsRC`TL5D& zp6y)Cy-=Y1AJU-(}#OMf>O6zGsnak zc3OQvfSr6!E;tuH=}D42;0Iu}pgJ$B;()uK%Jy4`%4@SOLv5$mWE~vI=nXq^ zj6KTNRxeO0E9LYHSo0(S%@HFc&Mz)P7}!G>&twwh7SFzbp(ye%=2&D@|LqL-AAF2| zJjwkSmjAo@7#sgh@%n!j&;ODBdrbeImH9pY-yMK|R_;gozv@8z-UjO*evjYt{b&Q{ z4|)HU{{3Fx-}mj`ZQ-VW_8V3@tN!da6#p8Uf9W@L{Yw1ZZ^$zFIi6vD1I%xL`3*3? z!MaSaKaQoz_saqKQEDIat|zFCjqYZeYJ+}c`X&F{w5Py0r}w4uegb!wdMj_l?*Z() zW_uIJuR;s8n)@=2Qcy>yuYH^OlG9AzVd*hBdDSFWA1gj+uah0FW-}@}$~QA3R2G8E z$!)x=jRjjBsujd7Zybo9O0C&+u#9XLTjvIC917IMCFdN;>25o&XFKGaGM#faLm;k3 zZw-^M6kIsw>(ZTE6Vy5vn+S_2H_AIw5OxkkpN~Wh7Br<{-8w-;#2ZP5?0mRhy}KlH zDSyv*COvTe1^g7S5vc<=x0MVgf0j^3dh{5VlW3$3Tr z{05lc0P`DQegn*JfcXtDzrpT*w%>60i*0bj{n2k=_}fE#4@WtF;G2#tu%b04N5~6< zHeYx|6fBab`fa{`z&1Fn4{-3rrawUmKHTqj?*1tHWBajA><=ve_E%0yxW7WyKXU!p z@P57j*pRW2v46Y+{-KTk02lwU8JZt=-2CI#=Kg1Bl=bF6SxR;FSCfAUjjn$s{tk_% z++ffM(_r;@5(bT6&ycVz*B^?+&nQ)X@N#@41ry9@{3qax-^zq&~-moQgtHXcBhKT%A&Usqn;r8 zJ04zd|K8V8L8txsp#xBV24UOgmwhDLY0qar_3Gfuk})YXVst`m$v?!@#2e&iCuEF$ zvg2ZsBty29QC{vK<+c0-ftBH)rcM2-Ww`MzdUvY@*n(@ z;vba1y2+r1K_eJ6f$_je-4d; ze&zhHL!+vHXyd;Ijlki5hDL27|A}ez(BtQC^q0_x{a51e&DTgey1a8e61SOu_^~dLy^6x1a=<_UbUj!X1bDSSB zUkJZ^_#BnD^F+uxn7SVvHuU8<4La6szoEZ*`eY|-Ms%Gi`C*(RiHl6Vc(gUQwYm_q zd@BU$yJUxURLquk&cbnsM8gLEb+kJzF*}wf_bnq=rTsahhUvR!I5mNQTY|n7sv#VW zRWBf2jL}x_a-h&Fxo^==z@P@Cd==weh8V4L-nWOqi}Y#zn5hTLb%)ApIJOV2Cvm;1%rYY8%q2fGm@68KZ44f_`p%5f+xIsKyLz0nXva@B$o32RrhG+ zcUuEq(lS0l%5U9^nHQMmi&W%@xN{o!*yQ7lcOx+#r^RX{-yEKaMX*W4Xtb5pkMb@I;VX9E9vU5J1 z$?hxj?KlW$ab~u+XRm3Jg(HKuyh~o0H)6>~CNFVxFAN&Npb-oj!JrWg8o{6u3>v|p z(f@pC)Ry~`ZJ7S~q0R69_RwY>HP1IQst>n=H3jR6>PdGb!=}DTig=j4I=%89&eLCe z9wD#E|L$T|$I-aYK)Y%ZfoH<+%3|$9Y#4&SnUOh-osYke7hJnPtqSd)e?x=+mG-D` zrsfe=m5XLBn*#=IPa4o!H0mOF~hmQzm56$aP>1Y6RlBJ(M2(a)Xxhh_NQxGM@We535`(b`P9 zn1F9OJqM(P0Hcnbk*_oyBW}HsWqa>Jjz2IIbBG2{PU57=9EoZ52y z{^FtOjjY?kn-dvw2G$fvZu1JfX2P>K_lsw&b4|lqvLem@7kh6R71iJNeG>xGD$-IS zAW8|+F)E6LfOJVnN_P#+&>cQXKK0W@NOHOE5jS&kN#A>CppCV)hzx_L`N~aQ*m{^Q5zR zc#(2IUvk`-^*9Dy0(U=X=~!KYJdg2oj-+tcYisSsXzdwzE1l?D7XJRIja7I(Jk)dg z^I>wAuTbSA!v9N+g`VoXS4|u`<9$wgKIxnZ>pC$G4ks-Aa}214VJN}Cf+cY zy=-euF<@pM*szqjavAcUoJhS?EVgjiu;lA^#0*X}(9IhL%)fU&SCQVR_7tK+%PX_Z zkHfo*WD4}u*s>yk$EW$r85YcLGBf|C5KL%r|7Ukw}c}QSg z-t*_CHbZNpF>>WS^_SL_m(XES5YGj$WA`CUMuYIk(^ZBAgZBS14#z+u*qX(i+a5&aHB!(%j)| zv~F8WieXFQ~DBzp;fLqp~>K)b8 zHY;&Ps|nS1qW#SeWCA)n`nY%%dp#m-4+6EvE!`=je6h(&kAh^x4!W1QXePBr}F}n53#$#e868JqMxtYpq6*aP_ka{;0mCp zJ=?fhGuat6S&McEifs7)W+5`h_4^*E{(Nd!$TOQ)x@S#NCHvV<8H?4~@)7I!7c)8L ztn;xA8_Kf-2aQ}TWmHNOew3y#sT}Zg*d+d2 zjmmb?f{5%Mp3;gxeOcb4ME|waYLMxXSFaz30T5gmz62A<`#ZDb}3 z&nL|{{NCAH=n#423}>ESIH|^hY{G!xqQ|QlbK*V2_`DqqxArqaL?Y!(F~#Z;CI1Cp-f_h3D_s5JYOcf z)CN4F_g@^+O8&ZuC((bhy*-Hjy3r@1e-xCa+rLY)x!+^@nCNw0%Fx|Ivio-kh#1}K z%I_0p2MOIFks|2+O%b6*|6GJApKSW+&)&)2i~>f7o`z7c2(&4pJE;4t8g#fa&me|_xw z?AV-jYINr$48O`1_SRe`$aq>bNH!n3o_nC8kA|vqzmV%R?g=z*b;4^|r@)U(F)TLl zi>sH$^UlZ)(vpo|jX7h7G@P?l!p(hew=QUtEY2F6 z36ZB2LMnmsl)?z5o;wJN8Fn+!@B@UPToyq9ue%z7-qNn46^4A3?L*N+w0EZV*SyoB zhVaCbXRwM#n~XsYbA(HDd1lI6 zwKDtz);@f?X@FV=#kptkj?AL-_98xFRq2EDu3$Mrw3nrQ8-ID-m@3<@2ya;eLvTUg zT~ytUcd~ziAnXNHnv1$9?_HprRNB24N*d!8cj4XCHX=800?aAos?oInbM>($;33 zWo{bQELwqR-K(YT#nsZ_J3F?MY{vaGCUHrp0Wx!z}(@ zazOZi1A2LMO=^r}3PjYb3M(ppmC3g72nxyi{ z6-DLZQ__n+DlBW9gAMLV1efT%cN0oy78+f`l>tL5{_f%V?;Vfw%<{OyYZeREwX}8vLOyEOTXZ{6eIW|W z)8vY%jctEQCO5gvH@kn@fPd1J50F43%5CJZChL`J*Ly+~qiZMj08NXAewyS@Ew@3( zi@J0_tnKl=ACIaU>Vn1vqzZ(ApY7=4k)Ur8jCeG`ySrCgky3MPMgD0oWy8)3pI%2T zLiNN_5>Vo6dPzt<@ievexVmfGW6<*rHfOUF+HTYA5AO~vmcG9`#_aiO#jo?W`n#LBo$r@+ z^$@c2HtM~SNCK>%#$y-V0+K^i+-n%e=QIx1jDgKHx%d$n4sz|a%eeTqbb5KPTY5(j zKlfcNky<2@0F&~RED+`H-Ure!-{IISwEG;hNDtHzY7*@C6>So9a&uj4H$$J8>YdZy zmMHyeB8TDO{X5(K=VbT!$7Hv#G&3^`HRpaL_KxE9>b} zH7^{@hYGaW1pG#S)8{ua8?!F4Z25aV#|ZhF4+a&#Ec$3oacd~16R_4yv?1<>>O8$` z|K$n(IgLHlpozI{debBoz~QWO?-zFjpEU_3Ii4syRTdLvl_jLq zcUV`kY^=oHDckS!C8_(+dM%Lj@^XT;!zhYY?adm6i4WtViIpWVto8d0mRvhhwxdiDXUV;aUw*(d@}EiW77=QlvimE% z;=OKJjwJbZ;f8?IB>0?(f^wrqz$*pPfg|qia_o*2ABE%zir=l()luxjNTxO>M208% z`ZkFlK}3GY!1dC)r6Kr4WVVn2iWTd-;psO#{f4LC@bnv=e#6smc>4bWo*vWn*V)GE zf9L7b|KRDOslFaVHcUNFSq47wC%9;8&Z}8`v9m}Q;fky?x1}^xu_p~7EBRL6A(TF@ ztDz+tWdYohct%rl_DpF_F0R}zTI1tu`vIikJ#FWEnnl(dXvrSTsyi5oX&XWBji6fy zRS3{%6s+Eue9uZY?Q{DI%h7j)vHhQ~@7GKy`IM@q+o{XKhJVU2&3=@7T6! zUT-Yvg4e9wN3M#MrF0+{Nb&P8$En{Dog1wRea zxfRs*5LXJny_deST{4S(1m@xXOmSE6`)8@d1)hwTzY}#99iI>|1H>x7qV)Lcwt^|& z$ykKIWz5hHrK(a5bE#szRilX&4t^K$j<&T!0xSXW`uki9{i6BrOGla`h~JvOs`9oA zQ&s^+2mqR8JOYM(ju!7myqXeVAw{)%OPrpKV)8NDMe^w8$p%8PeysGLinDo8jqlT8 z!|tPj`cELUGxkdGAK0=c-_n}tmz7x#wya(_G&0}3af^dE`mT8`0^{>CyCS;EJUDLy zN?Q@R9o$?Lof|C2&ZG5PBIwJ^E#TPP<{w~8F5#`}4D-A#9)-{1U3@_l_SZn2%JX_y z_k$qFR_sm}iT~>2ouK`OTbsDYSLDMqBbH+-d5~EJvX#yvT>{g&P65o2+~!y`i$@+r zv}%RiW{xMV*TO!XU9d}B@ikm^GE-voGX-##Q|}`4Nqi5ns|9sH?_IIVFqW-HU_tBX z=Rwdt&S>yeQtNAbW#h`vBV#`L79qxvE3l)AAW4!AhPEb?jFsH4{7=1od9Ct6}k!FBfM@=kyz#vV{Yvg-(yI-vw z^4DvtZ=M;yH@!+>eF#}2WgH$QAH>7RgXef4YiYofz3aov+}yE@Lba_zudT19TOmK7 zTi?XoZ`s?$$$C8N-1@_UbtguT<#r0RA9hhy31^*B*c>K2s0`-~&Mg!?43qU38z?K5 z^}=K8rAM#f1AM+hYEBttyCmJ@)wYd2T)a>3YyD>HBDfn%Br9?Yo0pYdIU;w&$rhV& zKFcA1pg5;OMy82q1RVON!kkyS*iH+`12XU}izzq9C?|6oXWx=k&wh-3fXxqSt@`fO z^`>o`cC8rxt^=H?&)@tB+&Q7kP)vw0>x?I5J$R)ziIjG^gTl;9qk(!gh4bt$xuc zN7`=flbv>be|JfE7ub2+BYULp$yQw*1yF3Xk8MetFZcYoaPj%z+1|1N zCStVVd9leXlhgEr>%3W;)Y+r4lvK%r5^8;;fr->^AcW1{Z{`=|vW#k`%oF#(4>(Lx zZ}o6~T&`;s+T`IGklziJj%hl)9_oOgDaC z@E>B*qG?mV>apf#9P5WKU(J%8mV<;| zf~NQ!C==BdGUCJx;|eSsyieG*ecZgk!04&sFyoPW`@>&jt-l1@ozd$nN&9r@7D@MN z^)eepwQjZWh1+Ov&ct`x)jgB^JN-;PQa+HfQ)TNwY%8S z{F@e`f?2g6MbpbO4o`ArOC}ep^|wpp=|{<9Dw$NK1++dUkdAyVzFbbe5m2T~Z6B-)zwa z`7LjR%rm3+_QQWj+_s7U7Xd-6rv=eqnE16dwB-WuJ3pgqe?}g1$FZo>~lg>|Ewedtwd>iQ!b~ z5@az757RV+=)TVGK{i0k0IGnatdrbx(C|s_2?$>Hg8fcYR1?hgyIiR)c@X&#L=3Vw6A#`exDrY4P_;j6Q`;%|)5 zbZ_p?`5#SMnW?*5LgM;4+8=Sy&Z=<})Vqr8%wjBP5*(ZP%|Pc?_K4+fE|~SW!R$zf z6<*`=PgWn0DVoRrUyBP(sICGKovb zl0m|Y*!|MLH=oTB-Ww}{L&91?VGW5vlq<0?C$hVT-W-Ob4QdXggXj}8Ydw-uNZi6U z!9sCk0ee<9l-HL-(v*6Mv-h$(1sJZeDgBs45hPdftrMe?G!{px;RC(P@)R~wAjb&P zAv%M#n#Kjoo+dB<;^p7!i#`a%M13)QQ+26F%pWKXpZW#F<++%d#C=4Fvb2~M&fIoE zt-6}!e5aF;9(+BlH(7t@M+6|C&PDQ~Dt(^d8Z#_u)-%HsRO2oR+n%T(NYm8|Sr!M( zz1pF)y-wLHaxoT|8;M)n>;s#~F238aSJttF{(Ml%0p}^V@lHf0ZEa?C#03Y3AoOOr zXb-VpUYXS)2zxh?6LZL*$G*+pru-y}G+5!aX_LXSORv1+V$_kh^e3XDTvBQC<^JsTvz z;Zx*Zh314;H3032v1}dEP&$C*DRFIX{+WK)sBVJ$gm`QK#f%W9ZO<) zrj3ULE-{05C7{E2moJ+hnwdB|AL&#>lwVo>alrUvFGrqRf>Rc0a~q0kx;^&56VTT| z@bI~EShFvW8TJ~kmd_^O^yF~$%kTRxX`Akc?Ss(z`xoWr%w|QQe(^{K4+04bU%)o9 z>%v;rs6xJ!$wz&O{cvJFAkdvk{}oiJO!W?1lMl20B$&(xBEyh=J_6FEyaElhavHQf zGgZJx&hC-#In3Z+_FHpFLZ67!&Iw8-1rJiUEt73Fv`BY?Ku(AF0)9JW{e#R34+c1nb2nC9Lmz%$`5uZ&1K@tWsY{LWE9FrFG4}()ue4&ELjWyCNP>aX zd|Z2?C<6JNnGV*vyfqCiRrDul?)86dRuMb1Bc`8yL|A?E>lIG^x z+@Ae|T02+3nB#2+Okr4s;TJ_!N#*bl^lH-~cUgB@_wG69)z)Dn+j&?d<;VXk5(9$gkKS!|5{|Vj29uI{+B2HpfelBoc zLxmrZ-vW}w7cVH~5zAGadaH=heD1xX8K;`fqAFMgX8%T&WgL3?-YA!G$T_+3^S!oS z>_f{hVzf&!4uVq5y32XdT1jyO6>9GR1b9uK|An#7@BDYho>%;Tan^BvKh=L^?DPYF z?Tde9>?aF1jQz%0zj4-YoOO?y8)yB-S-)}CZ=7`vNWcwaAF^oM&`x|iUqt#xJ}Zi} zQHWFKTU1Okv*#}QRK@$H7T<24J__OlqAyi|9p)k_V(!$GO)9_x;~pR$g8 zZgUUNcrWpoy6i(t!G1sI+F9g*W#%#Pznv-!S$Y#(u-tZy5UxW4~eS{~H*)<=S6o8+y0@>nBx} zZ~xCZyK1Vhww@JJ&$Bd0%GbPKn1oN6>rrGyi<$=~Q9qKNMyK)!yWS_lkJY&(jYNch zU1>ywn{7xnB{6j%+wwkfhfU`zRB0G2c8?cWgiNgYLpKqUm?KGK8xn-90gSZeONO7C zSSo77a8!K`=Tj83WYQ&JfLJQ31#@t@hRdiu>yn*{f5yh7$?Oz4z*5FcIrf|N9wyf~ z)5b@oen#ZvYV0=7%2;X(K5eu65_60?B4-3zRI2(Nl%YnzlCS9&r&o+--l1~mm00?a zUvqQ!e&#MBf10habz4QHnx7fWTTw)`~a^C})1JjMIgiXFuA z#Qx^Jv=?)?*=Szy`ZH4l0&WEm;+qNe!bIpVz<4&8J6U=B;m>ii@qYUhlBZvcg@5e{ z7eh*Gudl)-^QFdHz0N2%hwMWI~d;Uk}fRxlgxq_A@Pf^ms*B>q!`X)d%h zSwEwSD&8*`*XXGIdEz;spU=8sU7}&1`okmcxmDNqlFMOjQBRf3%vtlQl5~dB?=8fo zZwt^Rvx@YdLz|IZzM(1u%}&RUzb0L4TJ^3SMPlyAo3J`6j!cD@sk}YdU>+xFAM262 zSf!c{c1I{qpm@uO5bP58WF6eFHua8YmG~|rq{=YHc+%8h5If->ezGL_ApXfq0)(H8 z%4M=B;UJ-J;4wA+0e#Stnb-w|Wk`w{Af4coIO;u>RRunCmVQ{uW_k<1nWR239pP2d z!fU2!m-vZWyZ$_RY$`Ay49N2gK`=}8I0UO<{n$*V5kP-GWGYbDc2(&GKpB7aC42?X zvCywI7WeQ`@~~1x-^7aA zvD1*w2_}>bx092W9k9JOdQ?8VQ#ZndGWD*ldiZLwyg21xdi0&QJ&?`YzFW{K)ifmw z)q&@|JJo(Ltv)_I55xsXd4p2qzVIS@%gIu-$bCy4#Ln^AA2tJkH_xIhNI z?D~$!8ZM86a7;bLow6xt?r`YUY&a{Lq!B+W!#SW5ud=;}U?Z%`;(*`fo)FRqfA>vWRg1rnO zSj}XQ&uG1EAoe|*quB>*f~y{&HQ%<%14Io3-&4dSM$rBoX~vaj%0}4zlvYRpLOA_k zH@2>cz>=VS#O4Dpf{N&F4hdx`|LVPLI;N#MHwsEPRZpv>t?UtLSnZ!(B2F-c;0T$lw_V=(khLlN zy!M^4LPhFl4Rai=m4GSKpEza0p$-*Ji!R zxy*%e5|yafSDv=H9ylHQGgKa*yHwV29IhW^V8IWsWFL@WwYy9WHPq3QFAIT$>7OCq z?`}cm%frfFmG^CO8#qDY>X-Rg9GbQdrn4KTQ{`|Wxiw}2+wbbe$p$B9z!MliJxg$@ScFEeE_sN` zyKgHhvo#RgC6g({jN`Wrm+5!_493+Q^kNhT3(d>+jHhMLiIt`XoS|*?M3p1@17$N7*vpC9vJwwWE~iUlvNM~)_g|w)rTr{!b?$(lKYxbLc<$&I@~SL^43_J=R3L)X*apOiY5 z>`G=ak?7_$6r0eB)sdiwo;a2afU`2SthJP64NLP`jEa$L;{9taQ;9UK>fw)u??9xd ztZUZj3PtNs!^}P0TOWUxdNeKPmu?`(QFoiJLi7qyzdW6{1Wy2-bUtsW;Ie*68TYRu zn$B#f8IN*|clLj{nqIUJo;(_e7avRFIRr_EE@C2m7UgBYu>Qsr!i~_GY;^Y97?I6) z9J9m{NmK+I@h)O6R#ZMt#AbULp1tX&e0*DgOI~9 z&Hsm^&;FDWZ{R)NOzr1w?w!BhTFm|<*;o9V>}&m#>m zGwCooH+>4}BY02Z+?LKI(2L6D`al-;aY_u9IXnMi8ay^r59=;2wrtO$-g}J^V!?V^Tc|I4Vuv5W&mW8EyG`Rxk6@OVPE^&$(Yp=EDs78Fu+ijj^{yW4M&3NCQX#j{DF3O zhrM+8xu%aF`+?O#6pQr5U+>R~7u=ow*}y0v`~ATM@Inru>(R0Nn4B4)bk`K|`s5B5Gj6=k65(3#9PtB_ z04sS+h-f;N~dNoak5Dl|jwJ`H@6%eX01?Ur?T!$4YEYYIR4sYuh*z;Mh`@I?rWR8gqv}n5p zbDriSWbI`mM2B=J!P<#{me+z~?zpp?8sdJcSuK`9yHqt@1cv(bhGC@C@yF0A?RRZekSVHVfzZe!iBFi@^V z7#i!f#hXqd*X|q5duWRKrPHzDS1Cp)@!XMMR;NIq|5n+|p*5M*9e6PC zz~-&%Vao@r2t6sc0?Ufr$(yc4gyfQ2FVDKsIvktE!{J z%Z+Yh_T7BV{czyn)u!>;69aVTxWCzN#m~VhCs!D!qdOH94VimzkLBkXaUMCMlDIm2 zKs>r}gU3eGR5Mw1*z`{s(~eb%-`!)Cau$LwSR1^H>O6+oi&167qcGB0z?caI3V6}6 z$sTw6fEe3<%0>lX;B<=&%GKf zUMH4-F#@e}%|WB~#Ky5?lvu#;);5Zrmi@U0hjqVGmFsg!Xg&n8oX7;~ol6iv#D1N7 zs_=kK_3J+n2T;8V%SQFgG~k%8(NjAbB&YKC!r+~Ru{G?_0)PAmcW0;^xRmhZj2dXq z2-!vowT#z5ycdHpiw&MH&(`FMk53adP-d%_)Qt=@xkG;s-{}984EW~|2md1(Fr;Bb z24km~h~0nE5}vly<0KhM_lQ9Yb1Z+QJW;!mtXc2XNReChkhGdh?5Pp4a3B zk++6S@9vQUTPO52Pbd01w~bVfTDm`{yXNc1t`<#q{sfaky(vzSCkjV0D{R^U+9WI4 z-W%4vcVj_xo%Ago)Lh^GB`~lPpo8~_T1{D9k_^*M1N7pxjft$d?AFmMwXkiH2F+yn-00s}XJfr*y*o4~+F z^l8sGD*tt{>2{ZVB{;W(73iDVW_B4` zH@*rJ#FnG;WPzzi$8OD-dLusAh79 z4Y8X!r>eq8L;BmNk416()mRrj9TQL|kMnLQf#KJU#~IY2grAEg3cgv^wlmHQGHzgx zhJY1y=Z5yU;bP1pA}a6Ad!7rOQPBm2O}=fg6L_2By$%hOQz8 zK2T3My#nJJ)po>JWbW?__3sbO;Xsd(#~lg~rrJ}P@D^(N)lZk!rzq2~&@Gp)E2>wE z2|WqRv*h-;y>PAy&z`dBWeH}K1l<}Hj78)Yijd$a&xql;?cv>Qakh{J^C|~>0&adB z!^;TG_g;@_bD&BJpP;Xk)s65MqTbxj5GB7%NUAJ#qF`EP`SLAcWK}tXIyJWTPrw+l zP7|?#FEL0?RD#dDFW%3p53|uPJ8&!YFt-(LL+tvHZQ$8sTC9Kd=__*{Ht|Cyi_vK~ z`;U1NB<}R#tBSCd-tQ8P=fh#n29m8gJ+6MnL|?r&EPOPju30mJHzd?s(>_?Eo)}xN zt1^A0bznB*&%xBzmCQW0_vycHud--9aF@opE%7Qr$LHxX@XYFu_#^!z)V3~mhhVj<(aX#BUOUf{8*WMQ~*sbFu3(fnBGcr zDxrC&w%%Ugs^gn%`G2*!p%H>bbFYK~9GE<1p z*BsX!#L~HK2JeBtWqXGr-X{1u4XdIHYF0tTt4nh<$KUqEL60XQTCWoC&3mV$RQF^z zOy`w}ZR|?;&Fd#&PpwRjCpC0sF}*aW`LS}7TDsE32M+L52l!Ib-} z0-XRv>w2#D;Cx&CtX*b(kKIo7h~c`#ry*)refnJbOThp!qG4-P@vPm;4-5p?NG;F|U;zyd1t9Fs&^|i!VR!vPZ?nphS`xm6-k9+Yg z`7`>weMN!!iRwzrv7S$WHU_;?&e7^^omM1P+~3ccoi*~L+u@SMm>1&KehSFL}H zr0$R9V8hHV;d(6`^s>1w?C1lHY`<^B%bg{Mme$Xz>GocX%)Wb#H2o5~R_tQL6vg8m z`({Z(`loXpr$r`92=~I#p^UWCV4cO1gLLNRtgB@Im&9!^zIWA}&h0D{EwipNLbrZ9 z{qfnJ#iH)aqXv(E#nMKTL zjzUM?$%x9_W_vA1h!c0bxS|$(P!aEYUkPbtvJdH9vNWL`51|zn9De-%LgkgDG?vxRC*KG1I2rQ$?W~{_xk*I{B8CBz~2mq&++);@ae-7YTuClwSxoyBmPeQ8-Kh1 z1AiCJ*uPKKVIVn7Gj9tv_|Td#+fC-?%8{55P0;eXKDZ#Un7x-lxpwO-(J~%=d?{J7 zB^S}{$U(QU`!8Gf>dWpm;Cn`fW=u{7;;(;|ey+tEtI9Tv^Y>}*A_<4fApM5jbI&D_ zzIQ{@0FovT-4iaM0oZf$rI+2RlbaO?R4@!UUOyOt8sOCju&Fk7XU5?qFLP6)*dDkZ z7p$o7JDzH{ZspvO>^g@Nc%Q}u8C^ex`L~1qd?)sjS>M0!qT0_}`8}V&p&G}aKewwF*#)54`lBH`SI03CD^FpJ8Lgsu0tTL}vT(#C+DnI1SU^s zfFSF@cbF}Ch_1lx4W&3>udl3MgByaQvfg+Z7p}zdz#pDNwDn&u1AIP7O5zC5L)Ng* z^?srXkF&V%VHAHm6MgTWZG3KBl8s7sd{U|4M_Sf6LF&~vgm;3{?IC8KJ)#|-Ktxkl zgh+SJcWk?QB4*nnI#4xqf$sb6d8QZs;q;cTaOkJM-^cA6eM1oPuDXEKQf>{#v7Hx_ z8U)lxi@F4OxJeA2ucX)=UN7wpsn#~(9qmau} zP{L~o0AysV9FXvI^krq6-hMbT@FYK~6|NeebgB2jg%eJ%rp3~C^(iZM4a}$I*Ktx= zZ}`||#%L#dUMSA@;rJJqN~W+6P`P3>!wpDx46go-@U1DJq5%ktoy*c{=dz zJw%YKC2JN{E|AEqFSrY*1UoE}PP5Dr=eF_EwQh|GxFnad`PjPA4+dzs5*)9hjj9_1 zW2ErxK!xdoNO>}Nvm^ak>9j+s(LF8E=*fN=iR#(fNIMymc zqpKl;it={q%SFB`G8r3ZY6EEf^^~duwm(t?VFmW?fLcdV?4edlrx7v!&l-IP@%{HJ zxXe_GZk1triT#TwACyH3y^;%GxWKS{>kqwv%}jLoY*=ogS@8Cr)@a+f$39Gt`lahxcE))%M%q#93LMm&u)?HKp>Wh-tQG4dvAzHMJ$&% z3k9ZDbDJalvIHPoJwXK=Y7144;1q%guCG2z9A;kJa>*O9cF`kjclPtI&WB%I{yqUA z{8v}&zNqwGvFMCEI&V1o8M!w?G+n-S!B16_5ANL7LBP4+tvg_TWpkN1ekPH4JVl<} zFiV@AElslc343Ql1oaz9-)?fS9s3^n*;kEN3vJlF#BJjb0 zL;7^&rOX(s10{6_i^`<`aL6Wmw~QkhgbkU_OX?!%5j-hpu-C+5#Mi93lv zCS!ze<0Q?!h>W*C{cdNdm&nvDz2rZM6n&e~d%-a+^Qh zQTT0z(^OuZ>azPBJ>_N;Jq1iQMhyD0I-AG;mQLw@4m=5b#nzwqs2=7KY1vz!6S7?Y z4n=MGQDI+0LLe@&6J=rzr%u{bHmU1;>6x%_d;89gA>~9ScUoVcfbM68>LjlbX0EWd zlcfB?LaTe3(W{-^y_^(TGlv|=ob$JCA5mdwAx-##Q+8Rj&LySYz!SP_dE$iw^$=Rd z=pwcF!LhTD_|24gY890S-u@4ZKKWnMIFYukNGO@u9YgVX^bNToN)6wx9MUIlc=!zu zzv1CGJp6wL4_D*->udw>zYFvy|17E3p3-53$$m<=>oxK|#ch=ps>sA4?uqKqRgF+1NGLPEZkl1M= zC2~H@YwC$ZIqs^1_}}0p1#|mM6$hsR2KszwexLXhIQR%^Mtj#zUB8vuS|Gny>*Xov zXfmljlg*GP?eyJlQZK~wjZ&rwv#9>LT*6m%*|ah=V5bx$_ii!?)Uq{THFotIUGDkX zirn$RRgJ^bPj^s~O`AkKMbna!awDI6t{E-BzxlkX`>r1mGsmiS|FOy5tFN*h$lhzf zMwv=WHqR@SOB6?Y2;)8|ip60K!ZE8Rj^afj3WeOI0nRUM4yb=Lj91Vu2mb6Q-?_T- zz+5P|0)g;kLBJAkSOT@m-j2XAdiz}IcQ|_ewCd+Q(_{|%ou0l6WHi_Lo_6u2f7E?P z{#09|qJfxzp`>4PyOtx7ZEk;ZITPuRn)v4YRh6~mkNe;7ActHNC8zq5o(>JKtC7)3 zUe51PW>6c&ENpZN*^|dCD|~s@-z(JX3MeQ|Fgq1br)DxKDCoE#Bwm$`{X>kt92W6c zFq{zQ7frT$#MDO&{89AIqV}$hkUHe*6&1X8>!tXaW<;1O=8^qLY~Zs|GgWayBe$#< zbZ1mz4C=NI_w4IItGjvJ@gc^ugACvp@n5blY)lKHpLM;U=08s8yn3dfM+lc<9;D&i z>seOoz8%6)i3~`Mt^}_YWJ&srngMpJo=&}>=5Md0WBVnSq+)r;#>{91}_MtSewA^tw8AHXdM?=sc}qO3kpxsXmGC z_nC6{Gc&)WJnPBUNB+8Cu*c|I;?2*CF04R?G8P*%5mfZD3yT@OXuQ*V@m>X1`>F)g z~9XZ%Fhbo+ZYv}&XYSzG0Z=RB&t5iG~761V<=MS z-2F`C7nrFa=&2+ttROQQp{hl(N4**J>}rd$r#uanfXll(Oo&pJsT#0Hh{*k6KF1f! zqc+&$0e6KmJf!zKO!GbUem)u^v+?=qE@LP6G&@Pl5h-Xk64wgSwN``ZjOlX+z9>)=WF}vbLj-^N3P&@$$Piz)xvDWm+k3#&rx$HNdu9o*+&= zsn}FCtnV}^+C4MbyKfe|C!x!gTSE33=$UmY)2Q^Y!6`wO8p?fFd^vt*;7swTBjld= zu6)zfk(N^1S?r^OHjdr>q1NM|BtV)(#wX;om!A>5+FN35`KOYzl!4r0pR`x~RXIk< z8anyv?Q{DANAQ#qqc`qAWiqp0Q@-H8p${1qHu7@qV)f zKSuVl?XwKkUL;pE1Y}on7+7z%yB)I>8y|-_fRCg}u@7~lyNRDWDf|@pF)}up+OS?1 zRwoKobv}iF&Ye7!pjYQw?Tc=`xIWW}vY0Yy?dOFDqlNe=9rs^t+%);kZo;dW>FJn>XrF8CQ^p9`9>!!2M+B}!fp0ltV@BZ`z=lDvgs;{5V3@qPL z&05k$=FsP3BbY2V+v6#uKj9uq^9967W!N2kuyV$+51cTxB>l(|CAJ9`QCM=T|G~Kv z-CSV(LuL5!X4I9{7uiW^)c?oMT}8#!wb=s32@oKGV8Mbz(BNLdA!v{g+#xu@y^sJQ zxH|-Q*PulRE`__hTj5njozeY$ea;!bbl>;jdR^_CwcoLxIp039Kf1HEp=|-T;pyf^ zcbTqr;(M`e;eN{^1J({T$+}c4)7<=hKRKFp{Kgs)N!^NB?d?OSQ~jBVL`(P8^}kS6 zEc?HiH}6Hm>T{F&#OJj3mVj${`N+zxvE|zSLzD1&*u$UZ1>H%;lFDNv2qy{8Ro9{s z`1-J@y3cjIV6VgbzFphV+tl@dp_zc@Hx!KT7R*pQT<9Mdgqr)3c8R^_ZAf*yH_W^}=0OhdS3~S3rIyJN9lQ=WE;XYK?ENUT3mSC!_B3OLil6cB&+d zz1EIy9mdW-2_hjP@jeV|>&i4t?Ia1$XI~mQ_s`eKI#gto^DW1SFnzgQCTOk`{XR}=niidXGj<>p^eUAi84b-M0IS$U`F#^}us3}n?gAtFgJ(A&JbIcW;M<3*2 zMYCE!4GdsFds%R0g$yakp5<9pIk|1zPf>e-N0Jeh%XJ)#cRS~6knQ`z`iq?tkG&1& zu#8wN+zfiToGMGR@ynUSJ_S?NFrv;oTx1KhW#3w9I-g^gXSA#a-M!AK)~IcDQbVb* zYNl+Fs3B~*KOkNo$I~{>sL%o>d%Zpf7Z zq`=q(#}9etw#Hpl)a%9*?(63Pl^~YDYLqi7Dr6vuwjL7X0`PUr(QIqOE!d+OE`Q+N zCnv@XH<9&WEmT!ND}WD1<&94Jo0N$QIf`X98csic6W}lT+|l{Kd+vE}wjLHY1v&!q zF~FG$ry%?50`wN}r9XEd*vuD#fIY)Cl+2Y*B62E=Hnqy+diCe~T+P@5O#zN;kM36XOA& zO&RoLFge)vLzFZn`>Imue~dr-*!W&)EKKVs{{g_U-*Fq(qP)Vew92f@hxu7^5wKo+@pEig%^Tu2&+Kth>=C~ zb_B&^fG_K2<(nL-P{+WrB@ssp{EOm0gMl*d=s>+$f{2Jw?(tymqf{2;;Mly_xX#eJfK01NclP{JSVZ*C$0D{-+=|5;&V5erzP|mLiY=&dwRl^$)4P z>r5U@2^RMj#J_=DS00Mv?K!rbzpNn9&4&{)J{adTYj^cX4)(PvG+@m$Z@R3wu$OOXP z`}U�^#B^fZ*&QpmLc(kRP9^F=RyeynipnnP(=W($RYqsix@xxn{ncNKn!eV`Qnz zG3*RD?xCGj(WMEOSbs^=r>DP*BkTw)bi}$lYqMmwI3ZcYK$dIwBW+m{!1O#@$pgZ4Aqi0+fSjg3_)N(&$`g2uO+v>ZsBKZ}<$o zAIBc)*C5_gS_JNVOK%5j+7@p6P!~Xvm;2{%+6K;!rVCy@}5cu61;O|61~+sB`7n@FCixm{wvcrav9*|OmtlB>Wlw?P+Zmq=|=Pi z)N^z_8@W~W&kcih4m3M59EntMyn(tniw0F7oM0>ih#p3AqNSKT@(YkEUpQ#0+YltD z&IqE)IkWeoA2ADL!#Hf~A0kd&b9@tx33ah@M}-_6DNz>MiCdj&qKMq%Bgx6QqpEi0 zptpbJO^Dm(u?JG+Bk zUJ|aZ&gvGHQjTs8uK)K={`&u99@$iuEfp(*l;N=EpfHJ)qnU^BfXUTkgB#y~vhl9v zSWmeC`t^WmTU`BmL%oY)G^=HL!x>*B-CzIkS$NN8h9(p%O|j}Pn}3#;ukuFx*#VP4 z`~0(c#j0Ne58vI|D5u$xC}IC#^HB=_-sazH{Wo3p<-fo0U)ucD--rKb^W(x#HviOB zf9k3~b=9A`>Q7zur>^=_SN*B0{?t_`w)*|lRS&FwviZl9yOohcLLqQac_I3a$njq=D)}(s=B}*j!N|#EMovp4ua@43f zvC^fQ`k~DH_)$rr%HdaWMv&S?63`eoxPR^qA8LbPH|WqCtYe<`xZ$HFQ!^r)aFyg{ z6sm1se{Gpy#J#L48T0YU=AUf-$>#r;*u1#ZUvC?l|K8^1{&TrKU$WQdPZqEH&?zQf z5lOt7_+zk6;S~I00!>Cu|NT2nZUKFQuQ)Euxule=>n;+?8FteBZmHZUAf+ysuBj5f zANfg^{M+i*EbH8Jg`wJ9w|)i>{b$}_k1?;DTb+8aEJpair%ky}t_>4# z9dd^i-gA^H`hxqv$xfEo;ZcM#t=c;{wq|kEz;{ zDK~~+YM3n!zwz8K^j!8=uthdWtgaj3nKwW>r%u*#*h$rep@mApak=|)N-H(T^R?U3 z&{uHtE5lLjmoHLreZZv8<)ivaWHw3`?Yrw^q9#9+lPu1AihyK^wif&DUcVb#jcm@g zqj#euoAVtiv7UZK6}eAHNwlY zvBAoCzm!%4sUuDBEea3+un=;_af6nvvjuCb=*!AZIvX4P?vVi>JiRE^Ze2PP-G21n zcJuJtHuG@P30`7?cr@>^x}9$7QH>dipbPOSPiB_Ioe2ZG)DK49+D9t4iR4zfkv@72 z$s#QIZ>DtxU)#`Cl2q%^oxSPnOZ~(Z?Gw4dKe%!IS^d4uoyZScGXg1J1$qT0{)rBP zJfBG^q%879!Lu+ z!eY51bFa9+E$`^O)K3Vvv*{X3blCciAJ-);ce9j`@_lnUn_v1ym@q5heS`L+ErNnT zrIp}5O|>8_MM3nVDsxk~wAX8?#Eb=V3?1dV@MFu^S#yFk$yfEh31asJ5Ta^WqGRQE z7!FO(K!o%SQIB9=%T6=wnyHQn$P{ZReUpgad&xM_raVYX3%xWD(&$XGtt{K{%o8gu z5c)_-6nuGdZEgV4+7q9NFwIbLsHLhawKDi_Q>1&qcF)j88Gg!Ag|`h{&TmOHy8qc; z{y4M|PymRL_P@h9`e2`V_#%3EB6r^V4T@ZjqFnVn`!h&O zbju%O9&fcDWQ}kw4ZYe$yApO@76lp0HpjR$pQ`acXKcKHHf-h5xsamduId}F;pc;3 zzM~8k{sRxX(Z@t27f6bTC(qU!|I4AC{FhQ+xke>Tjd0u?$Z;@hESuS-OPeL<&93<3 zTxh;OJ`nU4r(;`N3JQTe4Ag06{Ek#JXJ$nNQZ=k7U zsaDwbB2W??FsH3-V7QbJOHnpAx=(USWZ_+q+a+4qx-(8E@BF*!d#ds^U%bv9O{)>)K#=p%Ye_z?cJ^TcTgTt_bjaR_CZD1zV*EW ziv9k|Rl&4)det9@hOboKaafR??Vb)6Jy6Q=n;d)tQQ(P}^4`sIO*hYWlGI?$tWea; zn#_6Jmd?sL(&YHOSz(uacI^2G9;-Ye&zfYV7IDMm6kIx;6H(-R*ti>Ycm`>XZJ6jQ z`o#YueX#}XcqHy0b~LZbG+7GeWb^HHoZo}c-owdIbGq7pl$JOD>CMUk@ zZRc1oBC^^($JM*ctYgRRhpn`&=$N)ljjg;MPs<~+Lum%=7_xiZ!iFq9uqEikJ6!hn zrb#5xFbWhz{kk|pJ(e$%Zhq*vYsr0)o4=Q*u>4Fkdy@L42OFEY|7IwcM{v)1w%OMF z@5h#R9hjNpc=HoqDUWYx7#mHiN=FV%iNA#zr_Nk@UY7;Ue=7sg#c<96bz6HxyjAwM zRXgWf7;O#;w&KXi0c?Pks-LhdL?)Y&p?fE-J&bdwpOy!s33ly1l85d{ZR9#Vr9cYJ z+S22rw*Tt%beSWQ-`oIb{**+q7%h^4&7y-7?{@J^W_QyQTtmmGq0hqNGQp%4f zUSs?&M=`D0W>z?x=iuehBQD>Y(fu}-Q8&8D49kQo{*W&mC3Dlz$y>ENAr3zqN2CeA z6Kz#RptoE(U?TIAQF(Pb;V4f>u}gu5wf3HT^B3_Eh7 zF1@=@o~F$gCta5LH?Q|#*Z!V&gU|mEAIoAOZfABvQV&_TMjJEj5|#k{X#OJL5wa{( z%Ngm^v$nfb5h!Q=LOi!81#|a#q-o-n+XgkzC6{e5WaKkRtFmh@$7o1fDTiJ9`tOu* zj^~s+l1iO8LJ9h$9!;bf0D}mgl&0SvPUy}(a5cuMfeR7G=sE{umVBVN)+moT~vXvWL% z*7M1kYt$?8sQGAWEI26fhFwv{VJybmo72W&Xo4}a*V4;(mGLJ07KjxG%*2fbwGcGk z1f%Wxm($b-5|1AA?+S?Ga?+P3zwg#=A^;mD#O%R;PaFU2{Yw9X_k%Jp0xTGipi*Hj z$MS!TEK2{<`?>!1e!zcve@Mz--cN$;fg~YGjiw6!>w+4 zz-NA^dtSidEjVOic5W7NySHY+Wh)n>Sk!rp5&d@dVGtPODLphtTVOEl zmC~e(|A9kyQnTiAW8Kua{)13W)Ve5_02SiTN91zOH~025!>0!X>k6Huf_A@g1VaH> z53I-hxpe-E8Gfh40WP_1*M^pz&?u^K~Y=y#PQ< z3VM5$5=wF!CQ=w4DJo90Rxoh+E>xQQ1p+Hu4fMeI>^bHq>t0kj%^!gz-VC79WNVN@ zHVsIiXC#mgb*VciUY?3;4uLgQqB3h#rGJ}hkIAr>{%TKhFo|kqP0e|31l`#`Y3pPg z#&Kiso_|H27?p4_nrz@)JVt`G)BT?V=Q~zD3P06~?DnWJ5EwJ`8&t7kc16kH~V2gV%~XqC%Eli{XflmvWlH*{#Wt zytHx|xC9LEulefyD>bg23?Vhoj>+cnQHz&-s1CO>>M-ZWUf(L7HChW+yM06&xt_E4 z54@T)xqRkj#CF{B{sscGV%QdKw}i%KHox^J5vn%QZH#}^W-w2F&Z@x`HS={^Q@ zM!VgZnqHLzW$pVf+~c;|=k153)y5EutUHvN<5aTq*qC=t-gz7~?xPg@XAhNRf=4!@ zPNUAae|kpOg8hASZ1sehjNw_rE68D;&izY!0B9joS@K%nMSqjv9J>z7^y?|BmbqGH-gR>l@j(p@eefOyZzpIDRQ%QjI zb9(SKyp#IKXX;*VybE&81Hw5C8}Pe0@Ws~wqeLMVNSfIO{66Np)83+IR0EK`j;W#p z6#lwsJ^xi0;J+?x+kXxN@Vf1HVZq^p(*J1=)D6mrqbI%uKXytKvpWr7;Pqkf%`mmNz@@zVqe>4EGY zVgO}d{+k#8wC>+m^tb;0vVR!^fc|~>k1>Eb-KQA9Qw-oK2JjREc!~i$#Q>gS08cT1 zrx?If4B#mSU~%^p128pziUHuI5iQQ5K{LLsjWL{zeoFd1U4SnO85mm)Qu@++k(H}V zMZ$yMQykfLma72j&Vmf4+SD`ED0I10;#t3Wk<{aqc0^!MH+us?FG@&gcbS&(7LSYWf(NwMGmF4N+}hd=iHZ=_hP zpJD({F@XOqF#vPZzuq=n{{6~&%m1wCD}VA*OVWDPtYA;(Io?uO*%B7NKULg~x_Z`{ ztiFvA{_^t#w*t*W3$?=UR2*X&i!^?DS=|pdh4PHpG5WGo&plpt8zehRyvt#6^C$EO z1^By+iQU@WX1bi+t_W6sl^B0h@=BjT)L+&tW;{12;kVu%Z?KjnkN%00|zS6AHvzI8FE0@3fqc1a# znD}iJowmk?fDj>P#juR$@7od}0xjL%-{!9O%?|T(tr*~*+D%%A*6b_b_2(-FSK&`V zR7WKF>tq7ybDiJoN)-0hxyT~?qovH21ZsgU*i|DFpXb&jAN`|@Sa}W0l2Wbsb``52 z^kKq-Rw3((-A3$!tcfig#`uHvF~#V6dUr08s!bJ~*l-P}Ulz()HWHNqP0L+xOGuoE zNfV%nIRxVZ5|j_tuf~&kdhQa*sS}&W4vH$QrN#j)@PtXG6Ztf97D!QK;sc}VXs7al)2JtgC_W?~I9o1jd{r_G8+-OeH9N7X58s|SAFum0Br`G1w?s9YOMH-=a&ZD5 zVs77JSy4uu&3$^2ITDlTRutL!i_v0L6n`s0;Hz?!b&ue*iCumVpPK?%LZcbpvcQEd zv>3n2i#X`Qi%PxfpnrQnu*hNB1W%s_YSFtR;-c>b!FYL&sGveG#E{0J?1#3y8& z@^Y+YXY}h@JUr`lw9>&2EAeVolM`%=EpphKgm3Uy>Wt>M@;UPJN=GIwzTZ`gIb`L@ z&%bL8+he`m3r4#xVwD&LkW^1<_m)TFY|dc1U6d79oC#5s`!>s!M{ z?(v(zvQ`GVu8H!Rz&%z5eC~XOrX%_|xB`VtM}l~x-xrE5?h>#e!P1;KThPqunK{OHtimS{dDXr#yuIO z&=~XMsU8V_w?Efz+d%UL40{fSIFE{wC3Jp~6Ppcy7GxTzAF9iW9TG+=0~6B>$FqfE zUw17tjdc9Xbl0C6Q@d=~p^`vUkh9p2h|JN8flvIr>_!w=(!z^~b;5hRPPZC;O_hT~WM4-GUX-*!H-{+dY#rDWy!p?FJcj zKO^{tLlM*+G)fDsVIft<$Cung#!FTj8&{fg+5{zl<$b|Zc-emb$w=&_@HFL(Z{ zqW1G9M`BwZLkv=PTm0PArE)!%(OVB|(95U-+NkIic5~{v{Teq6yiZK)AGVoa?YZ}p za2mPwQhz=^{8%UOyT7`@RYKoEXTJ8KE`pr;!u6}H=OoNb6j_W=Oi|tFR@CS^zIZN6 z9^6$MEJkJ~?Cp)Il_FCvW8p>@oj6-*@apR!Q}dDcG<6kB6cD+>^$btCyIJt%0;QE{ zm#-twBs;}w!G)XgTNn@9yj5qIuOoN5i(&sqsLi$zOshFASZl-qcx@uX|N941EA7y6 zVIZ{6k)1m0)hdU-%wY7Im0gF2O$`sDN14lTCW!rIr?MVLf7NQd4m8ST2msHL%h0wL zqb4B|xA0b$mIrZbSH<8;urh(RhWhsX(Ni02#i+d3F^b?k&bi^XKR%NNo~yZ1C}Y@G(e?JHOnYO?gk!P4 z`YWx{c&scFc>16wyD^FDO6p@3QYxwpZ6sR?AV45vZ_&TlZW_bG)KqfKC8R z&ub?O@R3b?i@jZR{CC!pgRgdaw6Znz)|WO@rSGLO2;+=a%WHMpAE70L6Dl(-4AR#t zJo3uS$N70St)-<>c83c*9_4F`tFlrv%F;16rbW1=QO+O_!OZ~{LMJxy5SFBE_cA$K zDXkqkJU$_QHG{=jEx*iV!|Np9e7pGAf+&Ll7_QbMlY4ZsK+W_B&7B)!6Kv z83d4;cE|9QBIRU((eaW4@=?F|g+0%jriR&Rt>doWwutHKv)ME_S4R=Yi98DvpI?z! zcViq6qZfpDLg3^eM--mn5g`g)cu>w`-|1T&A$J>D`atH#&2jQ;mjaHdMt}Od^zWbX zKP&mi|3S&$2;m|Pt0Gmcg$H1L`Rk7^^)HoN`fnxY|Em>0@54LmL4kQ5wqYWroJcg( z8oQ+NPN*Qvs&$`@VrN_hPg28*qf(Hm-&4&*Q`UZSyKdKcB#~n=&D(Q+E1s`;IedY6 z)S~GV?eXzt|1BK8wUyI8ws-FjTszx?-1`G#(1H;DnvI%`kBI9v;Ad7W(Gwj61lcJ{ zizqdM^PcSZ=VruaxR0i9RoS69QS(_VW6|abm~%$$;&eb3i`>z>?#OQzcNnFcxGB_F zoSLz**k<9vL(39`N-K;ylW0JY8wEhqu#FvC~p{Fzp~)!^5I${xG>g|G7c;a3L014M&@XbqA&zo^T9dvLYvG{oHXjo)sMc)2{k1BXNvQ5UeR?nx1o3Lp!LOjm$5<_@4!AHIM(y^8 zWA9V@i*-zzz!_6(4A6Wj?|@^# z(Z;9CN6vX>x;ZN$U%9^Bu(h14YP3uEcu^L-YdD zSdvPQ?_;@XcNo=|9?1Q*HWNGOejH};ynR&^cO(W}ULFE#>BW>nFkmlr=MN_x&cnlq zyFy#;|M1TD``~59b|8&$!e82D9pH32m@8Ew6oOuok;p72+$uURzgjTD3sSp;j_wo& zo3~58r9E5w)2>s85F>6IgiJN(;UD(TX-{pmr&f|sS7)}rvD(T(YYfNRfj zBIE)9z0z2=0X~ASPswqAW%EE`3^AHDc~>6iWlHU5!6NN%#sEfE>*#4YZD+nJojKTW zoIx1L^TD5;s)aP>00ZSknN{sVU~0mVK^Oe>RokJ{kId1vX@4z20B0X%H>Zds2q2V+ z?8w}Sbn|@xZTJHZ$otgVIHN<|NeV4{k4~8O`&?K|&x4Q36nq;hNOI^WY^d}56!9aM z!Lz2962^NdcsJnr+*4VW_U<@}XT9^$v&PSd{_cGswcvglkLQgts?)FwOkCgnTx#B^ zhl)^;(-+u$_*?>Tej#SIvwauxU3vfjSpCgKwW?h^8Dabg$+#uzhHgybp?fNZW2<2JqRnGQL)s1!T`j4!4~f_)6S})Q4*M9f8cQ5u<1D zh@*06YCED%`g9wf*6JGRYa~uc!Gtg@{h`R%&lJ%!xOba;7kk8M%foQHCUhcm1CB@J zj02ig*KbEl@e?;-GT7JM!dt8$y1s;QPU2Y><451bHdDAF9_D)>?+4DHVE+LW0hOWv zc2tJ--oT7;RTxA|Bma*b@bc?XZN9m`51P0+Tw|GH;NhgbN^*A3XbJ3^>Cc+^FM{uI=KA&r4LS}R)MW9 z$auG#lVPLEZ{E36?EWlg>eW}D&RgP%zxxxK@HSA8c9ufDhuD&X2N|lsN0Q;4YB0YY z+k5=e0U62W#XsOU_4j{|<8Si*n~pq^^6+L^fmA^VcMS&ONNaELsDX`^DS9w zhRY#1<|#jJ^kOBW+zix+AH0UuC)#9qD^0S5;y`sfb!BCpqr;7}<}K5S zN-KF^;0B{QV;ajeHX{V+r;NQ>x3S)4RSv2zJZ3lzVVli5J1Z6)Q?&D@myIzpwP$YT z>K(`ljZCyWbl?iT8cLApx2%k6Di}DH;5$|jwrdP(IMMrrlprJqIUXR{JU0K5+i<`W ziKB*Xq|o$f%@;T7`CZ1zAakIJSVceOmc*?F6lS>dBv>9vjn+gIR^0 zVe4+V*B(ze{=WvtNrL`<5c&5VdDwsLuUFIBBkPmmVtgUMOdHV>SaQr9^v1bbqGS^V zL*HipOhURgh`f&-n|Z71<6acjtS$L+1x%}Wx87H z8ZZwk5Vo7`Gj`jt1{FVZRyn1|saL=rq@UTID~QZguHj;wkaUj^sS(8Kif9a2AQmpt z8*mchvMULhH%eN6kiZP`!})5p;@x7JzFuESXtey=_=fi`!(T^gB>lHPV{riv`a#aR z`Kxig?#-$sx|s-AP%h!kCGNrp{tF#CGeC~%22!;Ln(iIfsN@wg z&Qu0P4Uq`frO{66$;XI_xc-{0KSHnUPkt{-azd_Ckq9^V|M2eK@-ThK0d2r|R`Km5 zw@!thdw%|gDPZ-R$@aB#bCHQQluiG^S)7BC6BLDqNmbc=?i7hWCy3L0a0Hnai|h2B zN+G(kMY^DQXO6EU{Xt$(=RI-4MM3HagLh}B zdD~n+o1tQJnzWT%{AYC;b5*ZZr3Tg4(l2{yR$k@UZ1EAOCaP8%DH13!#8KUwGfxN! zOI1Nq94=NclFlYWqFzgx6zUlXawgK?-)?JgE zRyP`#9b8|cODgr^j_CH`@{jeSfqev++>7kKfQWZp@*P4rmIb=lvZysL0+?8@w*)h@q$M6{xS39lFx(IX+hFh&im<}p(N*1Ro7_P zoQ`6+t0F@k9s4w0{&!Oi4!7tr1LX!4TiWliMA=CPQZf}@o`PWS&%z}+1zpa($pb|& zVA24SwM`sm1sGp}2wIwmx#D=tfz-cxunWMg(@De2i z3vR_F9Y?hGac27TxC%K z4QulYE~-g7Wk3Z04vZ*uK5gCHI(B#q(`r_Hwmy8vb^>+fboLnm9cNahM!tjbRW2Zji8F zlTKVN{mCC(u_|hMEZ+FA^gw;$f~Rv5ZI)v6d$}n}@TLDVTyRIA|I{i7nt;ExPzL|9 zSVQS?+x}zV-SD`7B4oD}71bqm>N$=o?dOc?$-YcO<5kt>8CH&4ug_kB3JT-xvLcX)!P>=C z?b>bi3ukY(b^HT=^;Z*7pzT|O`QKK-NBVb)NjTI>ZYCcW_F6REF~?MeYn`M?+J9v8 zVaAJ&tgoPs?rHleEqn#=Ks*D4(us{PU;B>Et)MFP^Ly}E1DQ^7p`@zr*|Ni-ex3}! zu(v7+=>Leks87@7uz*DhvQWTo-8)eNZ*S!Zobn9N~{yieRMM6S) z{`cNwSvwOe7i)>X$)55*dy-qmCdTXX6utQ-T2g===eR?4*hB zr7jAVe>Uj7C8#8xL`MrG{$$|(?meot&~tj-lJ_jq+t2w+h`xCHrXqN~?ohf!&qhRf zAS3OL@28$`vIP#c*V73*{)(J2K=m5}^R@HPQCPTnY!m<$hR1-Ks5n7p+Wnx5?740@ zN#XifnhBPO;e57!jczT*$lj8RZ()c%V6Dw)^kGE1cU?N??fH$>2d9ey?9AFh!$wnL$cZ0TiZ*5AHMZ{w<%_0G*dFI(^&+cd$obxXmnu&uz{tF2gkmPw5e69rdW>2Dr6`DgkJfv&+m-F{ul z!5uqv>oRF56h9Zyvr9^XAMT9Am9b0CeqQI+P+78ub?3-t1m{TqdhgQ-EG$OWF(PDY z8-#i!G?M91J6=sEoRqh+4qQ-DRCn~B3gmQY+pu|c#V{-fU6W?9&DOv}u$e$%pN^zD zBJE}{B8DC|yaIjj?gH}h1hqJ0^np3+t|f@}d(s;FYUI=$U=#RNW>*;{4uQM>tRXkc z(P&xuI(gBIG31AE%>{}5ddac4Q-wDBoq-s@$>m$@2%uH^eII4d@gOw6#P@qeb$qh_ zC6sosF1TXN2U2Mc_W~D`&R_4`7JJd6-k5nb5Wrw1*!nDq!4a?d1MVM*bXB%tt-xiZ zqdl7FQ18UF!?FdKNOf^=2nRmsAU6h7-(kv?lY{7{afa(2^5pv8-xRhMZa?a?IELKL zsfGlai)qTX#@#9hAINgAHIm7wRVU=L5V*tHb}hS$k25z!(aLB+eJq3Pqt)5y+Nzd; z3C%y-EV*g?d5#4=3%QVv;gbaI75l-yw#&*On19O=afwN19?SWTA}uaC3DfuP+~|+% z9!u`oG2G*D6h)S_ebN?t{YV5U3tE$p$e+I2@jz#0vt+D?oXH8d?F3$S# zN$`3gbtke%Y6tr6Q5RR;i<>EphEGG;#RZ;5=N*B}HIPe(^LPDj>z9Fc`#IEI?eb-& z{aahk&NSZ7r%^jcIvmiG2x*0Qo`@#k`IHp8vH0X@wOaw;*t&?0jsbbmtkCv<;8_a}6JLiZsbPqXwLibFi!*=8q zs5E1=IfvB>r_*Pc&S<#nr?*kTWXKY9HPyOI18EIBcN*9lX#M;xv6S2yZ@>I91;tDC zS?%ujG<`h#WvgIzcA#*sX1&8S|MTU`!w-icWC(Pr3=6}ff!Fm3ZfZOW*1g``HD_By zpZk8<)C6j>tY?LGesC#jiPJ`lRD=e{Z=Z2!h4o!V=gjwkYSUdcZ<)-M{!DHxj@)P?e4jD+CiqJGe-FBA<^A=xG5PP&z4t#C)3Yc0_<}9S z`?GfWeltcU+e;6da=Vb$hDD}^PrlZW6xw?cD*9=Jf@+jS!x_(H%CeqfckZm!u_Ja! zhd)egq%@d+8fLe)R<8j|_DOggE2PWv{ zFu1yODG{wHW)LEl+>aeVX@(PB-n= zQkC2B;dMR2;k&Z0b7rMM=lD<{zI}f1#m!Bvm0h)4FQe_IGsIKko6bdx5;r+z0^tFs z`R9+F^beFN;1wBl3y@g&U}0}8DC`3fFWk5K zCAnQg-N$i1Ft>ffGg%=v10p%hRuDg6o}_%_$C>#`-8Y6r2|*iojP6wpCOI$v$&}0D z=N9^qh>&jQzX>ae{>4|3i@@d$yTd;0ilIbZeB?^Uxvp6&fW5kj`9fpw3Tt)O+rQJ@8$G z?RSkIeG!FF2Kl|HQg43e9en3^r9B-{RWQb`dHaQ+rFJdoa9+6T+4paA;k}Z?O{ZN| zNBsLJzzw;4%15I!>}#~ki?g6H<-Pjscl+7+eTJwSwT^^SkaJQ$)KO#QP!oLbl-hWg zbl`!!x4k9J7{)jqs;7JH*u)^FVJAm!HP?V!D+5SM z&%|#^zfwdUg=)b^f9mZJbk^!0o@e(sL=Dx~K6at%Y9>dTtB}UM!lcGlh8uq>X^KKWH2p~=OMGV8sP8h zNT^1sL3UjfxN0yO?%i}n4*8tZ%Ht*XlflsgaZ$17;C$0{AW$gDxGlo%>|A)2Z9sbs zQ&mt%u(KYwZamgYr!57JCf&UrbZ*kEt0+xp8{Fp@@Z!~O!lYLWzJY9CX+->STPMVd z8ca;b#NJ+JjuAc7VEOfKJEb+6;(j?U+&Yt?vn{wyeZ=3fU5DsjdE_F3ZTr6b|4gUDGrG-}-c za&~M+-C|sTn`tNLPi7arssLPK(&soid5dJASL9{<%6W@VU;2yN;KeZgjC4L187pzv z?qrhK>ENnbsjq3LzGo)8KP%3*|Be_|2H2-JbUo`vK)_nMiKjQ697ed>rL}f%Ia56cK|^=puKM}m~u+nZOk3dy`7??P2)>j zde+iyoS%-yZ+!hP!q#i6!uMIT;)W@6t5yzs6ojig#t-;aq>y-@g;nCo%jRke-BXR- z?TCw_WshVXFPG%|{ed<{fA@-C*%Px@cTI6DcMYLw01&H|fTsK;)#Ko-3uovhMolN@ z$VR297*ow&X+?F_*B5&`q|1G?A~kW&ql(@bYjomNSN>nbAMmns?L=y~=1po)3C^!^ zy);i!o zm1PsQJ6cok96E30osZT@|HwZi#FP6HOZzV&8IyWK4Ovf#k*BMVvF zj`IST74C43cp>4i*RHB_4o+vd%vt!xCxpCK$MJwr$JaY+*bS8Wd6f1?x6tg!@C)9T z5IC=G$s>!MpQ6CVkxv1_W>FlMcP{iL^^cBMv%lT%Uh(ev<3I2p86J>v{rojX4JQ-( zfxY-lS^65V&2fXZV)m@a(GQ=%T#miBWL z0+0}X&YAl6tn<(50fzrJJ@7^z6?FLw3B||5)w}qwaj6##3F*b(0R(9iR})z~M-x}e zL^LEMWF#b{7BnOzPh`Iopc=&eGnP&Um)_f4*?xf3!qlFT+rx{iI6Sl z-pQABPJqDR=at@DI^(!;rCq?K-OsEJ&PvUF9hI0l6wK&36f0~8q^>VyXiXHP=qmCO z9Y%}j5BsaW>shj@#+|GFjDe9++M0J5PP1xkHS#&w?FR+Ko;I7jPBX@gHR4-HPCvo` z=X}?1rbU(ypO5qd77Oi6w)WimH~h9?qK3?L*J0KP+c0yWyt@ss7B2x_e{-95m=&ToS(_JExjMS&v^SDJE?W6elqa^qTDJ zM?J%y?S@`nc(!~3!3x4o$LlZPRpFS~CH?;5$@F2+c6fQ%Y%JWwAFOn$3OHLTFw9(5 zSiHrWL$AF*zi>MiRXJT-hhhvMpx+#G0n&3?SC+!d{uOmSKE*H z0nPZK$cnBvAhJ2}(8n3UR!Lu9*kPYm!RZq5`_r(ugTveY2erg;P?p^ZvAV7x!$C%< zBGYfUpPySqWF^pKjL2AP^y~U*5ZR@l-&j<)FU4|OX;x!378wdhc0{OudBz#~SOgie zgWC_Z-L<{t;!kzrxN^>e4>|ZlbVqCDE3&6yibHP(a$;07k7fF_zZOtDu*&*M_RXF( z4{w1g%af%Lt0msZo~lC>nT|S|xS|txukW_DaLZX|>K|3VDWh0TbA-Zqjm&XGla~Gu zdv6&O*S4;0<0NPjf_oqkAh>%79xS*7OR(VX(hw3zf(O@z1b4R}4Fs3Q9lFuR9U8ik zuhw2U?|Z(z*V?B})%#~x_59OSjM;NA`^T8Gu4_E^LkM$BxUmbP2Nq@Yc2 zIb6QaVmP#4lDTN>5FK?*hFac99VyM!+%jQ0VQ?pMqg5_;I`3Ge*-W>SO?3qTH1A^PDd8>O@D#$)jnIWrb`2E$-fMe=>eL@F_5+SVA-CX z>zfZQ%IS{nJ1^qh~xDgzW@vFnIKRp_zF?nbF$L<@gbPQ z08pd(2+D|glG(G7Z4>Do+Uk{ql>!H_o3})r_wIIp75d=Z02trZEyjjs^)1IQ!q<23 z^8q3uy1OtAkO??7B+&VOcH3|?5op5ZHGo;5Dfw|^#r!Uww_5Ys!qbbWedO1Ay@%5;8?bzP$R_7*1v zy68<<_~#1e{a4cezt%~+|1145-zhK;ef*_BM$hh$f}F$cqvt`sU8xHX79XAJI(ztC zc`97xh6>|A)*H8K<*O6D7`-(Ymut$kdEVQDO=jNf$}3!JvgQmSq8isC#TgBD`qt+R zy3)Kmu1!n#cl6O-Wd4)-*J%EG^^Yd=?eD|rU4Gx#U#kDlzX$(W{aZGn)IUo7qtri2 z{iD=BO8ukMKT7?h)IUo7qtri2{iD=BO8ukMe=SP=uh$J_Ke=pIl%7F?O)vdOK5VF<)GOzZUYm7Vo%B1l{Tf?Z|BUj5hVey(STE1BwRKPd}bHbN0! zifX%zuxyZdKmq;SlSTvkcI(5Pwo@1YThu=?+J8qNQn@-Ly$$?w5` zhDIYxC}@O&Mkr{6f<`E4gn~vWXoP}BC}@O&Mkr{6f<`E4gn~vWXoP}B|GChJdihVb z@&5!G$^X9C{|t=)zt8;NL!;9FHpl-C8nN8|Jv2gd`!_p{h#`OeMt=#7Sbq=xGc>|H zLO~-GG(tfm6f{CXBNQ}3K_e72LO~-GG(tfm6f{CXBNQ}3K_e72`p<<%iSR$!h7a!F zmZ#bOqaCb?p1;nNF4^WIqhHx8Z^k}8NCi=<$?07-Lo{t}D;>t~ySqhwPaWSnqtfnw z-4XGbgHMj|81JidX4T|F`p-UGrd$sg?te|oWBD3P{2)%J^ro!aFk*@xGLLM4!1e-1 zu6&yXoUun+6^2R1wK6+n^w@kzR?LFJ8hq(Rlam6&7; zaOBk1!(+i~`h#Dy)QYa&>i3gwT}T7>hWm_{WuAt6>N$Jw=N+tH=z}HjbZCWeN~$A5 zCu1UH6Zk!|jV9+b)Y`^XB#|BX>`vZ_qzm&O-q{GQc5%46y<>c$P4mo%(Y|Q%5@{8s zc12Z?dvVx4p_Eidm{hm_SmI&AJ!||nQk^ecN?X8gz5eC`eOm$uHB9}ZgFqn-Y$+%|ow$ZJs_*(&LG zf?mNZ4ERd#?y>QSw=6WE)Hw>T(pnDJumpx<)TMXUKy-CUx+?&evmYx=pPqNhd9nBM z(p0Ut{T3l#2x-xNOYN|>=!Nuv8>M? zXE?20Wip8{W-l^|u!xNJ(3AV=ym+;+C^T@W?I>|$D{JC^qkJXgmB24#5lcmTn%20^ zX5*Nv;Pea@@3v{-baI6;ZSOH8OKa7Wba6+{L$n`B%x2HHrRe{`{w;wvD|~pJ$%eX2{h&M5>XRR1c#8(`oAYc=VMI`0@RudqVfv zEv?~rj$&oU^rGn#+_u*lWxT$LJ-z5e4yMrH-X@7sQ((*$Ik&}rBTVOZT4ul|AUCc0 znOIbh5lglobKSOpX@2-`nTv_iIe^1Es)9*!IRAMXKIAQhCjk4dy1ac zH|-3M&rJDezSO<@aA3Dq$#N;5ypmW&MI5^E{FC@mOaxWk&vl9Zo0;R%4B?zaw~@}= z<&F;?MZOKe{+5Vg&-5E-Y4U_)WOlI7qWFXcBJFC`R8xbJ4gR&Qwtz5DHDG=;E1}iK zc}rIO1j{BGvgvRvQE9Ue>pctiiX3h-r#Zo?eS5P=skH zkDwfl=C!pyLK-zTM0U+Ls-GlK`pXvCEMAC4(zEUId%E1zI&xdkS_6lcwH31LpX3o+ zz$AMD0wHA`OSm&G1)9A*d-GcaWcQ=J+dQz^fC3@aUzXzztvR|fy zSZaKePT3ASzhOizyJg`FEJzOJyWS~ArNC(mDdQqSLLdyMOT#`wxA={Qt1j&t&#f;a zASjR*Z5(&T;{7r1!S?`yE9$uz#$)hRN^As`q1n~k1Ri~laBCZ4b9PG}24g<=JN`v)<`#X=ui#KAM)1^Z$zXzsb^ZNeMk!-^w8L`^s?<$4 z@IGCVpx?@AXj#!1;dEgi;N80+FAqN-y1AdgcQF+OC!f!Bw4J4XL|-;Q2NZ>&8M)6Y3~_5lWb?wCf^VAC0tBhSDH&JYtQ>t)5HV;q8YP}L*x zt~yWJ_DqD^{W$eHwA`J+L6?y$vP4c9w)=U0`SXse#>$kPCd{j;NT1Qidcq;nC9^?qcfo&^u3S}{R zq-%4Yg2T3UuvFh0N7;tYtY{@azoe5ugSp|B4;2S%{PHZdb9!O2N>Z9>p&1p!S-jY* zCO_=lfzb4>Jnj@Ukd}yn7CkK_^!`4w`og4Hp|TVf)s$|YN{}66nlY9xd_#pPfhG@e3;-j0^00q$RqUS7%zr!FQ z^?GtFylE&|5sDUy)@ZxEL)W{gLzgz} zuI_$DWKnqiZgtPwS5mc1UY9_I2Y=*TED`r9EML~23Wl9m!EDQ z)UNkS+AyR8-De*HH-R6?aK(JXET{mZ9h67n29?cF&z7_j?}@s1Vy83!h7b=7+iPHD zgcdg|=df4sxEuarj;BcHXuhaDGw~wKxjPGsN7d4_!ix<1@Ttjo#6X!|EMV;=sf+o6 zz){aG?-S~Zu@z2Gz_nKN=8K?#(qcv+CIEu7JS&3TvN|Ae^ozeyikA$23SDaanFt`HvD?C; zt31FtxL=4~{<-5SwsMyyqj!PYVODjX`beMEPy=q3r98b>*qypp087-W2HsXaze)FK!@xFr8z0Yo8%0K6@G}M-H_b9<~gmF|Z4}TyIF&n!Di}-{Y>5m^~!S z;DO*@u83Y-WM%>7_9U3N}Nt?j)@0puEmo zU59{6M0xec*b}<9lD-gupQ3T_sNq#xEvF#7)4>H8a!bJQ4*BH3)bb`C936b^fZ)aP z@uyk7t7@{50ZO;OF;MJ*>$;+y2rB{zHXD`%0}hKwk4L$g_H9ClucJ?O94Oqg5gwqA#hu3410a4;G4*NQ|Qx8b|_Oj zGkU{JlB|U9UHo9?d1+vA$8#tHkhniv{Zq~z!%9vqh*T;gaHC#iAUV{IOE zQ}rVaMJvE6?#$<5u)md-de(pWb%do+%FB3hsebr(jxtF`%b5e zus`>{IRs*JT~6TaNVgLm-Z>7&IeV-iG{o%QO4}Q9Q35-8ge7;)en2=t_Iws0YRzcS zSKDfZ+>Vver7_j@??1Bwxjh|tua-->3mMkT^4>pztt7;%EwieT3Hs6tZ@=n8ih!kK zTAZhNkJtTI?FL|$0Up>9Z?ib@_%Pa`8!XjVd*nAE-7fm(bGhheR{_QsC1KaMcBVL2 z8ec&Wq^rFygT~Dz!_h&phk0N)hl`e>R7UTD_Smy;r$q<&+OS7@t2sWccoC8B%`3{S zz8lcztLb>387BYZf!qkbP|zJliuAK#%G=-T^IwH*{MS0~^?&nUKfWVl7E+45A4RM! zth1GK5VY>XGR-~sC6fQ$u&fv6XSHG}mjaH(e1+D*67HmH4 zL$p7lKIqWU(1>K5Y#rZv*g8AOdb)X8sY3hyjcgD2eUpDF+Y^2d{qco*Lw)@-pPaV~i=T(&*nj>Q;ACGI1 z*!Fvju@t{0d83^kyZ!xXQPER9Z54;+FRa`3%&MWa9`Qm&Y>w}Mr@n#h;H!;5DFDbf zb4C;o?@r&iefQzkFH-;Jm6YhVm?zs*H-+fd(nwpqhvcuwxeV_O17h9J4&{rWcz=xZ2v+2C)=R>`!=uy|7Zg%m;}⋓Z#^c{P9 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�t&>C)Eo2p$k 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

    u3sKT;`~u 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 literal 449632 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 z z`1y=(L7j+xuZ=^}>^1f)7KTXXR9ROk>(-3}=>{d1Q#Oo|&8exYWSpYszf3{YGL9RV ztAg}$RnU-J71Tdh1@+BUK^IP|p!KI!5Pn((Jv^;~yiTj2Hk1llfUBV36DlafN(F^Y zRYn?bl+d;jtYPx790Fy6TsxDIG{t4zQ+c6x*2P~gv}%}szmi>>lbe&}0xoAt_UGGpSyfbHv zY~GDtE#sY#ch8uDsD*c*-nt`&ckbx>TX&@V&K-Sw>yAp_xFef4?&!)JcclE*9o>2D zjvl{oN5v1_(eP{TsOd&`G+>B3QfcjueptDqMe*(^{)9Vvn&XbRggXi&-H~^eJHn5- zqo<@hT6o7DS^jWGZe2W369W(Ay@sx%hOtkFw~qFvZu@lDeRS#j17KYCCFTrZ7(2ec zVjrpdP|R6-|FQ}P0mk&#CxLF8F28_GH zE}sSCxF^9KfoA9b{8KC7FWbIF6+R2&(rfta^WBAOfj_%&3!p{wD`0A})_pp49ozj5 z3u|!DHc~PNIqFh4I4DdC2dx<+n}d`1G7btk_=YKnS~&P8f@?TkNAtl4vbi%nPR1P} zckVL<(Ezz)8&B6!{c?xcAmdK`aA)YoU-kRv#ycyvO6CrSuP%8Vc>?3USneEVjBM^? zZ<29G$Q`@QbV1a@9Y@0pya0s(Sa^aP_U2(ImZ%$xXjs^M{sSD!&=pF%d%dIIua|?C?y>b!Mal}kB(Ro#)^L{|@S$Q0! zkN2Ae^qcQpfEEPN{Jw882Wu}dtq(w_hlHILjsHB90D5;!1kl+T-$42>vq+#VMh60Y za(sWFV-}}MT>Ig^m9FWAy)HL#r(|xD0aE6PH<;5C%gvXJkEXHqNwLxGN`BBFH$2Eo={oWs;Ib@3a8JNv^bsrqTT69t#nVL?Y&RGF&KDy zp0C#F;FwF)n7+HICH+#Vymbjw>t?}}(!t@B%Pu);vWq;mZFC1JI<70_a#okpe%_5z zY21U_f3XKOpot#Uc{}Y|!&zVUZ3pd9-PV^WRow@DT>kuHpxa!(2ejku%RuiS4*?ym zw*}~FPu2tdx+D(hgqG1j50706w5Gx&pxKOjHYL(rlwpev1A%78Zx_A>FgD%q7SP)c zz6Y9}UT%FTVA$a`4*}zLpDF_O>;h$=El7Ew-wlFmjxAbwfO`|7$B*9mtF6@-JGK`_ z3(jei zkA0Bf6Z_cyp5U|G^S+Vben|BDUGaj?p&ql}2|ml-^c*9&SG;ynMVjEVf5ibgfs?oA zd$|Zc178fu7JTZ>{ifBF!{HP>!#xF`ezSwF3O;q7SoBula5(2?Hd`b3bbom1q2RO4 z^k}Xkhr=Q7+iVeh&T-cIB=~GmdUt}LgibhaOBZ~)+@<-L$rMB_E zr%xxAsJjtw^G^}s-n!(?4-VwCCiY~Ra)0vj%aP=s>V>53`&DF!LO7ZBI)=<>7e`to z({p2yKvN1Fzw}7f1o!Qot8R|JkS&Fw;HK@4*0v$<0a7SlC0L<#ho1-nqX(d2l~W1X}d?=a`yq*yGBN`y_KyCsYbId#BP3Su8ir z86%sUqtj&E6pkyOF$GZzH!t$ssF3&t)PQjdsLR=|)R&!(l+EpN)VP5dbv|GqwLh&N z)m~vJMKl^seN3E1aiUjJ3*Apq`JbLpZ&R9_4zg-~dYN*|)4j5lPTv|{MS1&Pq7+q< zD1W~|Dyh{%$~kfoWp!yG6;?Tqa_cdNI_Bg?`R}3YsNsw&ZT8U~)oolU+6M)}<9t3? zH#W8VQox+(0m(pn=U)a|rA-OYytTnVvyZ2&T>_YK$gl?(M|#DZ0)3pTkSogc!)q|0 z{o1zxdiLo{Abqz=E1=o_e6@)O%uRZr2*#;FVO@c4yRtdZeP8Sb>Dl?88fg!Hqee~K z19VykxaU_ieK}LJ^|Eh4bo}`9yI_p<^Sj_vph3_)D4CBtQl#+FdcPDt&SZ>iJ}yX? z@lnV}g$%kNYT@IJSXC-=mm?L0dCQ?z{-sFirmIq$8P^&PA3YEJ9X>81wgP@dJxv38@((yBv*-2z{r`5! zSfFjTEe5*XveiHj4T%NX?ZH-{n;NG8om-R+wBMFpKo8q82xyOWO@S_WVFI)ui1L+V zeF}`(vWwb-HF)m2+JLtYM-Ksdf#!R_+vM<5Ko_1p0Cef#5TFmXQvzB`g$I5wMEzAf zNY`w=@R7|zQ7-=cUW1Qgj!EVtN7}r5K67ef$B)5`kUGyg;G2yw7IO zJ>7HmY~X$0-@oO3f6VjrNiXyL-nsWP_nw*EoqJ~4uKV^1=IhVznHyg>u%B2lz`ml< zKzpsrHSB4%cPi+cMmE#ubR46PEIePo_vae@vzr@quZElSpP*?U z*XQo#Tb#f?>~r^5Z{Ly6wcnOFNn%Ehpu}X(PT5n9l&ic8BIT6l+mUiD|CXejWmI=k zzLk3lDOW$fiU&DTg%7PGVTE=%-|VnU%dr|6F5`W6PcW0*R?L zo_dpe#H?TEBIW-5Xv|+(YdyWj^qfP=gT`zj<%pzXNjY?MYEq7@>`(47UE8ZiI?wdS z{kc1Ihv&Fy+ZWICH;bWrV%*#TJ9*sP8}%t}#>LH6TR$jnuDPAU7=0|IkuqIMBT367 zMxK0c^a2I$>1_|5)qB0&p$A-FsZVIKNKbWUq5jR#a6L41jvn?PfsrdHpV1?euQ9e$ zWh4Ec-x@!~>c;Sxyhh!-PxUd2&g&~n|D@{?m-N63kM%Si6B#M|`ad2RduPTX{zhmOtX0sYNldV{Y?+*;l|n3U55&LHJAGdGiRxl7@soU4mY%KabF z90T3EwIFePbLI;1#<>(7=)Gpx=t?B+t*ZKv#G#F$^mlmP|EAeekvMy(;0RJ)mZt$J zKWK4*^oQ4X^4w8!{D@8Tcm0Ho8J}7QRw+S&X1$Q#9q-$zcxs<{jP`P>Z$aLQRN9Lx~ z_wDVeuWY$SzntY4J#Cd#MzOQ`jPA)R7?(eLrJsqqRbjuSxmj>{U-Qj`Y3A+(2h0t7 zbJ-s+ENB0va0Yws;v39~No{7)1O3ga*ZP~kRqk&_`SdXh4(em(-{oxD$FW}RLA0|q zAGTgC{Qe~}KV$N4BJ=mm+sq{Xl(c_I%BiOKkn*`w^t12aiU!%=ra@&=9+06LDaWLz z`&Y~@OZL0Q3&$2VvM9N)OxdguDcgpmA@ObTCVF4%_cATne|+04QchTLDJk>g&sw;h zv`;TQla!Y&%}aQ4zjrnZ`EJ;Czs>x6T)F+`og+@FX&u@3hw5|kf9kLLOz!y2muy4! zd5(i-{yv_cqr48?664@2*vaEy;@wUb|MkCjF8~nl`Cf8=k)6?vv#*SPm!NC($%f0K zi*Mf%-5}$Y=)e+5%w7Wunu~TdHT(4%V~%*W!hD?Wh`H?dyJn@^526d4KBNCuQ8%W~ zt8LsWTGL2cx0Eq3tdNoU#zTEy4_!~+sz`MCUk^olt+hx0_-1eP)|kD~6^`zResgta zbfG=YbM)`$DY(AZ*^&>-Q}AR;qIlKG4aKh^s{{D(6MAcKVE^~_K-EhuKRoL`+E$z#k_yweWH#y=ZKwd@y_Rv z=Xe*CHlF-?XP`@Byt@lKdAxhF|5Ln+yYHKDzzO0#@vcFd+j^ZexAp32ZtJzv+}4{x zxk;Max+TqRy*~U~qcpem#%XTrRny$ox4gTje|Pz@zWuAG`lRGJjZS|VMvnFMjc2b5 z7-7|Z*ERo}ddfYwbVuC|zoQ;U-7V7G)+?pCt^Wp1tKgPDDs|kL*0f^(2l=B;9CUX0 znD{OTM~#lngujl>H5OdUyNKM+)tXB4T83RYLG~BCK8nPK;SXz(GOxdUm56xfw%4Pn z3f288Wi9IO=)c#(KqbpYj7VPn@@lVJDxr zYYu;!w{i2f+K~^Mw~lSxkKr3Twjb`ZFtWv#4uyhzT1Ct)G1d1kpV$tCA~TKdx+Tl0 zz%9i){Jy1brp`WarmPRAAme;u3a{2X8XRJ`-&e#*jR{tf$;e!g(6uO76-(GR!z7lVqnCl+667u5Y)_v!X(NnH{;d zdOhDBf7XZ`m3CRwz^BI|r>2Bl(*>F@#+{L{lgFJOfBqDA;^Iz$ zb50N+VceMqP5Wo#PO=N1;?6&lN5KZ9|K0p8Nv?Q~J3;f~`Mhu)nlHwkSFn@Eoy0Mp z;!a%LSpXnD!nl+9lJgw>vvFtG8PEH{nq6@Y6fy4f zft@_=48Hm)?!?8Ntk;|%-V=AORw!y@`J%S5CT&l{zwL12_UlmN$e&}3RQpF6w*m(k zEzfl{w(hQD{Jf%o5tbpbQR$E8`isP=jSfw-8=XexHR>n)+E}u`s4*+NsPU_JNn=pm zvPSj?<&3#U${N2NDPtU~Q^vUe+Shnq*vDAktGE$Xp{TJEn)dOmhZy;b6V`{V7fYP3 z5BbjTP|50~JiF~F^1Vje(``uEvAKT6$^6Au^1aFR27i%q$xUC7?;!Vd4k6`YsedHp zb}w_2GCy9b$rng_YL(hR$}tIkB<0Qz{YaVDSJB^_>@S%)F)4F>2A!_a%{hD{dFIX- zQIPyzdndR*DHp51jFelQjv!^%<7NBRd1n8|*F&i1F5dUMhueCH7B@Y|N899h?#l*2 z*TncZ1$OfIIQROe_!t)-{ce0vd^{JJI-u3fSH?G8t{P1`>^4%RTxFy`FwN-xbd-^z zN>^jtsM^NZYXL^`TtUY51`~{n+E%0OlxxQC{ofkndn5}em?mYw#uTXo(zQ+-aOg_9 zfEWJh0$x-~8gOWB!hlsT69yD4n>e7xz9a!_S0@XYG9*>N-oVrW$DnB+*K@s5zdM0_ z*m{V-F)<_t6wdo4)JKQ*y@ zy!{z^X#opaWgJ%_PG5)aWmQO>*n0%7tQeYF{bb2TV|g;n!Vz&^!B>N^4h-* zC}J<1ys-Ul{yg^LNweDLj!kYaG3c&2BV?=DBz&&9GSg`D;hbLPjKQ7Fpn<(juc<@L zm_|d*UN6E-bHQx0&)ik!vz=Sa772HmUv}AV*2{CwoU`k?nc$AIX&=vh<)ypM7Jb-# zrRyAYY)4a;Blk6<6VM!XNw57(V#bR;iAc;i+Kuk#^?$eWOA-@~goTlET`!ZA`-Q(C z+yTu`+Kap{g&{b$Zy5(Bj0y_>2_Z^?~&*DsBMnt zcZM_2H8DQkg`GS;KDqDY@n8SE?}R^`Al~!2yHtZ|_F)rd+s}Qq+@7(`di$VeJM8td z9=6+FpSG_(cF~@r_jUWrDmUz@R$R1KoMN|E%DTbcV#Wr0M5ai4;n1!2ji}yUfx0fBf(0+d29Q$X7X4v-*m};LeW{SQ1)~WW~5B?sr zso~fCs$E-m=tBmqr)LBHC;t7_LuZRVEIw9@O+w;ZgRgRta^v8vq};SF&2zHMuQ=J? zX+6yamGs6_GT*De@FHc``R~~D&qt7W_u%RrQs(-r`8JbyljdqSQh&hSShAn{PlpaC z@iHp$5mKIg?IkG>j_5?ZjvUXmy%Qh( zJ=Xq__{ifWFS|V--1n*H_^A8Evo7p0bWMzpss42Ko5x45$IgHMuaA%G0mOUacaH z$%@#$&lk3*Pw|=k&&8kH7iG_AZ!zkPne^+UW|_C+P2a+sq6dx2WzN5N*lhP#4!b3$ zuKn=I_V!UX``Di>>1+3S;yg!=Ck1JIbbU(je&nH-PrFaOyC zvVU5d{3M2s%2}V3+jOD1sd#mhiYFuGNwad180~tz zj!*v{FK#i;b;zh#^dawReBXVZs!RQKyYE~3%5z*Zv&Qqe_y}}IjBD3nCy#6Qo_&gI zai5F7f9?eFp14-1R*C4PKg_S#^3WXrRC)n@Mz)#yvlsL9XHW0yp^uXr+p1?UdN)sG zq-=g&udrvDUcB`b|4vtW@2c&cHTuS9zeg{s>u08^WHVdsUS#Gux5pg6EY{4mJDGiP zgV$z6*@NcoQgh7B+b!l6|AJ<0*sbVcpAU%s?1i&wAJ_MZ$zC~I^yQ^@{+ zgr|t#tLhF?&e$V4(QjFhn3NCKr}w@SJG>$Oby;tba;M+vI$GYJD=U+b{{NKKmy{FL z{fd+aSEKserRlw6;fVc&x9jo3;Y@$r-zWa2C5^jD{9Mztv_|(%-CBoq>e0PY-`@R# zYw7RexgSjQ+BuNLxS11n^0=ArjnnjBe?J%vAl?%ePY(_}RoJPVw zvKhT^XELU}OJ!ut{!Y)F>Wsd6MU+0^!V0~2wpn_P)sys&DMR(<{RZkG%X{jL-+qj7 z(_c#(ck%zQxOt-dP7)Vh-!4tcuJhEf?Os2d%;QE!Y3{$@JI*Kj+q}&|;zX4SL8P2{ zHq9r%kC)}i$ave6CLz6lyq~-UIsTg+H#~j@b!_FX{!Bhow|j1o5NmCs2$ z8|Zt)<9b}jR=f2Q5>K8O`AGb#)3GHfXU^V~lq-1kBIRchgGhPybDE3v`62pw`FLIW z4i(4d`u#!Ac~jzT|E-2J*FxoFp05Y7a3-M=jO)AfE(6%g| z=Nu~~jVBH^gPlAMwoCRY4#s`%eg`1l69>yB3pDP2(Zcv8Wi4Ys&h*BUUA6VpnU?u` zt=w*w&0fe}EO9e?_ae>g37Q1jpRTTKkM{PmkBIuq%zI~zS<=6n8J4eJblToW{2!+r zt#93WNnd^@o6)skps}}?#YlHN&=}dJsnIh_ZDU;T2FA0>jf{M$8W@w3JI~R_^Luoc zl+G4?*zYZTE;sH--+$CALpqYXDRs4*Bz7d)O7qnJ`ldM1H(Gg@=-a&MK%N8S$FH<= z7>Siz4-6x*Hn{ybQa)O#11WcYI);>eqQ;VPbFcBFJU%VW!_uqHe6oM~ui>P;pw0nO zj+k_l#B$!Bus{AJ{ViPMg~xkA$9AO8dC&Ew`g^RoeHZyZ@q6_9VyoNlEo;+yj*qb= z;`w~t7P=U&$#&+4Ith#KMUnOTH-{DTRs_*OyB5pKW)^D@LRhk72dUF zW@y$e8-AS}=~rlGWQwq)J|*YO_dR^hQfgO?xskncq>g;voz%a8aNS%2G-vgwP+ z#;dwT`nK8}IbiDD$c1lGL`GEU5Sgo4t<8Jdck;~})+Mrc=u+R$X5WjvxbM-HN6<7! z8ZY{Ls0!|mL_e-`ux1A5S#@Lxa?c;(nj%PTuJbF~)Ni-DmK~ca+n{DgTinLKYjf1^ zXDZ(!ZlPYD$G4U(p6@BH!=c6T{R(#S@tru+r|}&(z83(9_l)nYeF{X@EYmzP*PECv zGpB#$SA1FWpBiQ;;oCZG5}(>VyOl1`TrWLhc=D+5&)!C@o|v!nHU9!zi?l6JI#K5z z{LW5Y?iZ0Hhi}!9Kb8(z)5Y({V|V>#XC3c%r(~AWC95y;J@zKtZ{L&TQS%>s>36pD z4!<*dPWUaZn#1pBXqw|SjC6cEeyDY9>Dl;pjCFr6=b5c7j&X;>vFY&Fv8gfa*y>Cg zLdJN$?bArvRo@?u?1$Oed6OzMe`mg_8AYD!;h>tMtghJE)*|_r{ z*QdDi&*U5E_?eURzZ-Y%=k^?T^z`w(C+7$>UyM7~VJD9}_dfp=cjE4MzW?H*jXQ6k zY5#28>5%(V-1%qXPAriAcjFG(4#lW^u9}vrQjhN4gWEcuChJosk25$qzQ#yUsiEV` zin?`cXn&c(gV0rl%dneB`(mHjNr zv=Bckdo9ZJuOq1}Z(gyd1(>XcEbGC#&`XrrBBJO)XNodyEbBtFEZfh3{4UB&gB>(Y zKC!1Y*g;E)GTUBu&}Oo%4+Annl<655-j$-vwqrWwc2bn-4}247t+l@g(lb$}RbxH< zJiiF!{CD)ARYaMd_&k+$6=mjyepEI^l-YiHMrGS&*?}fh_KPUfk1%e@zZ82K#biZA znLgN$;%y?zv^uP9LqwULpK)6v%CsA-wj-iU4`=7}Pf=!eWy3Oi0SSnCik*60l-Vw@ zgLV*QdN4a^m?+auHKpftizw6UvV&e0WoAV->k}1}dTL9+CSYMvrVVGZ`m)Tz+SXr` z*=o+9JzXHmv>HsdUzTNM-0q7qb24k2S0M?A#z#mwQD(cq+SW#tnT6S@A1lhV`YbqX z5M^c%tL?lf(;Kqd-ik6UnvIbBg+(A&*#xX5%52+NZGA+U8O_eZY*D85W<9lwGTSAn(sdYWZge^TY7ebu~U?pci1)Sx+t@?W86{}5qo-@ zP3PjG%(jsoG*Fc3fvmP+qRd>!hUGF@mX4j%W1`GvXKi~T%Cv^;Waa!u1QN_nR)8#f z%X->LmQ7?cYoaJK`CW9BDAV_`5pq?QWn$NbBt@m3+V--xeJ#tP*mQ0v%Jk|C$Usr1 zZDO@8lx0`gSvV-l^mFWX<$)-(HDaeeOEC$Ed5|5nf-L)*-M_UHW%?0zvVM?dx!B3t zD9UV)*p#^_$~69oQY$X?)OLa$w16z@%ed7MWqMV1PW#HT^$hP^QD&>c+O|iO>8Dt5 zxFgE6oa`c=p@alPtIQ5sT9lbw)=HG=-(;niw$Y-@R)+yuE6VhpY#^N#Wm;->J$)t0 z^pT8Po{|y}TS0dDs4mL1`wVYSQDzQh2c03x^fv6EyF{6JopJk3mhEBjEp;iWry7@) z6lMBb)&;95vmIs^qv4`V|BFrM6|!s_tL=m=yT{JLQ&DEy!fN}>M*^ZBW_T-$GV?nY z9J+`yeF8fRlSP@W2%9q7WZ5;=(^y$HmvteTuhdgpA2zeT5oLNyc4=!Y%Ctia?_g18 zd%_0NVo_!WF>Z%NnHIw?Mvp|9KICcKo3rqn#%z8fkm)n1%wLr06`oO9dr_v<@lD`( zT^Am7yeKmrw*;=T&7#cq8>{V-DAR5*S;Ep{PcNLO2Q4JZ^c}2i^+cI=I+E7*ohZ{= zv9mB=maXxl-1dnw+iKRfd!kIUv2&WKj08jrVL-}?GJRN9+P2oR>=u)ak!9Ig+t$l6 zpDgsC=R}!ShT(l9%JfpKr}@f?Kzvx+YKk(wS`*r~-l9yK%z(@iW#((v1yhvSj2&n^h%)^kJ7{xJW)5U{M~X5nHLGovEE~(t!YNrcli__X%Jf3) zpkI_1fiz`jp{gj;53qxFlVzpZ=$$IdlC!q$5M}0khWA%drk7&eQdE$7sx>-CPkk{_ zX3kHF;T3R#DAQgsS)?rM--On7MU>fAe;49NLe{E{HPiI6LS&QD)wFs@YucxV|(*Agh?HwkR_%Mbg?rM42u1Gb)=S z%FNa5pu0tx?IJtqZBb^H@Jm2?nm$14sWyt$<|oT;vw+`Hl-X{w_!cV4wDU~1MwZoK z5$TL9v$BZvQk3ag*mWUyB?*XaI_v4TqRh*NUl2(;^s&8Un!W0o@ zW(1Qp5@p&`_GQ8#QD)v@wJj25`UWODB+4|C$sWqGpO`FbH3^7$lgTQ|veir$EXx+M zFXw-hW!qV8n?#vyBa_95GHnI>+9biZQcv|rR$D<)rfp`jx}wasi^=-QvMo$DPn4Pb zWbKt@{M6qSWi~rIXvXRykljpHMwFRL8QvgKrtwq%y(qISVk2aoDAN}++0UX(+rzr> zT9z$gwdJiL0$I*_T0@kXiOy(=fOn%T7qD-5@Y8xfW z^vO)NT9nx?uuyYalxaL#z7S<5f2!ZRp#;RXlC`axDAV`{f$pNrmWe%?Fin(c_t~%i zJ4Klp!(zyFQD!^9hGoh|Qctz-+2y0SEK9_?5GcybqwMGDVY2KzJEzNJSv_{mIws0& zmso92M4849nzOM4#EfCJ1&A{JGLv-@WwwG0??h1+6w}xF^`=^16D7*Db&X;54J^aC zD$8tDZO%nHAWPCj>Zz8mC6(z-lEx+eFXFP~r{3Q`ovYd!rqeX7R@<)Lje584-luC^ z^6CCyEljQIcXG5k6010@4SIyc`PPH45b@#9@aS{o4RZJzwr$Xi#Nb#}1?G2#LvG&*uqbnVf$OZD#UyY>z4-Zr>taHkF( zL;BQhDv|8@rmyp>U3G%`i85`gI(={+BcL@DI6gL@WD@Y(V5PwE83D9%;NF2w02DYr zf`C2-+yXWV99LYS%?7Z;G@9t@eA}Z;D^D+fUC07w8+CFY4hFRhxABvNv;LVW&?$X@XXM`s#s? zo<4k#1%2%FjRhM$eYgq`ZEmOU5E$uv!F7RX^mO_jHj_@D{)?I~aDuWnmtGPIOVA3nmQ4l13#>R_d(51&^; zD?fcU@X^zUk3*r4oxW{gW2aB8Ohud9>3ac2I$v3jGm)f#0qdLp^GwM23Q-t)jTe*lM}B=HG4C6h=NXyYV8N#f&jXyqhZf{&8Kr}5Co zNX`HoC5fxC(dI_-JQyiST%V0bPbA;Akx1GOsxb-oA^F=%GOe<@O95F>TPXtsJ-xJ_;P4!bBefJ^*ZVgyWiiw7CJ_ z21W`TSNWsS6Y$tz33&R~YJ>yQWbGxHwn*JDfGnWBG{W(zQ6-ar4+JY6;rNIsS~>6t z@KNCS1S9Wv0-(V0sc7^u;2punfUCqFXmbO;0*q|-sZ<|m z^aT7wXAyXR1ssq*6=hluHD5qhyo)r#@hNU4lYn;uD+P{^Y@?L}4+kFwj!%T6j{(03 zHU?bfK0%us@a$cs5sukV(C7)c-cfPN)9~nHz-xew0>|_)XmbNT4vch!W5O6TdIBENO#=QfNC5|=_uw#; zBtDj}WD?1I-JL`jN%agqS~=bPXmbM|2}TMWQ!b&=6Ywj&B;a~u1ssqj?k&l* znF=__{Ci6y9G9XfnFRbhu+kBZ>rT+hfv*D}1&+&F(8qw^1RDj8IjGR)2E0HYXBR1O z%u0nuPr&Q+kx172N&yF?W8pA#=;HbsC6h?n!AeQuVj8q^lFz|MN#a@^^f8jfL!?-N z`M1#KMzR+eDM`%8g+@;#XNE{5)8|zr;iFBoDAU5!&;{8`XblC9Ym1aj0$!r86f1Bc z5n4I$PT-@!ah($S81O}4qeB-{l%dTH_^)7Oz*W*RGp~GNQ;RwExr0| z2(m8yq*#ILs+3Fuz8I`@gySMAv~u7v;G@8CjTZVC@J!!HBOJ51q0J3=Loia{nAZ)B zo`4VhP68fVb{hPU3P=}N3LH~KqRkEXLoia{m^>1Vo`7c^A^|risSyrHD~d90r~(eM0YfCV5+xdCqtMhYDBYogH;@G(Or;6W+W2nVEl z;4m~+;EGozlSsY-DZ;Nn&nMGK?Kvyw@`uYi>T z$7RiE<-om0NFy9qO{0$iuMIW|9P`nl%?7a#a7@{YHaFmJ!N`ECB)(|$ z1U&yJ3HZdr3OFDQ8YPlcOV^c5A~_SRlq9ZGM=K|J0(_JtE`vuOBbhwZ*-}ap(-ou5 zjpVmrq$DwcF&aIQ>=7!F+<-$Do@kve%Cw$E;AdZuor2cTSb@v-l}rMjVziS01&(X< z(aM4A;G@7X1pxXO@Bv_>z%ipU+T4I|10w~FIiAtz33%*i33xHPx{(8<$-b9lT9^V3 zvViZU5soPfluQCX5UdQiTBMFv4m<*U6gZ|oKpz8s2W$+uN_vepH{gZGIJ-!JV;XEU zdIDa5j70L}W(6FO_7`Q^5(OM&o1isxgk!n}C6j>P1uF%Pxf#&Pf#(_P1VDjf>Id{O z;LX6sfUCUVXmbNT2aFUrW(r56C*ZrsO2D;11sssxmSvk2aFC@RC)Sqw8;Cq0^OI#c zN>W)%S$47!EG&ZBLS@<1d?C(dN+2`GiL+1TQcyB!Fgyn<9SoQ=1Fd{86#YRQ3~Jpn z`q*IT2sSzxFs(b<+y=u6Fw((*iQduZX)v7lK{|cue^P@1PWMw$rX5y;0c6F0lz?Lj z5has=cLFN~j`>2+%7KT2kIp_!M}j^E{36&WaLjy1fRzHrTq$Vfz%ztNBOFt)ppOBs0X7O8Uk-pa zH{j#I$bhTY1)$Lr@Q5%8xc3wV9FSfRW!h5(9Aud$NFy9m$0(Tuye3#FaLf~fRt|gw z_~;17G&JaAz;}R+0ax!&K${!zS74;T@r?>-^aMQ5L=pHH1^lTKX^V*>NtLig$t04~ zz)DGC@*A{rl1ITuNn&mt^f8i2COKP5N#eUB(B?+63K%I#e47LsJ(27>Ng{djwE7qY z7uhMIOv|G#!5}*ht)a03a{(!t1U%_vCjkl^6aS!<1Frx+23+M8LLUR(4{Q`TzFq@u zZonhKNP*)EH_+$__?5{L@Q3FVa6p=PiX_uYE8rmWpCXNL%!8z467cW9N`Yh2BeZhh z>%d2WV@@UXG2l1BMuFoSNYLg6yuegv7b$RjCkYxo0k1PvBANb@0uD&~iZZQ^0uHhb z&>A|zF$a{ANx*M`l>*0vPiW=9znJC(K!IaEDfBVmfncM+@g*&2a|1pTj1)M&wgruz zfJaZ0fP3Fkzyaw?I1D9;iLI1OB3WX(6e}=`6?F-aEs7|BIoqa^VKHE44q z`70PHNql7u8a>*&40xuQ&X!W(_zoYmxdCqoMhYC?>Vrm4zz5EhfrmI>K&Fr`lx49E201?) z0{P3(8al!;p_!6Nz`bTkBOJ4rp_K!#2|fl~B}YRa13n6D6ga--2yJe__kxiE#}^-= z(G&2yvn1f&S^ENTK$>y3B-6ef2A|nMR(rNI!ZDefl1acr!AeIsW^O|(2fh=047f@R zhdu`UFR)SI_$DZ{xdHc?uHFrWMo++-&yh&>%&mX}(iw0VI&?8Zosvl;Pk@z? zRO#r@%1I`j>+BgNiP`SZ$4L5vjgrK-V4=;8 z8I?=|o+sQ%fC9%9jA-S+E#RZTF~cMJ81TtpqrmZXb7*q|ej1DvIKF@mjh=wN2$z8C zKdO)dNJ}jghptLBsbmt#u3%*(Rl-QLa*~U|M@eGZO7t<3m%&C!;;Z)1=0-BtB4-yV zNqqSp8aEXxvU zgky?PC6j>H0V@TL`9#smfro;R0axit(Z_)A0viLaUf75>H{frbjl zaIJ;{u8_*I!;Rr*ERcP_R059aRh3Kv9t~Cs9CN9nl>>hYJ_;ODwW5y!FS^XxQVJa3 zX^A#B;61=df#X{)(dY^I^kow8Vi{C$2BfFpFf>+R&R8XrNTyis>>4GB31ZR8N$TLE zBr*Ri`WVRpV521QeV%A@Be@NXjHG(QCmKDGj9o5~G@mGvkP0%{3Q49-REZ)%7O+AZ zx|lCl$t2(d!AgN+a$K}>;1S@Xz%lnO`WWy#V57kCm8WQP173Kgvx^isz62GGo`Bb1 zDU!^hfCJM0vP`Q4u>xe9pfz-aW3FH&lYrj^D+P{;fzir==UL?hK!Ic4Ve~QJ&A>*1 z<6B|T<_3HY7%6akPb?Ze0pGn!0&f1Uf-@k!Ey}d#E#PYnkmXw~j&PMHS;-{e&B026 zV^U3Y-YtwaH{e6S$VRw& z+b|kE0bjCK0zNT^0uD&8!C@FlmH1l8B$8RzIf*cmD$6xmImtTUqeB;yXrqsj{2pwK zq467Vr# zrNA-6H(ELHXz)?sm_QtT4ES@fG2rUe(`a)8UV4KREAVC1X!HcU)dq=Vy^`u{4L~|t zlxcY~!k7FYvqNj>2*-ryN+tn+0agZFWj9AF2VN{fiWQhV9eoUVC$LfA_;zlzxdC4Z zMmoZ6>V4g4^aT85galkGrGNv{XR@q>0uHhg8^sZ>lD#XL1iUj?DR9i}j#dtQA^7MB z$HejIW58p;#(=9An4`@Nc#cid2*+2NqtO#^W0M3tyo3S{NIQx$EkFSW*BnvXsPye8NvaD2x*+T4Ku07f>#)mz`u=n447%@XjQ zUn}5%^gbMhkyP3Hl}sX;e~Xg{C5fr}(aK3S2Ok}}_$C1KF_P23MoHrP?a}5&@@Fto zlK94ZGu&?#4$>s4b+S-uk*!{n9+qTIVOG=|BopGQe#f(EOu!dvfEV`__Xvu_{hDwSIX zi*oO#&{Zb4t`_CyvyxCd&Ce)Yb5HvfNr)l$*H#q{`o|8q-0P zYj0tQF}Y>BC^y5Pt4wa)C(8AaC4fwJ=NnE{W1fg|Gs|P=J6f6Cl6RX#CMZ;Kr?p!f zi1P5X>a0RSXVsYDqTEa^%Pkv3dF=PH+c`Aw}y*y?|tet%|9PURGp?1qTE~qjbU=jTTvdg06;Ri zwa8B*ncgtOR2ogynC7C~`><*ZWZeY0BR2V;~ojBJ*67 zYnk94n8_^#_DW=IujJaTO+>l&5N^m-o*>njP+9($EVpbH<=$P?wP`xxZoMwbZ4s(= z$f2VelX0KaRs9&;aWJ{X5ar%svfSEJl-tItk1AvQ;y$ye#w-x!`gC=3Mdg;`qTF^B zE|g4eeIv_fs(XU(3CO^&_e*4K3l(=Nw=@&wrcJKhI!=^({{eE9zC@APCdy-L$#Tmr zQLar>_hQ+|4T?4E0jaA&z2W{{rS?#bsVd6N6>4hxXK_8NmcF9gdmIb`CbupT<>pw$ zeLKAeJ|oJtQ_xi=wMrU$LvT3nRd7Hx#5yq-E=U#rLjiSnT2n?$)~f-JAx zP?TGDiSpP-y+ICH6;xyH%kty0+>+~%M8>wTk6634rYQHm2DPh<1FA6tMY(w&YG-oG zN>Lu31h_M~^@1pmT?MtP74NDs$qtKMJp|mD+~OiNVQU0H755FiH!Hp>a6}m+HR>Q%7b!4W0>4J zOq7Su2Dw^AtQxaUmS3Li1j*!Bk0F-&fqCCbeh6=#+>U-GURb5NAWjt4SKZh0oky(_6PLuw;=Y(RCc|;5t3fAA zinUvHQLepHBXSO@J+Ox;w>^ch#N?LwqFlcRlaI-*$3(ez2WX61JEzFJ7Ui~KiVQ5Z zQ>W>x6B3#5K633=t0*_aRD6f!N~$qqMS1LY6=$g2vQ?CuujSgUH$}PjQq87W^fYBT zDRoslre+hBTdIiipx$!r)(}yyuU8j&Shl3dEEeUlOJPJZx#hGd_kN?=PHVR&I3;z} zwjAVYNsnqwF;N~~KwUlHDH}CrT8VP4o|@WJZVeOVv6t24OLX2fa0LD&%DwNat2UKe z?uqi)`Y^|HM3Jc>%57^@SFbx?N3X~X5aqEY6i6z!t`Ozn-Bn{? zHHB)-d09S0mRpjZk-8f6M3!59WO*Lws#uyo5 z--NTOp2Am+c_hkhlhth6pCy6z_jgMc@3Rsa+dk+jlUwVGay_X6Nox-rD#~N?szE^I zmbIchD3>g^UKZtACXlO#ycL;LKTBN=>ZQ0Jqh!j8a{Z~g98kHnlPK4IfLmtu0JLh% zOi^wQgT^qq<$x#;9|7E%-1=0MdxwHtJshkWlmDDVCVZ(Zw=@#vnraNI-8xc~+xDpl zJdxaC2X2(*XCUY?x#bs8Zsu1PN?N-${duXYL21?0zVM7hV1H2_>jkwlxuv@(4?il) zt@A{==A{|~&tW%{*{{y)t^F^tvW>(c0Dz{b^<@!4{BG1z? z(?^th=L9lLZdoMCZOec=lUq-T^4JoptE@3vjMP=Vnu_mKZYe6twQTCFQn|IIDEA(y z?q>={k})%0l$(Xsh@^7MPEoF>R}q-Xt(xn$?ov`LCTY~VOK_jpF-f%qnx;7(uS!;_ zZ|~m0-9s8C*EG$s*SlD;;tMbRElBM6N3vIky%{u3OJ228*Wfy>y9LKR8s?C;Dpsuc zHzBRNbi9;QOQ>mDMorUF)auc;b=O9nx&_x#O{t|H{-H@)P1B~j=+ZO@ZXet`xO>}R zS^I(8%blxJ|9tRlmt7&R!qUGh)CX<1a^e5} Date: Mon, 9 May 2016 18:49:29 -0700 Subject: [PATCH 092/106] don't show help or login on first run --- interface/src/Application.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5b0d5c65ce..14df366def 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -702,9 +702,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : // The value will be 0 if the user blew away settings this session, which is both a feature and a bug. UserActivityLogger::getInstance().launch(applicationVersion(), _previousSessionCrashed, sessionRunTime.get()); - // once the event loop has started, check and signal for an access token - QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection); - auto addressManager = DependencyManager::get(); // use our MyAvatar position and quat for address manager path @@ -1327,8 +1324,6 @@ void Application::initializeGL() { // update before the first render update(0); - - InfoView::show(INFO_HELP_PATH, true); } FrameTimingsScriptingInterface _frameTimingsScriptingInterface; From db9a4d6b8f99adc47505efe2756a0569a2b334ef Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 10 May 2016 07:49:11 -0700 Subject: [PATCH 093/106] cleanup for code review --- assignment-client/src/octree/OctreeQueryNode.cpp | 5 +---- libraries/octree/src/Octree.h | 2 -- libraries/octree/src/OctreeRenderer.cpp | 3 +-- libraries/shared/src/RenderArgs.h | 1 - libraries/shared/src/ViewFrustum.h | 2 -- 5 files changed, 2 insertions(+), 11 deletions(-) diff --git a/assignment-client/src/octree/OctreeQueryNode.cpp b/assignment-client/src/octree/OctreeQueryNode.cpp index 364cbf33c1..fa844dc0f8 100644 --- a/assignment-client/src/octree/OctreeQueryNode.cpp +++ b/assignment-client/src/octree/OctreeQueryNode.cpp @@ -271,10 +271,7 @@ void OctreeQueryNode::dumpOutOfView() { int outOfView = 0; OctreeElementBag tempBag; ViewFrustum viewCopy; - { - QMutexLocker viewLocker(&_viewMutex); - viewCopy = _currentViewFrustum; - } + copyCurrentViewFrustum(viewCopy); while (OctreeElementPointer elementToCheck = elementBag.extract()) { if (elementToCheck->isInView(viewCopy)) { tempBag.insert(elementToCheck); diff --git a/libraries/octree/src/Octree.h b/libraries/octree/src/Octree.h index 456b086341..2f0ce3b807 100644 --- a/libraries/octree/src/Octree.h +++ b/libraries/octree/src/Octree.h @@ -109,8 +109,6 @@ public: OctreeSceneStats* stats = IGNORE_SCENE_STATS, JurisdictionMap* jurisdictionMap = IGNORE_JURISDICTION_MAP, OctreeElementExtraEncodeData* extraEncodeData = NULL) : - viewFrustum(), - lastViewFrustum(), lastViewFrustumSent(lastViewFrustumSent), maxEncodeLevel(maxEncodeLevel), maxLevelReached(0), diff --git a/libraries/octree/src/OctreeRenderer.cpp b/libraries/octree/src/OctreeRenderer.cpp index c001bdfc35..a81f946680 100644 --- a/libraries/octree/src/OctreeRenderer.cpp +++ b/libraries/octree/src/OctreeRenderer.cpp @@ -22,8 +22,7 @@ OctreeRenderer::OctreeRenderer() : _tree(NULL), - _managedTree(false), - _viewFrustum() + _managedTree(false) { } diff --git a/libraries/shared/src/RenderArgs.h b/libraries/shared/src/RenderArgs.h index 8c66a6a19b..e8f0002fed 100644 --- a/libraries/shared/src/RenderArgs.h +++ b/libraries/shared/src/RenderArgs.h @@ -88,7 +88,6 @@ public: gpu::Batch* batch = nullptr) : _context(context), _renderer(renderer), - _viewFrustums(), _sizeScale(sizeScale), _boundaryLevelAdjust(boundaryLevelAdjust), _renderMode(renderMode), diff --git a/libraries/shared/src/ViewFrustum.h b/libraries/shared/src/ViewFrustum.h index 6d0bdb0fda..48d45ab455 100644 --- a/libraries/shared/src/ViewFrustum.h +++ b/libraries/shared/src/ViewFrustum.h @@ -17,8 +17,6 @@ #include #include -//#include - #include "AABox.h" #include "AACube.h" #include "CubeProjectedPolygon.h" From 2b3f6506b7b7f7f3ace66440ae108d20c9cf0e77 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 10 May 2016 09:38:39 -0700 Subject: [PATCH 094/106] more whitespace --- .../controllers/handControllerPointer.js | 90 ++++++++++++++----- 1 file changed, 68 insertions(+), 22 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index b5ffaf148d..e18488cfa3 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -34,7 +34,9 @@ // Utility to make it easier to setup and disconnect cleanly. function setupHandler(event, handler) { event.connect(handler); - Script.scriptEnding.connect(function () { event.disconnect(handler); }); + Script.scriptEnding.connect(function () { + event.disconnect(handler); + }); } // If some capability is not available until expiration milliseconds after the last update. function TimeLock(expiration) { @@ -54,7 +56,9 @@ function LatchedToggle(onFunction, offFunction, state) { return state; }; this.setState = function (on) { - if (state === on) { return; } + if (state === on) { + return; + } state = on; if (on) { onFunction(); @@ -77,9 +81,13 @@ function updateFieldOfView() { var weMovedReticle = false; function ignoreMouseActivity() { // If we're paused, or if change in cursor position is from this script, not the hardware mouse. - if (!Reticle.allowMouseCapture) { return true; } + if (!Reticle.allowMouseCapture) { + return true; + } // Only we know if we moved it, which is why this script has to replace depthReticle.js - if (!weMovedReticle) { return false; } + if (!weMovedReticle) { + return false; + } weMovedReticle = false; return true; } @@ -116,7 +124,9 @@ function calculateRayUICollisionPoint(position, direction) { var hudNormal = Quat.getFront(Camera.getOrientation()); var hudPoint = Vec3.sum(Camera.getPosition(), hudNormal); // must also scale if PLANAR_PERPENDICULAR_HUD_DISTANCE!=1 var denominator = Vec3.dot(hudNormal, direction); - if (denominator === 0) { return null; } // parallel to plane + if (denominator === 0) { + return null; + } // parallel to plane var numerator = Vec3.dot(hudNormal, Vec3.subtract(hudPoint, position)); var scale = numerator / denominator; return Vec3.sum(position, Vec3.multiply(scale, direction)); @@ -167,16 +177,25 @@ function isShakingMouse() { // True if the person is waving the mouse around try var NON_LINEAR_DIVISOR = 2; var MINIMUM_SEEK_DISTANCE = 0.01; function updateSeeking() { - if (!Reticle.visible || isShakingMouse()) { isSeeking = true; } // e.g., if we're about to turn it on with first movement. - if (!isSeeking) { return; } + if (!Reticle.visible || isShakingMouse()) { + isSeeking = true; + } // e.g., if we're about to turn it on with first movement. + if (!isSeeking) { + return; + } averageMouseVelocity = lastIntegration = 0; var lookAt2D = HMD.getHUDLookAtPosition2D(); - if (!lookAt2D) { print('Cannot seek without lookAt position'); return; } // E.g., if parallel to location in HUD + if (!lookAt2D) { + print('Cannot seek without lookAt position'); + return; + } // E.g., if parallel to location in HUD var copy = Reticle.position; function updateDimension(axis) { var distanceBetween = lookAt2D[axis] - Reticle.position[axis]; var move = distanceBetween / NON_LINEAR_DIVISOR; - if (Math.abs(move) < MINIMUM_SEEK_DISTANCE) { return false; } + if (Math.abs(move) < MINIMUM_SEEK_DISTANCE) { + return false; + } copy[axis] += move; return true; } @@ -191,10 +210,14 @@ function updateSeeking() { var mouseCursorActivity = new TimeLock(5000); var APPARENT_MAXIMUM_DEPTH = 100.0; // this is a depth at which things all seem sufficiently distant function updateMouseActivity(isClick) { - if (ignoreMouseActivity()) { return; } + if (ignoreMouseActivity()) { + return; + } var now = Date.now(); mouseCursorActivity.update(now); - if (isClick) { return; } // Bug: mouse clicks should keep going. Just not hand controller clicks + if (isClick) { + return; + } // Bug: mouse clicks should keep going. Just not hand controller clicks handControllerLockOut.update(now); Reticle.visible = true; } @@ -205,7 +228,9 @@ function expireMouseCursor(now) { } function onMouseMove() { // Display cursor at correct depth (as in depthReticle.js), and updateMouseActivity. - if (ignoreMouseActivity()) { return; } + if (ignoreMouseActivity()) { + return; + } if (HMD.active) { // set depth updateSeeking(); @@ -243,7 +268,9 @@ var clickMappings = {}, clickMapping, clickMapToggle; var hardware; // undefined function checkHardware() { var newHardware = Controller.Hardware.Hydra ? 'Hydra' : (Controller.Hardware.Vive ? 'Vive' : null); // not undefined - if (hardware === newHardware) { return; } + if (hardware === newHardware) { + return; + } print('Setting mapping for new controller hardware:', newHardware); if (clickMapToggle) { clickMapToggle.setState(false); @@ -258,7 +285,9 @@ function checkHardware() { clickMapping.from(Controller.Hardware[hardware][button]).peek().to(Controller.Actions[action]); } function makeHandToggle(button, hand, optionalWhen) { - var whenThunk = optionalWhen || function () { return true; }; + var whenThunk = optionalWhen || function () { + return true; + }; function maybeToggle() { if (activeHand !== Controller.Standard[hand]) { toggleHand(); @@ -319,13 +348,17 @@ var fakeProjectionBall = Overlays.addOverlay("sphere", { drawInFront: true // Even when burried inside of something, show it. }); var overlays = [fakeProjectionBall]; // If we want to try showing multiple balls and lasers. -Script.scriptEnding.connect(function () { overlays.forEach(Overlays.deleteOverlay); }); +Script.scriptEnding.connect(function () { + overlays.forEach(Overlays.deleteOverlay); +}); var visualizationIsShowing = false; // Not whether it desired, but simply whether it is. Just an optimziation. function turnOffVisualization(optionalEnableClicks) { // because we're showing cursor on HUD if (!optionalEnableClicks) { expireMouseCursor(); } - if (!visualizationIsShowing) { return; } + if (!visualizationIsShowing) { + return; + } visualizationIsShowing = false; overlays.forEach(function (overlay) { Overlays.editOverlay(overlay, {visible: false}); @@ -366,18 +399,27 @@ function updateVisualization(controllerPosition, controllerDirection, hudPositio // function update() { var now = Date.now(); - if (!handControllerLockOut.expired(now)) { return turnOffVisualization(); } // Let them use mouse it in peace. - if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); } // What to do? menus can be behind hand! + if (!handControllerLockOut.expired(now)) { + return turnOffVisualization(); + } // Let them use mouse it in peace. + if (!Menu.isOptionChecked("First Person")) { + return turnOffVisualization(); + } // What to do? menus can be behind hand! var controllerPose = Controller.getPoseValue(activeHand); // Vive is effectively invalid when not in HMD - if (!controllerPose.valid || ((hardware === 'Vive') && !HMD.active)) { return turnOffVisualization(); } // Controller is cradled. + if (!controllerPose.valid || ((hardware === 'Vive') && !HMD.active)) { + return turnOffVisualization(); + } // Controller is cradled. var controllerPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, controllerPose.translation), MyAvatar.position); // This gets point direction right, but if you want general quaternion it would be more complicated: var controllerDirection = Quat.getUp(Quat.multiply(MyAvatar.orientation, controllerPose.rotation)); var hudPoint3d = calculateRayUICollisionPoint(controllerPosition, controllerDirection); - if (!hudPoint3d) { print('Controller is parallel to HUD'); return turnOffVisualization(); } + if (!hudPoint3d) { + print('Controller is parallel to HUD'); + return turnOffVisualization(); + } var hudPoint2d = overlayFromWorldPoint(hudPoint3d); // We don't know yet if we'll want to make the cursor visble, but we need to move it to see if @@ -397,7 +439,9 @@ function update() { var UPDATE_INTERVAL = 20; // milliseconds. Script.update is too frequent. var updater = Script.setInterval(update, UPDATE_INTERVAL); -Script.scriptEnding.connect(function () { Script.clearInterval(updater); }); +Script.scriptEnding.connect(function () { + Script.clearInterval(updater); +}); // Check periodically for changes to setup. var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds @@ -407,4 +451,6 @@ function checkSettings() { } checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); -Script.scriptEnding.connect(function () { Script.clearInterval(settingsChecker); }); +Script.scriptEnding.connect(function () { + Script.clearInterval(settingsChecker); +}); From 64dc31cd61fb7606acab5f3d5caf18c2c6170f23 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 10 May 2016 09:43:00 -0700 Subject: [PATCH 095/106] switch statement whitespace --- .../controllers/handControllerPointer.js | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index e18488cfa3..6e9fe17077 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -308,24 +308,24 @@ function checkHardware() { }; } switch (hardware) { - case 'Hydra': - makeHandToggle('R3', 'RightHand'); - makeHandToggle('L3', 'LeftHand'); + case 'Hydra': + makeHandToggle('R3', 'RightHand'); + makeHandToggle('L3', 'LeftHand'); - mapToAction('R3', 'ReticleClick'); - mapToAction('L3', 'ReticleClick'); - mapToAction('R4', 'ContextMenu'); - mapToAction('L4', 'ContextMenu'); - break; - case 'Vive': - // When touchpad click is NOT treated as movement, treat as left click - makeHandToggle('RS', 'RightHand', makeViveWhen('RS', 'RX', 'RY')); - makeHandToggle('LS', 'LeftHand', makeViveWhen('LS', 'LX', 'LY')); - clickMapping.from(Controller.Hardware.Vive.RS).when(makeViveWhen('RS', 'RX', 'RY')).to(Controller.Actions.ReticleClick); - clickMapping.from(Controller.Hardware.Vive.LS).when(makeViveWhen('LS', 'LX', 'LY')).to(Controller.Actions.ReticleClick); - mapToAction('RightApplicationMenu', 'ContextMenu'); - mapToAction('LeftApplicationMenu', 'ContextMenu'); - break; + mapToAction('R3', 'ReticleClick'); + mapToAction('L3', 'ReticleClick'); + mapToAction('R4', 'ContextMenu'); + mapToAction('L4', 'ContextMenu'); + break; + case 'Vive': + // When touchpad click is NOT treated as movement, treat as left click + makeHandToggle('RS', 'RightHand', makeViveWhen('RS', 'RX', 'RY')); + makeHandToggle('LS', 'LeftHand', makeViveWhen('LS', 'LX', 'LY')); + clickMapping.from(Controller.Hardware.Vive.RS).when(makeViveWhen('RS', 'RX', 'RY')).to(Controller.Actions.ReticleClick); + clickMapping.from(Controller.Hardware.Vive.LS).when(makeViveWhen('LS', 'LX', 'LY')).to(Controller.Actions.ReticleClick); + mapToAction('RightApplicationMenu', 'ContextMenu'); + mapToAction('LeftApplicationMenu', 'ContextMenu'); + break; } clickMappings[hardware] = clickMapping; } From 22f4beab1acfdc90d1ac23f90352c6389705cbd1 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 10:45:57 -0700 Subject: [PATCH 096/106] on first run, go to home or entry --- interface/src/Application.cpp | 9 ++++++- libraries/networking/src/AddressManager.cpp | 30 +++++++++++++++++++++ libraries/networking/src/AddressManager.h | 4 +++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 50e09fb77c..ef5a7bef2f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2950,7 +2950,14 @@ void Application::init() { addressLookupString = arguments().value(urlIndex + 1); } - DependencyManager::get()->loadSettings(addressLookupString); + Setting::Handle firstRun { "firstRun", true }; + if (addressLookupString.isEmpty() && firstRun.get()) { + qDebug() << "First run and no URL passed... attempting to Go Home..."; + DependencyManager::get()->goHomeOrElsewhere(); + } else { + qDebug() << "Not first run... going to" << qPrintable(addressLookupString.isEmpty() ? QString("previous location") : addressLookupString); + DependencyManager::get()->loadSettings(addressLookupString); + } qCDebug(interfaceapp) << "Loaded settings"; diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index 03b33eae38..f6f1416d2f 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -629,3 +629,33 @@ void AddressManager::addCurrentAddressToHistory(LookupTrigger trigger) { } } } + +void AddressManager::goHomeOrElsewhere(QString elsewhere, LookupTrigger trigger) { + QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); + QNetworkRequest sandboxStatus(QString("http://localhost:60332/status")); + sandboxStatus.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); + QNetworkReply* reply = networkAccessManager.get(sandboxStatus); + + connect(reply, &QNetworkReply::finished, this, [this, elsewhere, trigger]() { + QNetworkReply* sender = qobject_cast(QObject::sender()); + auto statusData = sender->readAll(); + auto statusJson = QJsonDocument::fromJson(statusData); + if (!statusJson.isEmpty()) { + auto statusObject = statusJson.object(); + auto serversValue = statusObject.value("servers"); + if (!serversValue.isUndefined() && serversValue.isObject()) { + auto serversObject = serversValue.toObject(); + auto serversCount = serversObject.size(); + const int MINIMUM_EXPECTED_SERVER_COUNT = 6; + if (serversCount >= MINIMUM_EXPECTED_SERVER_COUNT) { + qDebug() << "Home sandbox is running, going to " << SANDBOX_HIFI_ADDRESS; + handleUrl(SANDBOX_HIFI_ADDRESS, trigger); + return; + } + } + } + qDebug() << "Home sandbox was not running, going to " << elsewhere << "instead."; + handleUrl(elsewhere, trigger); + }); +} + diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h index e0b54e4072..1b6b04a055 100644 --- a/libraries/networking/src/AddressManager.h +++ b/libraries/networking/src/AddressManager.h @@ -24,6 +24,7 @@ const QString HIFI_URL_SCHEME = "hifi"; const QString DEFAULT_HIFI_ADDRESS = "hifi://entry"; +const QString SANDBOX_HIFI_ADDRESS = "hifi://localhost"; const QString INDEX_PATH = "/"; const QString GET_PLACE = "/api/v1/places/%1"; @@ -65,6 +66,9 @@ public: const QStack& getBackStack() const { return _backStack; } const QStack& getForwardStack() const { return _forwardStack; } + void goHomeOrElsewhere(QString elsewhere = DEFAULT_HIFI_ADDRESS, + LookupTrigger trigger = LookupTrigger::StartupFromSettings); + public slots: void handleLookupString(const QString& lookupString); From 33c5cb519a094f82b37ee585d5a1bf8c70fd0ea0 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 11:32:29 -0700 Subject: [PATCH 097/106] cleanup firstRun with a common setting --- interface/src/Application.cpp | 7 ++++++- libraries/script-engine/src/ScriptEngines.cpp | 4 ++-- libraries/script-engine/src/ScriptEngines.h | 2 -- libraries/shared/src/SettingHandle.cpp | 1 + libraries/shared/src/SettingHandle.h | 2 ++ libraries/shared/src/SettingInterface.h | 1 + 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index ef5a7bef2f..8a950fabd2 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1091,6 +1091,11 @@ void Application::checkChangeCursor() { _cursorNeedsChanging = false; } + + + // After all of the constructor is completed, then set firstRun to false. + Setting::Handle firstRun{ Settings::firstRun, true }; + firstRun.set(false); } void Application::showCursor(const QCursor& cursor) { @@ -2950,7 +2955,7 @@ void Application::init() { addressLookupString = arguments().value(urlIndex + 1); } - Setting::Handle firstRun { "firstRun", true }; + Setting::Handle firstRun { Settings::firstRun, true }; if (addressLookupString.isEmpty() && firstRun.get()) { qDebug() << "First run and no URL passed... attempting to Go Home..."; DependencyManager::get()->goHomeOrElsewhere(); diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index c6070e0598..370e310c8d 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -270,12 +270,12 @@ void ScriptEngines::loadOneScript(const QString& scriptFilename) { void ScriptEngines::loadScripts() { // check first run... - if (_firstRun.get()) { + Setting::Handle firstRun { Settings::firstRun, true }; + if (firstRun.get()) { qCDebug(scriptengine) << "This is a first run..."; // clear the scripts, and set out script to our default scripts clearScripts(); loadDefaultScripts(); - _firstRun.set(false); return; } diff --git a/libraries/script-engine/src/ScriptEngines.h b/libraries/script-engine/src/ScriptEngines.h index 0963b21600..6522aa9bb3 100644 --- a/libraries/script-engine/src/ScriptEngines.h +++ b/libraries/script-engine/src/ScriptEngines.h @@ -87,8 +87,6 @@ protected: void onScriptEngineError(const QString& scriptFilename); void launchScriptEngine(ScriptEngine* engine); - - Setting::Handle _firstRun { "firstRun", true }; QReadWriteLock _scriptEnginesHashLock; QHash _scriptEnginesHash; QSet _allKnownScriptEngines; diff --git a/libraries/shared/src/SettingHandle.cpp b/libraries/shared/src/SettingHandle.cpp index 951d004318..d2e84d8b75 100644 --- a/libraries/shared/src/SettingHandle.cpp +++ b/libraries/shared/src/SettingHandle.cpp @@ -13,6 +13,7 @@ #include +const QString Settings::firstRun { "firstRun" }; void Settings::getFloatValueIfValid(const QString& name, float& floatValue) { const QVariant badDefaultValue = NAN; diff --git a/libraries/shared/src/SettingHandle.h b/libraries/shared/src/SettingHandle.h index c803efaa71..bef2daf84c 100644 --- a/libraries/shared/src/SettingHandle.h +++ b/libraries/shared/src/SettingHandle.h @@ -26,6 +26,8 @@ // TODO: remove class Settings : public QSettings { public: + static const QString firstRun; + void getFloatValueIfValid(const QString& name, float& floatValue); void getBoolValue(const QString& name, bool& boolValue); diff --git a/libraries/shared/src/SettingInterface.h b/libraries/shared/src/SettingInterface.h index 3aad048dbe..2b814ca85e 100644 --- a/libraries/shared/src/SettingInterface.h +++ b/libraries/shared/src/SettingInterface.h @@ -16,6 +16,7 @@ #include namespace Setting { + void preInit(); void init(); void cleanupSettings(); From df34b49b41e309c08eeb0a2170b2f92fe045b925 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 11:34:11 -0700 Subject: [PATCH 098/106] fix white space --- libraries/shared/src/SettingInterface.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/shared/src/SettingInterface.h b/libraries/shared/src/SettingInterface.h index 2b814ca85e..3aad048dbe 100644 --- a/libraries/shared/src/SettingInterface.h +++ b/libraries/shared/src/SettingInterface.h @@ -16,7 +16,6 @@ #include namespace Setting { - void preInit(); void init(); void cleanupSettings(); From 7958020f4ec764c2d283224619ac9f5b785e9754 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 12:07:21 -0700 Subject: [PATCH 099/106] only expect the 5 essential servers --- libraries/networking/src/AddressManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index f6f1416d2f..4b8017455c 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -646,7 +646,7 @@ void AddressManager::goHomeOrElsewhere(QString elsewhere, LookupTrigger trigger) if (!serversValue.isUndefined() && serversValue.isObject()) { auto serversObject = serversValue.toObject(); auto serversCount = serversObject.size(); - const int MINIMUM_EXPECTED_SERVER_COUNT = 6; + const int MINIMUM_EXPECTED_SERVER_COUNT = 5; if (serversCount >= MINIMUM_EXPECTED_SERVER_COUNT) { qDebug() << "Home sandbox is running, going to " << SANDBOX_HIFI_ADDRESS; handleUrl(SANDBOX_HIFI_ADDRESS, trigger); From b117a4b8d7d9a7bc425d30d97c31e93758ad807b Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Tue, 10 May 2016 11:12:18 -0700 Subject: [PATCH 100/106] Debugging menu destruction --- libraries/script-engine/src/ScriptEngine.cpp | 40 ++++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index ba74219b4e..ea125c9a72 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -177,19 +177,51 @@ void ScriptEngine::disconnectNonEssentialSignals() { } void ScriptEngine::runDebuggable() { + static QMenuBar* menuBar { nullptr }; + static QMenu* scriptDebugMenu { nullptr }; + static size_t scriptMenuCount { 0 }; + if (!scriptDebugMenu) { + for (auto window : qApp->topLevelWidgets()) { + auto mainWindow = qobject_cast(window); + if (mainWindow) { + menuBar = mainWindow->menuBar(); + break; + } + } + if (menuBar) { + scriptDebugMenu = menuBar->addMenu("Script Debug"); + } + } + init(); _isRunning = true; _debuggable = true; _debugger = new QScriptEngineDebugger(this); _debugger->attachTo(this); - static QMenu* scriptDebugMenu = qobject_cast(qApp->activeWindow())->menuBar()->addMenu("Script Debug"); - scriptDebugMenu->addMenu(_fileNameString)->addMenu(_debugger->createStandardMenu(qApp->activeWindow())); - _debugger->action(QScriptEngineDebugger::InterruptAction)->trigger(); + + QMenu* parentMenu = scriptDebugMenu; + QMenu* scriptMenu { nullptr }; + if (parentMenu) { + ++scriptMenuCount; + scriptMenu = parentMenu->addMenu(_fileNameString); + scriptMenu->addMenu(_debugger->createStandardMenu(qApp->activeWindow())); + } else { + qWarning() << "Unable to add script debug menu"; + } + QScriptValue result = evaluate(_scriptContents, _fileNameString); _lastUpdate = usecTimestampNow(); QTimer* timer = new QTimer(this); - connect(this, &ScriptEngine::finished, [this, timer] { + connect(this, &ScriptEngine::finished, [this, timer, parentMenu, scriptMenu] { + if (scriptMenu) { + parentMenu->removeAction(scriptMenu->menuAction()); + --scriptMenuCount; + if (0 == scriptMenuCount) { + menuBar->removeAction(scriptDebugMenu->menuAction()); + scriptDebugMenu = nullptr; + } + } disconnect(timer); }); From 0eb2388f69f2fed02d96d38af338a45fd33d7a28 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 15:00:50 -0700 Subject: [PATCH 101/106] fix unix build buster --- libraries/networking/src/AddressManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index 4b8017455c..c27081ec28 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -636,9 +636,8 @@ void AddressManager::goHomeOrElsewhere(QString elsewhere, LookupTrigger trigger) sandboxStatus.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); QNetworkReply* reply = networkAccessManager.get(sandboxStatus); - connect(reply, &QNetworkReply::finished, this, [this, elsewhere, trigger]() { - QNetworkReply* sender = qobject_cast(QObject::sender()); - auto statusData = sender->readAll(); + connect(reply, &QNetworkReply::finished, this, [this, elsewhere, reply, trigger]() { + auto statusData = reply->readAll(); auto statusJson = QJsonDocument::fromJson(statusData); if (!statusJson.isEmpty()) { auto statusObject = statusJson.object(); From a17acc6f6b98a4c7ddd0008180fc4d5e6c3814e5 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 15:52:07 -0700 Subject: [PATCH 102/106] rename functions --- interface/src/Application.cpp | 11 +++++++++-- libraries/networking/src/AddressManager.cpp | 14 +++++++------- libraries/networking/src/AddressManager.h | 9 +++++++-- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 8a950fabd2..0cf135db7c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2957,8 +2957,15 @@ void Application::init() { Setting::Handle firstRun { Settings::firstRun, true }; if (addressLookupString.isEmpty() && firstRun.get()) { - qDebug() << "First run and no URL passed... attempting to Go Home..."; - DependencyManager::get()->goHomeOrElsewhere(); + qDebug() << "First run and no URL passed... attempting to go to Home or Entry..."; + DependencyManager::get()->ifLocalSandboxRunningElse([](){ + qDebug() << "Home sandbox appears to be running, going to Home."; + DependencyManager::get()->goToLocalSandbox(); + }, + [](){ + qDebug() << "Home sandbox does not appear to be running, going to Entry."; + DependencyManager::get()->goToEntry(); + }); } else { qDebug() << "Not first run... going to" << qPrintable(addressLookupString.isEmpty() ? QString("previous location") : addressLookupString); DependencyManager::get()->loadSettings(addressLookupString); diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index c27081ec28..757e145c9a 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -630,13 +630,15 @@ void AddressManager::addCurrentAddressToHistory(LookupTrigger trigger) { } } -void AddressManager::goHomeOrElsewhere(QString elsewhere, LookupTrigger trigger) { +void AddressManager::ifLocalSandboxRunningElse(std::function localSandboxRunningDoThis, + std::function localSandboxNotRunningDoThat) { + QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); - QNetworkRequest sandboxStatus(QString("http://localhost:60332/status")); + QNetworkRequest sandboxStatus(SANDBOX_STATUS_URL); sandboxStatus.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); QNetworkReply* reply = networkAccessManager.get(sandboxStatus); - connect(reply, &QNetworkReply::finished, this, [this, elsewhere, reply, trigger]() { + connect(reply, &QNetworkReply::finished, this, [reply, localSandboxRunningDoThis, localSandboxNotRunningDoThat]() { auto statusData = reply->readAll(); auto statusJson = QJsonDocument::fromJson(statusData); if (!statusJson.isEmpty()) { @@ -647,14 +649,12 @@ void AddressManager::goHomeOrElsewhere(QString elsewhere, LookupTrigger trigger) auto serversCount = serversObject.size(); const int MINIMUM_EXPECTED_SERVER_COUNT = 5; if (serversCount >= MINIMUM_EXPECTED_SERVER_COUNT) { - qDebug() << "Home sandbox is running, going to " << SANDBOX_HIFI_ADDRESS; - handleUrl(SANDBOX_HIFI_ADDRESS, trigger); + localSandboxRunningDoThis(); return; } } } - qDebug() << "Home sandbox was not running, going to " << elsewhere << "instead."; - handleUrl(elsewhere, trigger); + localSandboxNotRunningDoThat(); }); } diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h index 1b6b04a055..d746442376 100644 --- a/libraries/networking/src/AddressManager.h +++ b/libraries/networking/src/AddressManager.h @@ -25,6 +25,7 @@ const QString HIFI_URL_SCHEME = "hifi"; const QString DEFAULT_HIFI_ADDRESS = "hifi://entry"; const QString SANDBOX_HIFI_ADDRESS = "hifi://localhost"; +const QString SANDBOX_STATUS_URL = "http://localhost:60332/status"; const QString INDEX_PATH = "/"; const QString GET_PLACE = "/api/v1/places/%1"; @@ -66,8 +67,10 @@ public: const QStack& getBackStack() const { return _backStack; } const QStack& getForwardStack() const { return _forwardStack; } - void goHomeOrElsewhere(QString elsewhere = DEFAULT_HIFI_ADDRESS, - LookupTrigger trigger = LookupTrigger::StartupFromSettings); + /// determines if the local sandbox is likely running. It does not account for custom setups but is only + /// intended to detect the standard sandbox install. + void ifLocalSandboxRunningElse(std::function localSandboxRunningDoThis, + std::function localSandboxNotRunningDoThat); public slots: void handleLookupString(const QString& lookupString); @@ -78,6 +81,8 @@ public slots: void goBack(); void goForward(); + void goToLocalSandbox(LookupTrigger trigger = LookupTrigger::StartupFromSettings) { handleUrl(SANDBOX_HIFI_ADDRESS, trigger); } + void goToEntry(LookupTrigger trigger = LookupTrigger::StartupFromSettings) { handleUrl(DEFAULT_HIFI_ADDRESS, trigger); } void goToUser(const QString& username); From 62b3c12d0f418b3fe757b9795bb35a4fdefc3d5b Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 10 May 2016 15:53:10 -0700 Subject: [PATCH 103/106] fix comment --- libraries/networking/src/AddressManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h index d746442376..c0ba69018c 100644 --- a/libraries/networking/src/AddressManager.h +++ b/libraries/networking/src/AddressManager.h @@ -67,8 +67,8 @@ public: const QStack& getBackStack() const { return _backStack; } const QStack& getForwardStack() const { return _forwardStack; } - /// determines if the local sandbox is likely running. It does not account for custom setups but is only - /// intended to detect the standard sandbox install. + /// determines if the local sandbox is likely running. It does not account for custom setups, and is only + /// intended to detect the standard local sandbox install. void ifLocalSandboxRunningElse(std::function localSandboxRunningDoThis, std::function localSandboxNotRunningDoThat); From 09a4e0eaa88b668d4fc76f4e71a1fb4b082c3162 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Tue, 10 May 2016 19:32:08 -0700 Subject: [PATCH 104/106] Fix for vive controllers sometimes not working * Fixed bug with input devices that where added, removed then re-added. The default mappings were being ignored on the second add. * Fixed potential crash when hardware inputPlugin device poses were polled from the JavaScript thread by taking the UserInputManager lock during pluginUpdate. * Renamed Controller.Hardware.Vive.LB & RB to LeftGrip and RightGrip, to better match Oculus touch. * Updated resource/controller/vive.json to reflect this new mapping. * Exposed touch pad capacitive touch events to JavaScript as Controller.Hardware.Vive.LSTouch and RSTouch. * Added viveTouchpadTest.js script to test LSTouch and RSTouch events. --- interface/resources/controllers/vive.json | 4 +- .../src/controllers/UserInputMapper.cpp | 33 ++++++-- .../src/controllers/UserInputMapper.h | 11 ++- .../src/input-plugins/KeyboardMouseDevice.cpp | 8 +- plugins/hifiNeuron/src/NeuronPlugin.cpp | 7 +- plugins/hifiSixense/src/SixenseManager.cpp | 7 +- plugins/openvr/src/ViveControllerManager.cpp | 59 ++++++++++----- plugins/openvr/src/ViveControllerManager.h | 2 +- scripts/developer/tests/viveTouchpadTest.js | 75 +++++++++++++++++++ 9 files changed, 172 insertions(+), 34 deletions(-) create mode 100644 scripts/developer/tests/viveTouchpadTest.js diff --git a/interface/resources/controllers/vive.json b/interface/resources/controllers/vive.json index 1f71658946..e534c16b50 100644 --- a/interface/resources/controllers/vive.json +++ b/interface/resources/controllers/vive.json @@ -5,14 +5,14 @@ { "from": "Vive.LX", "when": "Vive.LS", "to": "Standard.LX" }, { "from": "Vive.LT", "to": "Standard.LT" }, - { "from": "Vive.LB", "to": "Standard.LB" }, + { "from": "Vive.LeftGrip", "to": "Standard.LB" }, { "from": "Vive.LS", "to": "Standard.LS" }, { "from": "Vive.RY", "when": "Vive.RS", "filters": "invert", "to": "Standard.RY" }, { "from": "Vive.RX", "when": "Vive.RS", "to": "Standard.RX" }, { "from": "Vive.RT", "to": "Standard.RT" }, - { "from": "Vive.RB", "to": "Standard.RB" }, + { "from": "Vive.RightGrip", "to": "Standard.RB" }, { "from": "Vive.RS", "to": "Standard.RS" }, { "from": "Vive.LeftApplicationMenu", "to": "Standard.Back" }, diff --git a/libraries/controllers/src/controllers/UserInputMapper.cpp b/libraries/controllers/src/controllers/UserInputMapper.cpp index 2b7d837aa5..c0d3ff40c0 100755 --- a/libraries/controllers/src/controllers/UserInputMapper.cpp +++ b/libraries/controllers/src/controllers/UserInputMapper.cpp @@ -58,7 +58,7 @@ controller::UserInputMapper::UserInputMapper() { namespace controller { - + UserInputMapper::~UserInputMapper() { } @@ -80,6 +80,7 @@ void UserInputMapper::registerDevice(InputDevice::Pointer device) { recordDeviceOfType(device->getName()); qCDebug(controllers) << "Registered input device <" << device->getName() << "> deviceID = " << deviceID; + for (const auto& inputMapping : device->getAvailableInputs()) { const auto& input = inputMapping.first; // Ignore aliases @@ -102,6 +103,7 @@ void UserInputMapper::registerDevice(InputDevice::Pointer device) { } _registeredDevices[deviceID] = device; + auto mapping = loadMappings(device->getDefaultMappingConfigs()); if (mapping) { _mappingsByDevice[deviceID] = mapping; @@ -111,15 +113,21 @@ void UserInputMapper::registerDevice(InputDevice::Pointer device) { emit hardwareChanged(); } -// FIXME remove the associated device mappings void UserInputMapper::removeDevice(int deviceID) { + Locker locker(_lock); auto proxyEntry = _registeredDevices.find(deviceID); + if (_registeredDevices.end() == proxyEntry) { qCWarning(controllers) << "Attempted to remove unknown device " << deviceID; return; } - auto proxy = proxyEntry->second; + + auto device = proxyEntry->second; + qCDebug(controllers) << "Unregistering input device <" << device->getName() << "> deviceID = " << deviceID; + + unloadMappings(device->getDefaultMappingConfigs()); + auto mappingsEntry = _mappingsByDevice.find(deviceID); if (_mappingsByDevice.end() != mappingsEntry) { disableMapping(mappingsEntry->second); @@ -244,7 +252,7 @@ void UserInputMapper::update(float deltaTime) { for (auto& channel : _actionStates) { channel = 0.0f; } - + for (auto& channel : _poseStates) { channel = Pose(); } @@ -705,11 +713,10 @@ Mapping::Pointer UserInputMapper::loadMapping(const QString& jsonFile, bool enab return Mapping::Pointer(); } // Each mapping only needs to be loaded once - static QSet loaded; - if (loaded.contains(jsonFile)) { + if (_loadedRouteJsonFiles.contains(jsonFile)) { return Mapping::Pointer(); } - loaded.insert(jsonFile); + _loadedRouteJsonFiles.insert(jsonFile); QString json; { QFile file(jsonFile); @@ -741,6 +748,18 @@ MappingPointer UserInputMapper::loadMappings(const QStringList& jsonFiles) { return result; } +void UserInputMapper::unloadMappings(const QStringList& jsonFiles) { + for (const QString& jsonFile : jsonFiles) { + unloadMapping(jsonFile); + } +} + +void UserInputMapper::unloadMapping(const QString& jsonFile) { + auto entry = _loadedRouteJsonFiles.find(jsonFile); + if (entry != _loadedRouteJsonFiles.end()) { + _loadedRouteJsonFiles.erase(entry); + } +} static const QString JSON_NAME = QStringLiteral("name"); static const QString JSON_CHANNELS = QStringLiteral("channels"); diff --git a/libraries/controllers/src/controllers/UserInputMapper.h b/libraries/controllers/src/controllers/UserInputMapper.h index 95cc629c73..9c79415b6e 100644 --- a/libraries/controllers/src/controllers/UserInputMapper.h +++ b/libraries/controllers/src/controllers/UserInputMapper.h @@ -111,9 +111,18 @@ namespace controller { void loadDefaultMapping(uint16 deviceID); void enableMapping(const QString& mappingName, bool enable = true); + + void unloadMappings(const QStringList& jsonFiles); + void unloadMapping(const QString& jsonFile); + float getValue(const Input& input) const; Pose getPose(const Input& input) const; + // perform an action when the UserInputMapper mutex is acquired. + using Locker = std::unique_lock; + template + void withLock(F&& f) { Locker locker(_lock); f(); } + signals: void actionEvent(int action, float state); void inputEvent(int input, float state); @@ -177,7 +186,7 @@ namespace controller { RouteList _deviceRoutes; RouteList _standardRoutes; - using Locker = std::unique_lock; + QSet _loadedRouteJsonFiles; mutable std::recursive_mutex _lock; }; diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp index 0bf398cdec..4c0240eaf7 100644 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp @@ -20,8 +20,12 @@ const QString KeyboardMouseDevice::NAME = "Keyboard/Mouse"; -void KeyboardMouseDevice::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, bool jointsCaptured) { - _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); +void KeyboardMouseDevice::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, bool jointsCaptured) { + + auto userInputMapper = DependencyManager::get(); + userInputMapper->withLock([&, this]() { + _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); + }); // For touch event, we need to check that the last event is not too long ago // Maybe it's a Qt issue, but the touch event sequence (begin, update, end) is not always called properly diff --git a/plugins/hifiNeuron/src/NeuronPlugin.cpp b/plugins/hifiNeuron/src/NeuronPlugin.cpp index f2b8c04827..6e2f744173 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.cpp +++ b/plugins/hifiNeuron/src/NeuronPlugin.cpp @@ -509,7 +509,12 @@ void NeuronPlugin::pluginUpdate(float deltaTime, const controller::InputCalibrat std::lock_guard guard(_jointsMutex); joints = _joints; } - _inputDevice->update(deltaTime, inputCalibrationData, joints, _prevJoints); + + auto userInputMapper = DependencyManager::get(); + userInputMapper->withLock([&, this]() { + _inputDevice->update(deltaTime, inputCalibrationData, joints, _prevJoints); + }); + _prevJoints = joints; } diff --git a/plugins/hifiSixense/src/SixenseManager.cpp b/plugins/hifiSixense/src/SixenseManager.cpp index eb55d84664..fdb7bb17fe 100644 --- a/plugins/hifiSixense/src/SixenseManager.cpp +++ b/plugins/hifiSixense/src/SixenseManager.cpp @@ -136,7 +136,12 @@ void SixenseManager::setSixenseFilter(bool filter) { void SixenseManager::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, bool jointsCaptured) { BAIL_IF_NOT_LOADED - _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); + + auto userInputMapper = DependencyManager::get(); + userInputMapper->withLock([&, this]() { + _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); + }); + if (_inputDevice->_requestReset) { _container->requestReset(); _inputDevice->_requestReset = false; diff --git a/plugins/openvr/src/ViveControllerManager.cpp b/plugins/openvr/src/ViveControllerManager.cpp index c1ed5aa880..04abd7b398 100644 --- a/plugins/openvr/src/ViveControllerManager.cpp +++ b/plugins/openvr/src/ViveControllerManager.cpp @@ -211,9 +211,13 @@ void ViveControllerManager::renderHand(const controller::Pose& pose, gpu::Batch& void ViveControllerManager::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, bool jointsCaptured) { - _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); auto userInputMapper = DependencyManager::get(); + // because update mutates the internal state we need to lock + userInputMapper->withLock([&, this]() { + _inputDevice->update(deltaTime, inputCalibrationData, jointsCaptured); + }); + if (_inputDevice->_trackedControllers == 0 && _registeredWithInputMapper) { userInputMapper->removeDevice(_inputDevice->_deviceID); _registeredWithInputMapper = false; @@ -270,7 +274,8 @@ void ViveControllerManager::InputDevice::handleHandController(float deltaTime, u for (uint32_t i = 0; i < vr::k_EButton_Max; ++i) { auto mask = vr::ButtonMaskFromId((vr::EVRButtonId)i); bool pressed = 0 != (controllerState.ulButtonPressed & mask); - handleButtonEvent(deltaTime, i, pressed, isLeftHand); + bool touched = 0 != (controllerState.ulButtonTouched & mask); + handleButtonEvent(deltaTime, i, pressed, touched, isLeftHand); } // process each axis @@ -314,20 +319,26 @@ enum ViveButtonChannel { // These functions do translation from the Steam IDs to the standard controller IDs -void ViveControllerManager::InputDevice::handleButtonEvent(float deltaTime, uint32_t button, bool pressed, bool isLeftHand) { - if (!pressed) { - return; - } +void ViveControllerManager::InputDevice::handleButtonEvent(float deltaTime, uint32_t button, bool pressed, bool touched, bool isLeftHand) { using namespace controller; - if (button == vr::k_EButton_ApplicationMenu) { - _buttonPressedMap.insert(isLeftHand ? LEFT_APP_MENU : RIGHT_APP_MENU); - } else if (button == vr::k_EButton_Grip) { - _buttonPressedMap.insert(isLeftHand ? LB : RB); - } else if (button == vr::k_EButton_SteamVR_Trigger) { - _buttonPressedMap.insert(isLeftHand ? LT : RT); - } else if (button == vr::k_EButton_SteamVR_Touchpad) { - _buttonPressedMap.insert(isLeftHand ? LS : RS); + + if (pressed) { + if (button == vr::k_EButton_ApplicationMenu) { + _buttonPressedMap.insert(isLeftHand ? LEFT_APP_MENU : RIGHT_APP_MENU); + } else if (button == vr::k_EButton_Grip) { + _buttonPressedMap.insert(isLeftHand ? LEFT_GRIP : RIGHT_GRIP); + } else if (button == vr::k_EButton_SteamVR_Trigger) { + _buttonPressedMap.insert(isLeftHand ? LT : RT); + } else if (button == vr::k_EButton_SteamVR_Touchpad) { + _buttonPressedMap.insert(isLeftHand ? LS : RS); + } + } + + if (touched) { + if (button == vr::k_EButton_SteamVR_Touchpad) { + _buttonPressedMap.insert(isLeftHand ? LS_TOUCH : RS_TOUCH); + } } } @@ -424,18 +435,28 @@ controller::Input::NamedVector ViveControllerManager::InputDevice::getAvailableI makePair(LY, "LY"), makePair(RX, "RX"), makePair(RY, "RY"), - // trigger analogs + + // capacitive touch on the touch pad + makePair(LS_TOUCH, "LSTouch"), + makePair(RS_TOUCH, "RSTouch"), + + // touch pad press + makePair(LS, "LS"), + makePair(RS, "RS"), + + // triggers makePair(LT, "LT"), makePair(RT, "RT"), - makePair(LB, "LB"), - makePair(RB, "RB"), + // low profile side grip button. + makePair(LEFT_GRIP, "LeftGrip"), + makePair(RIGHT_GRIP, "RightGrip"), - makePair(LS, "LS"), - makePair(RS, "RS"), + // 3d location of controller makePair(LEFT_HAND, "LeftHand"), makePair(RIGHT_HAND, "RightHand"), + // app button above trackpad. Input::NamedPair(Input(_deviceID, LEFT_APP_MENU, ChannelType::BUTTON), "LeftApplicationMenu"), Input::NamedPair(Input(_deviceID, RIGHT_APP_MENU, ChannelType::BUTTON), "RightApplicationMenu"), }; diff --git a/plugins/openvr/src/ViveControllerManager.h b/plugins/openvr/src/ViveControllerManager.h index d3645304c5..d55d4e726c 100644 --- a/plugins/openvr/src/ViveControllerManager.h +++ b/plugins/openvr/src/ViveControllerManager.h @@ -59,7 +59,7 @@ private: virtual void focusOutEvent() override; void handleHandController(float deltaTime, uint32_t deviceIndex, const controller::InputCalibrationData& inputCalibrationData, bool isLeftHand); - void handleButtonEvent(float deltaTime, uint32_t button, bool pressed, bool isLeftHand); + void handleButtonEvent(float deltaTime, uint32_t button, bool pressed, bool touched, bool isLeftHand); void handleAxisEvent(float deltaTime, uint32_t axis, float x, float y, bool isLeftHand); void handlePoseEvent(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, const mat4& mat, const vec3& linearVelocity, const vec3& angularVelocity, bool isLeftHand); diff --git a/scripts/developer/tests/viveTouchpadTest.js b/scripts/developer/tests/viveTouchpadTest.js new file mode 100644 index 0000000000..52b33f02a4 --- /dev/null +++ b/scripts/developer/tests/viveTouchpadTest.js @@ -0,0 +1,75 @@ +// +// viveTouchpadTest.js +// +// Anthony J. Thibault +// Copyright 2016 High Fidelity, Inc. +// +// An example of reading touch and move events from the vive controller touch pad. +// +// It will spawn a gray cube in front of you, then as you use the right touch pad, +// the cube should turn green and respond to the motion of your thumb on the pad. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html + +var GRAY = {red: 57, green: 57, blue: 57}; +var GREEN = {red: 0, green: 255, blue: 0}; +var ZERO = {x: 0, y: 0, z: 0}; +var Y_AXIS = {x: 0, y: 1, x: 0}; +var ROT_Y_90 = Quat.angleAxis(Y_AXIS, 90.0); + +var boxEntity; +var boxPosition; +var boxZAxis, boxYAxis; +var prevThumbDown = false; + +function init() { + boxPosition = Vec3.sum(MyAvatar.position, Vec3.multiply(3, Quat.getFront(Camera.getOrientation()))); + var front = Quat.getFront(Camera.getOrientation()); + boxZAxis = Vec3.normalize(Vec3.cross(front, Y_AXIS)); + boxYAxis = Vec3.normalize(Vec3.cross(boxZAxis, front)); + + boxEntity = Entities.addEntity({ + type: "Box", + position: boxPosition, + dimentions: {x: 0.25, y: 0.25, z: 0.25}, + color: GRAY, + gravity: ZERO, + visible: true, + locked: false, + lifetime: 60000 + }); +} + +function shutdown() { + Entities.deleteEntity(boxEntity); +} +Script.scriptEnding.connect(shutdown); + +prevPose = Controller.getPoseValue(Controller.Hardware.Vive.LeftHand); + +function update(dt) { + var thumbDown = Controller.getValue(Controller.Hardware.Vive.RSTouch); + if (thumbDown) { + var x = Controller.getValue(Controller.Hardware.Vive.RX); + var y = Controller.getValue(Controller.Hardware.Vive.RY); + var xOffset = Vec3.multiply(boxZAxis, x); + var yOffset = Vec3.multiply(boxYAxis, y); + var offset = Vec3.sum(xOffset, yOffset); + Entities.editEntity(boxEntity, {position: Vec3.sum(boxPosition, offset)}); + } + if (thumbDown && !prevThumbDown) { + Entities.editEntity(boxEntity, {color: GREEN}); + } + if (!thumbDown && prevThumbDown) { + Entities.editEntity(boxEntity, {color: GRAY}); + } + prevThumbDown = thumbDown; +} + +Script.update.connect(update); + +init(); + + + From c91455a291476ead2f85d436d2bfb68ac24eec47 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Wed, 11 May 2016 10:36:55 -0700 Subject: [PATCH 105/106] Added mapping from Vive LSTouch and RSTouch to Standard. --- interface/resources/controllers/vive.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interface/resources/controllers/vive.json b/interface/resources/controllers/vive.json index e534c16b50..a793e1a6cb 100644 --- a/interface/resources/controllers/vive.json +++ b/interface/resources/controllers/vive.json @@ -7,6 +7,7 @@ { "from": "Vive.LT", "to": "Standard.LT" }, { "from": "Vive.LeftGrip", "to": "Standard.LB" }, { "from": "Vive.LS", "to": "Standard.LS" }, + { "from": "Vive.LSTouch", "to": "Standard.LSTouch" }, { "from": "Vive.RY", "when": "Vive.RS", "filters": "invert", "to": "Standard.RY" }, { "from": "Vive.RX", "when": "Vive.RS", "to": "Standard.RX" }, @@ -14,6 +15,7 @@ { "from": "Vive.RT", "to": "Standard.RT" }, { "from": "Vive.RightGrip", "to": "Standard.RB" }, { "from": "Vive.RS", "to": "Standard.RS" }, + { "from": "Vive.RSTouch", "to": "Standard.RSTouch" }, { "from": "Vive.LeftApplicationMenu", "to": "Standard.Back" }, { "from": "Vive.RightApplicationMenu", "to": "Standard.Start" }, From 95ef543f257d6f8ccb525b25b0621cad35418bd2 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Wed, 11 May 2016 13:35:17 -0700 Subject: [PATCH 106/106] viveTouchpadTest.js: don't throw if there is no Vive controller attached. --- scripts/developer/tests/viveTouchpadTest.js | 36 ++++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/scripts/developer/tests/viveTouchpadTest.js b/scripts/developer/tests/viveTouchpadTest.js index 52b33f02a4..913da5888d 100644 --- a/scripts/developer/tests/viveTouchpadTest.js +++ b/scripts/developer/tests/viveTouchpadTest.js @@ -46,25 +46,29 @@ function shutdown() { } Script.scriptEnding.connect(shutdown); -prevPose = Controller.getPoseValue(Controller.Hardware.Vive.LeftHand); +function viveIsConnected() { + return Controller.Hardware.Vive; +} function update(dt) { - var thumbDown = Controller.getValue(Controller.Hardware.Vive.RSTouch); - if (thumbDown) { - var x = Controller.getValue(Controller.Hardware.Vive.RX); - var y = Controller.getValue(Controller.Hardware.Vive.RY); - var xOffset = Vec3.multiply(boxZAxis, x); - var yOffset = Vec3.multiply(boxYAxis, y); - var offset = Vec3.sum(xOffset, yOffset); - Entities.editEntity(boxEntity, {position: Vec3.sum(boxPosition, offset)}); + if (viveIsConnected()) { + var thumbDown = Controller.getValue(Controller.Hardware.Vive.RSTouch); + if (thumbDown) { + var x = Controller.getValue(Controller.Hardware.Vive.RX); + var y = Controller.getValue(Controller.Hardware.Vive.RY); + var xOffset = Vec3.multiply(boxZAxis, x); + var yOffset = Vec3.multiply(boxYAxis, y); + var offset = Vec3.sum(xOffset, yOffset); + Entities.editEntity(boxEntity, {position: Vec3.sum(boxPosition, offset)}); + } + if (thumbDown && !prevThumbDown) { + Entities.editEntity(boxEntity, {color: GREEN}); + } + if (!thumbDown && prevThumbDown) { + Entities.editEntity(boxEntity, {color: GRAY}); + } + prevThumbDown = thumbDown; } - if (thumbDown && !prevThumbDown) { - Entities.editEntity(boxEntity, {color: GREEN}); - } - if (!thumbDown && prevThumbDown) { - Entities.editEntity(boxEntity, {color: GRAY}); - } - prevThumbDown = thumbDown; } Script.update.connect(update);

    u4NOFr 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 diff --git a/interface/resources/avatar/animations/idle_to_walk.fbx b/interface/resources/avatar/animations/idle_to_walk.fbx index 9c2b03a4d63330d5729e1a69a44303e3cb5d66dc..858f35596fd4503b893ba37930a8c5392931b322 100644 GIT binary patch literal 997472 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 y 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 diff --git a/interface/resources/avatar/animations/talk.fbx b/interface/resources/avatar/animations/talk.fbx index 4c27deadd8c86848269c803b122f121746615e47..3fd470befd35348ad0e124c019fc0f67e02f14ce 100644 GIT binary patch literal 2580272 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%0ALGO97!1 z#qSoXly@wx;g>pT-cL{t=?XwyUc`d8ouh{k%;NotyAnPHySGJ=B(6By;-@TAYbT?| z5w8)pd792}N2C!H#X6E$;{dhD<=-yodY2+R--Gx%qh9OR0 z;>vi!-Ib?x&zNADryzSq4C>qTy+ZdexMGL{rJ~=Y)Vj+JUcy)v=#x`5w8fvx;Q3@Vi%l8GDZX#AitS~`Dbq_+ zuE3QSE0E(w6eSQ!-$vcxdWo5C-$3GKI_IFio0)dF=crP>Yey)UeH~t@I@t@a`Lx;2 zt>xmlO+xSgmi41_SlVX;+7a(GRG5{Cw;0vMJ1x=~0-z`SC`@a?Sfe=C<@YD=F0SuT zbG-3VyN%RZ{j{d*FFbkDI?$!Tw?ydrXZGf9-WdDF`hAW=-)1Nzd$N=5r^fig2L(t6 zmyt2a^9E+kGu2e;W=j54>Czs2-a1>%9S4TWPW(6vPI{t+P;UEaQYZ-%h0x9k%bI;S z;bTg_ek;)N^k`6#*%bZ>a+JYQ_>Ys+=r_xrCZErQ8M$ZAKvsPC$ z5<*y7eI*t?RXpm`p%W$sQ6dUg=o}9X$0yH^!tkO&q}8S)+$ctQmhEA5LJmjiB2nT<{G)jp@TD)d#b?L;pz7 z_=Y)!B|9RKvU|=g-nu7n(PfKs&Exxdz+t1Z!=`=dK3ya6ZsHl57W(qU-PGH&>GDGt zGjthNLx;&D20gcSS4qmEe{)*zczM~|9@e_K#{0&t z?{Y~to^jtR*{UEy6=(2YR@X241rOa>&rqrsnY3e(m-#(>Wn^sOOJ8ZAeY=BC{`~rQ z?fvBS9E)gzXj$PL?$l6XbXN31Vy4q+-HW~^y^IeA7dHa?~8wpWif+5ECXU05X*pA2E;NTmI1L0 zh-E-517aBv%Yax0#4;e30kI5-W&eFF$5z1dJR6mZx^ z8SyCcYuVt`@;Qz@e0IJJ{MGW>n+LBs^|e!z^3yg+@rsI1-4t_s)J6Loms-z0LFqKd z4N6px+&OV^TBb&;*QF(#En%LX<-R@5YS6W2D}Gj!2;&2Zrn{HUGlI&M*GwR$@GBG1!z@3GQ7uj0 z1cZIBL&K48hHR~Fg8qtlBXBMTL0}o-YkQXOEBi9Z&u%x#j}dD@ca>p6)}2;|DuQ=P znk#)unA&JUqS@~uYI{1@!3yWv6P{{iu(n%Mn4`V0-d)VS0s zfRnOtNr$C2FyW?b^crd9;+a7rr)d(1+$~L*HeXd4T>EaOLQDd7=#y*v>`k%08S@K~ zT`IdUdH0fLbzuGFYxAhg^qNdA0z{DKtJ#`)MVw3X%aYg499z;*8Wr{WwQKyEp)nXd zl$zeR{s+1-!>sAjGpqv2#v;Peq#DBhfv@PpH@`%+4OtfA_KbG)Abw z2EmT{Q}-GL;dcY!VI-mB+HL(xTJ&^xd&D+k^dI-z+0&%xxXvu5l+(JC6tHlXQy<)l zz^!ALBi$`3rn7r@kId&2XV?qmavZ9#@-wFIoHDSA>%Jp4ehiD_nMSzT`%p=Y-8E*E zMN5kei_AFwYSkrZ?2GRAJhmhr|jC3G^=a5y6w z=Jtyr_X8#tur+j33K0#iKnr84Ixmm}r*Q@(rP<9|uZ!i(2 zk!z7>nU(qZPZ1ZAO5Dw;2-Ke=$%{ysVv-WP7(glsk~p46$$qRuGe>1x%xU)HqsHmO zx7RG*ak)>-$w}%OACwcMHrojN@EA=Rz7d9FEyE5sXBX%<-OljEW7m1yqjS91&ewyC zXX`G|a%!NyGCc=*B+R4BZc(nY0RI#DMWilM^aC=<6=dYul>DG;>$?P8B<2AmBq|aQ zZs`z)bM+^CjS#I_&S}mg+styfk!Pp(xS3tytDG+LhmmLE(5r<#@)r)HQ=J6LArR2D zcb%dkWZ~*U%TcyG{GD!-MkQf>I(W7vO=Apxn^+%RSKS6H>!P<-QgF1L*}03^kNfvP zt{=6x1EV?OjqFQgwr!=>&)CH|Q@6!PEF)}dY<9(SNNjZ_1p4o@_bCt+N zc@{cB+0i^ZCx%kC=-}b5NKP!xekgyB>LaY8622-#n5dQPrW6)JuMG@S6m%jJa_J7) zclszaLW>wvA3TpvvFX`KBQ8W7g+i)-r9zlLhHht67wGCBZ0aMlU#N_29C()NMw9X( zJ9@F&u{FZ7Qlc{KRyr4v{aNth#Cq2MK`|T$`_;r~f znu&N8;5vGy5^b4;SFndSYlt<+Z8rz(5>N1CRim;f2`oWDp594RwNF z5LI)CC`SII!I?THNp*~)4^P)g8({MpoyMO)qLfzPc_Jm)F7iwIsqVN^?(ZB4XJURC znMo-$Cd9)#FAKAVFD}b>_%`5Wi;;42FzR)avqWS~;32fRVd{(xN$OS)UBlmFkJ8Vk zxchYIlz{#Y&a%q7qh_D9Ed0k;-ZIp}+SYJ_Q?0JxO7E=RavaZ9&5lFNgeZ;;q&9E4 z0MYN4^Uay>RKPO?L;K1Te=LRG$s#v75D^+P+k!;fP`gqsy>BGI6mD@mlA z7%OW<&(Ep?ajzvbad9T_>($RmGZ^wEqc44$pr3CT+Rx+hzBBV6-5j1qDh*A*4Lx$Z2Ph z?#LwvgC&3xe@4B+&B?U#^HC>E!r&3&cl5?`kXxUVd4pe~3l#TO zGeDMbEB90WUUTRWRI4wvVZ**5&Ol71HeJ_)GiCy9{~4*ywH2lT{$PJWtvE%1IyTr5 z4ys~X`G*w!ep?mU^}O}5AgIlJ+2h!yI~ml_C!vnSbEsuca_OqIe4M#3dENZV)68{u zJ}|s(wr~mrQmTr`*XG<$`ygP?R-bbA7h>o z>)}-BwKRtqi8*)34BZC7^j9!?+NaxsuS(M-Hn`&)G)RECMP{_GHtgP3D67$i-DypH zD1*fE!Jj^2#ra1_L`rW~wAak)`5IIsQ<^kL%b*S=#fIi8SmkIs^%jH>UWVI@ti zQK-vay~j#Y$Fd)psuh{57YERGtDe_h@m}8sG7%da|30YweHhF9z4D)jv5|k<;Pd52xCAP1Hu>(#(*#egfSqD0bvXXV?Y=K z!Wa<7fG`GxF(8cn_hIb*w=w*mJUxSG_ZL|FJ>F>jUir`QCivg>_-A;db@yky`La3n zXS_N2z2$$LY6jc;^_l;QH)gj0-T-(5;0=H`0Nwz21KLBIZ4BHXARw?3My|?wmQF?@mNt5h#sr`sAa6iGKV3J>^u-(agsBe;#!z`9br4QJm`ETmDDI8Tx(kuZlwl z3Hv`^qbvdl2!w=@tD>2ek>&sYZUqtk_1&_}yJ|wi-9en8&Y)n43mW|#m_XPKL^app zK#M~)M}h6JH~dLJy|?TDuNSTwE*TzBK`51#rAn?~x}8YmHMV#C_?+&&I<_~qSH5@6 z4b%G?|M~tTXkX~sf==);I*JBIY^0pjA=7pu=dI~uWll9wku++#kB^O&w!l$~3Mf|O zcRJC}0$zhxW8?BmPL6`|9FI9@7rcj9oKd@Kmn5=sE3a7Fqjx7elF6$pi4Z$eDyaO@ zJAu};xeRR+oaFA$>nw&caQ0V-R!0%j$1&i$0$c&mZaGTe!fBx41D;sA;RC=Q@F zfZ_m(11JulIDp~+iUTMPpg4fy0Ez=B&i{epc>Feo|C14%{NHc(_jt4Zd*wgJ8(64c zDDuzo2AcHGc+=hz{pS%J+uvLMN4yFAeeth&bBqPx4KRWOjNkwxIKT)FFoFY&-~b~y zzz7a7f&+};03$fS2o5lU1B~DRBRK#42#yuWFJmx)`r`EZ#;dCMhaLSg(D(Csa?K(?QU|W%-3DwqS z!3xic*YaGlahGSH-=;iz*=c2rIqA&pwKdlm88#GsA^wgQnK1bMkt<`^dXTKD(u1*= z>VtR1#ehL&;PfFw(6S+-9RlpcVET}$oH5<($t&7a3!Ou?CRdJhS!02Qwf#l$(C3U$$9b@!n1|ABiLF;F zICb>}ocQ~vhd1^UmBWH{KRF+#I4S3RZqBpmN^hmG!k#54q<*{-mtH9mooH%tS(R^d zm2Sj9+Nn4Yl=*zH-=j(hP54P@)+uSfrHXf-t1Xsz;BV-tO>pljN|3}VC9)feh6MY~ zvs-^gyK2b}-t2`YhMRVX#8(^4@K~JJ_1*-I13ywYI5DaFeF{9qC5rRZfEkCTyx`?+ll5tZy6BRiGz>vHLA$& z&Z0>DYy7O-pGYXd9{W!wo^!Po#XE0Mkx`9#8)Gu0;Pwm=;T-7HzQ+l|u_#8XXq$*x zF^HWniW)8@c-b>QQbj$N9SGr1IoVUEoG{zmQx`z#fRe3*A4pFWIHe5+)TS}YSa8rB zt2i{_T!odSGYOa*Uq{3JWU}wBOS{Trjj0I)-+Z|zPio9dTpk_xASY+J=`fTsAD|u+ zP;rp!tsB`((IR#^BbkF~!I%zt->DO)>sO@SCCI& zY@Z5TPzlvY${gyUAz)KJHh!~p!_YruK~dN(E`77mG$5PSxh~s#OjG#z%tJUJu1Fxo z;ye3gbx`N(jOzL38BWixtfw%8j)oqOgcPDYQ|P06^Mw9Nuo`3-`>Oprl3G`n>AoJq z27xt`H~QK|*)DQqMk%Xe1ewYD+e)%zPVn+B9;xaJj!EC6o#kh+dy5=Sopc#ZebAbB z_8HWmX>siM#@|#KS?FGDQLbm{K;!&P=Ty1H0|~Bl!liIUTo{B5S%!6cW7-%K zX*MpiEeGc46#rwx%bVj=`Cx%!eOo3ddR{hkEM>-jCy(L4gx({Y7 zHr(_fJNdADjLO3D6SiU(fajQpT_aH<=0R5J6tp_k%^Obi;n$K11bO^il7( zLMN8R<=HDTe@uw|oJJ{~KGPLp5vFHj_VxLOwSq!D%m|WM6UL5zf>8!0(dOe)zsUAA z;{?u7H)$07=X=+#*9*710Uo=73FPZj?(ymUuhahClDJx?%Af%I+LO zpkH>F#<_&P9WrquU11bbnXK1FLBmnnW!E>h+crWg7d2#_QGh}pVeYTfXPWeX6hg)= zTXl5&%mM0QqPWDKBd0d!%weD!2bV(4*^kY6TJnHk% zGJV`pIOaF*am3@Gd^DM5j%qx3krun)At8Z&ic?Tgwa`V;Jp%asrYuZ#~W59U~_u*;2z9~2RTmpxjJaRx>? zUx;3#R`yl>yD=?dmlBGOrh0u%ETpZl^mkGcB<#)dK9EF^UY5vRwm}$Hb%fhyBwNLV zkQ-(}>}bg#>TMvE#qavh(LX*%gItQdbFr29f`|Tw7H5knakS458h;7;&gC{f;yB}- z={2G*gu)lT`1k9#{_qe+-pgWNmM#7tdv_U>RoBK19}#JgZbZ7fySuwP1nDjjLAtxU z5fl+nx=T7lN|2BcK?x}d-??wk_qngf5q%i1k8AcP&tskY7-#l5!~FioUJE*FSMia$ z19TB4^w7Nn*88u;{i)#|ujsrXi4CsPCPKa6*F~WKCH)2F!6rug5g*Ax=4$l}+nvvB zchuAymfW44oRXqF^I75N8!@%;$IF(gO;$;QZHQIn7G~<*0%IQ#lj3~u?RmjPrN=Z9 z?7X14g>9JlEu7iy-FYrzUr)8;hi!ehvUB?HD#`pC1#P3yu(UWQYPKP_46S$$-@pnQ z5vsWJqQpF5^`lD7nOI_?EQ#riG0dZ$dej)>2Bp)sVWLx<0OPxSkcD3hX z;(?!?NL}=K(3(0eq(%4%E0oKTs_Xs8N?^={DN5m~2R*Vwhvk=$K}0Wf3x+{< zr~MpWL^B#MW?O;9sb1{0uN8Qrje*ya+Wx^20d`S#%ttHGQv&)irdg70nCUBR7$(DT zTe40mL-c)4$>-0}Oq)euS|rWvg76edV0afWvXqj|ykrrd#FUCmqy!$l!zvn9?pRQw zbs3S3H>3>q$-=5*FFHAV0Yl=A0YlSJ>=Ef~orv)zCc!Zno|`0`Wt}ucD-Eyac7(}s z6%QTcr2(_fhDcKMPz*kye?kN>_QABj_S+8uH-7x=D>|#?apP<4@l`+LZQ2 zsqw9Db^F&oq8LPaU5Jd2;7&)@NG|!o$eERvZ9!Q8b%)xIj*_CiB`B#cHBL+wLHCZ1 z*h!5%{LY()357Me_2ZEUkwy}YN#FbYZ@9g5IZuWB0s7~_Zyd7n`hnl&KYCnmT6;$H z>cH>O;)|;TKU1n7e^>u9@biWge-8W>xIo|s0zVM=fxr(0ejxAzfgcF`K;Q=gKM?qV zzz+m|An*f$9|-*ZKJeoc{b3B^R|kGvkihR)Kk**!2w^8|@RPeiP_l98)djb(alLP8 zps92OK)bKp$ve84kNSM2Y)MQdat@IqDv0!HqO${5PXKaHpgYco!VG9V1t|RC_q!M8 z7herV@sAru+_N`?jwkc9L^Mi8KH1+oD#zm4sR$aalCwCXC;g&I_Cg^XIFK3Q59Q|l$igW6c(8O- z3g8}8py*%!D>9VaS1}nSzQnnYCCoV<6H_Z6w!szc|C`7fB0)w~QYFF>s z%~N-^I5)^F#)meL?4!?CbSoW@>7?QozB)y0wPWb$>BcxwqU(q)t!ghX!lQS@F_pI= zy@QLh)L;;PqKs&_qnbA=o=I3Jv3is8tqykHn*u0=vm_q$f}QU+cf_A*_9L`Il)WzjBpjhQpU zcc>q9s-qyJ!mME}>$$%>BsP4ZpkR=SaFC<0eI|st!E_O5(}P=W-{sAdSz=bd96OVq z{OD@{4bi4SxNLQYm;J`$&o+0;TwQ~f5#*8W*~I)8pvvtRCx-^BJ~r**TD1Gh@10)4u<-N`fK4e+VEp9dOHa45DCQmrNnLST3o?Lc+Uhi#XG?){?Whl?*?}E8N z(<0Kxtr_nf5P@+-uwu_cLifE|=f!Kx+>IeA6>FB}kkG7$q2#Ky zp^edN(vLCk4!nxZPtH8oC|2%Di~;F&pOCI7&*l3_qx~YdqaCW;`Ok{-G~cuZuJ({SJLmElTKm zJ#B&`p}BYxx|%i~8SfjYZ?0eCKjw#iywM2X+$+B3aK~lEtAD;v+=k(Hd8C&Y^?HX? z;o~eR;&&Be9gSkd$OaRlA}>(iN`EwIPDOnp>^z>>iE#(_Z8ma=Cwti)i>0Sk zhc@=u_hAqH*_`~l^PZ&z=p#OERk4r4zj@$Gq(SLw(j5KxUIh=l!I0>o9V+Yto*A@( z4wHhThZ&EjDtNu7StKqaMA;q)hzv3zs}zmg?MXpVlRrlrW?8vwN(x6MhdRKB*Ss*a zG>-=>ZjSd=cqMNM2X5a8by16b^XuDye&gFa(oymE*r4U_pL%7JN_C;!+a4bYe5Men zdxMEah1awqA9Ls#&x*=Z@^-#uu?kEN9KO{aeB5r5xOTrao%$%3o+S3Ubf2w=mbGUp zQLd6vt2zcJUANXhj?DOVA`}ov6Rq=@X(ir#5!j=XOf4}*c8z2=slJ;*P4FxXKLg{-E+0eRpr-lN6Di-_FSFvGnI*(p(L~!2_S{O*KJo9c zIhajDY~nu zgJ;-8;WYyU7x`uiTl!J)2e;et=9hP>UgF`}MWWE%K#WC*yNjN;Rf3{dI(xS~DzSK`*ic^%Ia52q2_ygrn?ga5oES@ehw(?_6nAnZ#`yU`-X4v zJU4iRjt7d&>&u(5!m+1Ej@qr{zjj&NMwQ4-3)aBCN3zbnld z0p7JKDm0d^+V}(`xl04@&YK&tMV?{2doTr4+|^V^)Dop%M4EC4-K^Z=cy@^zrsQo} zMg4;NG?FC0Ppx5Z_(}K-mdX)6xV%przrE5ay84eF*C%J93Ye>t0*MslCCY=yA$l!tSBuP zhWd`7wAgb%c0Z$Rd;?W+tb%GhBvga-k~LWKZM^CQCdTo1CC@eHj}--4bL~(11y@Ma zz8$IQ^+P?qk6*Md`MA3hFR%UZ=7$qTxYQ_bJQABngJhUP9t0teh`Sz%m*`AeMjf$` zd!^x-wdUWD()~o_d6d~b-inU8MZj~y z)7{Zhj%>DyPefzJ(i(BYffdg+=LTkvNhdU{m?JEb4s0?ze!Y?jnpM{$^B$85+{f08 zaD9Ged6=C&6%0&s!mg@#1&`a+82je;RGQ*LS?eVc+IStB-rw}Ad`=FTM>77XRAOrwW(~|3l~LJSk3W>dah_e_q^_H z+6KMo$E5PIqXX&o5f+N-OjB=eRD^rCSBmA?K5G}7Daye*6kA>xw_V15tMjRXb{wHI zQ7w3+8V!wZkBEgr7bhqezJWn`nVv5p7l$FbEGM8_Dsies8Bvh5`~F$bCn-t}bU7Fp zI#qUA1bSOag4*w~{x|f#w=i2k{en3n@tdHpbN@E<*{7v{Y-ygJNlANx(1$0YWf zFi#3n{5i~fq6We|5axj}4}^Ij%mZN_2=hRg2f{oM=7BH|gn1y$17RKr^FWyQ_hBBr z;SXc@^V@r=AH|1Hp?mApjx6!s;3;-mSl|yzTnHIU5Ei#+%#}&0hm)yo)LOH?R*Y1| z8h}q#lY7nE)`ix|66J>`Mq?Ib>9X;S@bjm$&)&xZxt_UwFAFp3x4I;Zo~#)!Y{}rd zXQjqC(G})=nkJYjwYKQTz@B|bpjVLbk*=XL=NW&q?fuoRZDCcCZ(*lG_UK%O%2Dj& zxZ-eIkr919W}T>l`HWvB-q{#Bdp16sY1Wk%Xv}BqJ${R`@5Q($wne3&{=F+Sj0w3? zXm_vb6@`Ou*PGW>r*+Ge{z^M0my7p`P;9!SPQz@JN%Fod1|Bneo^l2I2PJo;hgJ7ciO3mMdQc8osSNEt%nY#G33?|7-@3i$;MMc;gM*orx97N9UhLTL zxq=2hVfcumaoCFlW(nzx`1+y~gIax5v=Cz0f(j#fiuLBTmZ@BY?bDnb?b_}@Vpy}; z6;UxZF7%IGRN+Arx&=#Lg3a8<&6e8)6$GMVu$uS^d&-E%3%+#9kTQm$t=f_W`L82Z zQ>c;-#1w~>k$>trYgS-w+mm+oGm5eHO{1;V$Lx-!PmQSHR4S-+XxtpYqm_zf#TpLP zZ?Mtot6|4aD^XltA0hbYv)ubllo_@BxRNDNn2=MIiO-yA8U{5*f8;22nCdX0FLi71 zKxi^yQo31F82{X0N1#M#oIruDpIcKUQ{zJ&!F%mOb?z$VjWt5XEjF95hx)-{ z_HO3sjSZdR3l$n=)2UJFnV<0s9LlG)LU9(~h(h9kc3=!ngB^lrb? zso)Q}c&a^myIRP2Rp*F|8=UC1tmCKK^aC*FK zU?YB;*)~4*Tf`LcVb5nAm&Fj8)4qz}7nZu&M0+bwnjLotPfyivD!!c*&2S|-vq_Nt z`sSUwjqNkvmN;@NgZMMls?@WE_f%~IGAZwU7~&phhW5*c4!C^ad@tvEzI?Rwa{t`r!f&z--Bh^3$D~N>BYso+M-*E zQ^V7sdA?!_Wcsy1p<)AH1L!GA3+iN*RSmI|dW;O|)G^9rlQ{jr5`Egp3%OZh!vWls z;`4RmPX5Uqjo#;*A| zQrcV}RzR#TTlqcQG?(wT0DbpEHB$V=TQhEh_uSN(OwoBcURuTru}2plW6rqj!r5t` z77}fD7W&Vt+nNl%<1bS-i#}3Yw`R1dtBLHOUe~0(mU^l z(k7)UkXnvwaO6*JZXFO)BU`=L;jfA)FA&fUq>qZ;WpvLVmR`jCV+^+Wg^ z<@(NmW%BKhgrWBEkoV*S^g0>V&~-z3+}~RUU~Lkdg9`RqIlcF z3S%DXI2`oV`><}jfOg6z?pN*=9b!jV4>E=4P88=s$LYM-BR$VYHvJMpN#y$~X_(Ix z4+W*L$(-hZnVHmpIcQG!rfQZ!)G~_j(DXMogPJhQ^~iqX?Z-D46*e~{%j2nE2Hz>u z_RZ7Z37D8lWo-J3BK6JN2v$}1O`7?6=nV5Ge>XS{jb zOa4`BatdwGFcSL%Lu~#68BQdrE&NPdOsXj2=a=`ECrSf@(g=ejHY3j#V8gOU8zWCx zH^L0qkuKIoHSrsiTpULkykFTA30%hHWZ7`mt1@rbTAYhU#z)h=?xY!QeBz$l=#%wW zVB9oS;DKf2xsQqQFk!B9hLfXy^u?%XMsv9>hhRvl&46%`EmM~Al$%74%`?H>DV;Y% z6JPyJp5be*MQeTWXo*=nSsu83C>EVh4TKrvs-V6&>7 zJkf5{Ccm+MLD?Y8b@xf%26Bd#)R1x_zLBNkz7b)w=cuJzWM0=$!WMO+%r{Gca>BOd z!CmK>^(af@7kXI~toJFF0@W(jc0ZVhOfh%3(F^>kHQ^z zKGpBbcZhAfWZ`drP-xm#_&yL!wB=-4&_w9>tZ{N>L$)f>$l&41@U7(Amd=qp=v#xc zeh)cNbrd4(p^jl;*z&p1Mg>KQi0}g)M~itL!1uf&%L;wZP?*mei2FL8=p9=0&Me-` z^ggr1x(I6by?(;!1U@_BPuSr)hO%bbPXe_ag`JgET^_u|FqaLFZA!>%k$YgDc+;V9*#foA3%&PUktf}?T|DI& zhDTS*46sIpE2dpfeNflJgU?y*`T5W-Dd>+^jD6zVQ8^9V`NU?Aqw8CQ!bj7MWw#m+ z{rxXUF5KPMZ3ftt#_t>>5#kbWJW3wYQ^%GPCpeud3;32U%_38|wzo>~B6%vUk!VFq z1bf<+&e^ldBHEC0PoGZLR$EeYm())9BKA9Uuv(uXkd@aD{F?vK<9dN# zh~w3PA5_%-)o<^S82u*j z4+MT7@B@J#2>kv&@Y{qK!@qLY3Wnnku=q3HC_q+TA8)+>(c^k}BOh=z-rTi1xEgQX zL0bND>!q)d;?H=a^9bM#z#D)!0B-=^0K5Ts1Mmjm4Zs_KHvn${-T=G-cmwd}@A2j- z#2EOYt~_gn3F<#*t=QIXxY`l*6q>SRz)DTFTNB_Z-Ym2+;XsKh2^i=2?}t#?6HrhY z5-P;gkemJ)anJ*P5XbcqM+oxG|Ma*X;=m_fjW|%rzd@XQNXuU$P6MR)GvW{@0K@@^ z0}uxw4nQ1$H~?_~;sC?}hyxG@APztrfH(kg0OI^T;@pQA!@n|tlLWchpYdh{vhw

  • C)Q;!`u6p{G=+G^aPlINVi0RECE(! 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 literal 0 HcmV?d00001 diff --git a/scripts/tutorials/NBody/gravity.js b/scripts/tutorials/NBody/gravity.js new file mode 100644 index 0000000000..b6bdb9d20b --- /dev/null +++ b/scripts/tutorials/NBody/gravity.js @@ -0,0 +1,181 @@ +// gravity.js +// +// Created by Philip Rosedale on March 29, 2016 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// +// This entity script causes the object to move with gravitational force and be attracted to other spheres nearby. +// The force is scaled by GRAVITY_STRENGTH, and only entities of type "Sphere" within GRAVITY_RANGE will affect it. +// The person who has most recently grabbed this object will simulate it. +// + +function Timer() { + var time; + var count = 0; + var totalTime = 0; + this.reset = function() { + count = 0; + totalTime = 0; + } + this.start = function() { + time = new Date().getTime(); + } + this.record = function() { + var elapsed = new Date().getTime() - time; + totalTime += elapsed; + count++; + return elapsed; + } + this.count = function() { + return count; + } + this.average = function() { + return (count == 0) ? 0 : totalTime / count; + } + this.elapsed = function() { + return new Date().getTime() - time; + } +} + +(function () { + var entityID, + wantDebug = true, + CHECK_INTERVAL = 10.00, + SEARCH_INTERVAL = 1000, + GRAVITY_RANGE = 20.0, + GRAVITY_STRENGTH = 1.0, + MIN_VELOCITY = 0.01, + timeoutID = null, + timeSinceLastSearch = 0, + timer = new Timer(), + simulate = false, + spheres = []; + + var printDebug = function(message) { + if (wantDebug) { + print(message); + } + } + + var greatestDimension = function(dimensions) { + return Math.max(Math.max(dimensions.x, dimensions.y), dimensions.z); + } + + var mass2 = function(dimensions) { + return dimensions.x * dimensions.y * dimensions.z; + } + + var findSpheres = function(position) { + var entities = Entities.findEntities(position, GRAVITY_RANGE); + spheres = []; + for (var i = 0; i < entities.length; i++) { + if (entityID == spheres[i]) { + // this entity doesn't experience its own gravity. + continue; + } + var props = Entities.getEntityProperties(entities[i]); + if (props && (props.shapeType == "sphere" || props.type == "Sphere")) { + spheres.push(entities[i]); + } + } + // print("FOUND " + spheres.length + " SPHERES"); + } + + var applyGravity = function() { + if (!simulate) { + return; + } + + var properties = Entities.getEntityProperties(entityID); + if (!properties || !properties.position) { + return; + } + + // update the list of nearby spheres + var deltaTime = timer.elapsed() / 1000.0; + if (deltaTime == 0.0) { + return; + } + timeSinceLastSearch += CHECK_INTERVAL; + if (timeSinceLastSearch >= SEARCH_INTERVAL) { + findSpheres(properties.position); + timeSinceLastSearch = 0; + } + + var deltaVelocity = { x: 0, y: 0, z: 0 }; + var otherCount = 0; + var mass = mass2(properties.dimensions); + + for (var i = 0; i < spheres.length; i++) { + otherProperties = Entities.getEntityProperties(spheres[i]); + if (!otherProperties || !otherProperties.position) { + continue; // sphere was deleted + } + otherCount++; + var radius = Vec3.distance(properties.position, otherProperties.position); + var otherMass = mass2(otherProperties.dimensions); + var r = (greatestDimension(properties.dimensions) + greatestDimension(otherProperties.dimensions)) / 2; + if (radius > r) { + var n0 = Vec3.normalize(Vec3.subtract(otherProperties.position, properties.position)); + var n1 = Vec3.multiply(deltaTime * GRAVITY_STRENGTH * otherMass / (radius * radius), n0); + deltaVelocity = Vec3.sum(deltaVelocity, n1); + } + } + Entities.editEntity(entityID, { velocity: Vec3.sum(properties.velocity, deltaVelocity) }); + if (Vec3.length(properties.velocity) < MIN_VELOCITY) { + print("Gravity simulation stopped due to velocity"); + simulate = false; + } else { + timer.start(); + timeoutID = Script.setTimeout(applyGravity, CHECK_INTERVAL); + } + } + this.applyGravity = applyGravity; + + var releaseGrab = function() { + printDebug("Gravity simulation started."); + var properties = Entities.getEntityProperties(entityID); + findSpheres(properties.position); + timer.start(); + timeoutID = Script.setTimeout(applyGravity, CHECK_INTERVAL); + simulate = true; + } + this.releaseGrab = releaseGrab; + + var preload = function (givenEntityID) { + printDebug("load gravity..."); + entityID = givenEntityID; + }; + this.preload = preload; + + var unload = function () { + printDebug("Unload gravity..."); + if (timeoutID !== undefined) { + Script.clearTimeout(timeoutID); + } + if (simulate) { + Entities.editEntity(entityID, { velocity: { x: 0, y: 0, z: 0 } }); + } + }; + this.unload = unload; + + var handleMessages = function(channel, message, sender) { + if (channel === 'Hifi-Object-Manipulation') { + try { + var parsedMessage = JSON.parse(message); + if (parsedMessage.action === 'grab' && parsedMessage.grabbedEntity == entityID) { + print("Gravity simulation stopped due to grab"); + simulate = false; + } + } catch (e) { + print('error parsing Hifi-Object-Manipulation message: ' + message); + } + } + } + this.handleMessages = handleMessages; + + Messages.messageReceived.connect(this.handleMessages); + Messages.subscribe('Hifi-Object-Manipulation'); +}); diff --git a/scripts/tutorials/NBody/gravity.svg b/scripts/tutorials/NBody/gravity.svg new file mode 100644 index 0000000000..9bac2d65e1 --- /dev/null +++ b/scripts/tutorials/NBody/gravity.svg @@ -0,0 +1,72 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/scripts/tutorials/NBody/makePlanets.js b/scripts/tutorials/NBody/makePlanets.js new file mode 100644 index 0000000000..d2f2cebf3d --- /dev/null +++ b/scripts/tutorials/NBody/makePlanets.js @@ -0,0 +1,166 @@ +// makePlanets.js +// +// Created by Philip Rosedale on March 29, 2016 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// +// Make an earth and moon, where you can grab and throw moon into orbit. Entity +// script attached to moon gives it gravitation behavior and will also make it attracted to +// other spheres placed nearby. +// + +var SCALE = 3.0; +var EARTH_SIZE = 3.959 / SCALE; +var MOON_SIZE = 1.079 / SCALE; + +var BUTTON_SIZE = 32; +var PADDING = 3; + +var earth = null; +var moon = null; + +var SCRIPT_URL = Script.resolvePath("gravity.js"); + +HIFI_PUBLIC_BUCKET = "http://s3.amazonaws.com/hifi-public/"; +Script.include(["/~/system/libraries/toolBars.js"]); +var toolBar = new ToolBar(0, 0, ToolBar.HORIZONTAL, "highfidelity.makePlanets.js"); + +var makePlanetsIconURL = Script.resolvePath("gravity.svg"); +var button = toolBar.addOverlay("image", { + width: BUTTON_SIZE, + height: BUTTON_SIZE, + imageURL: makePlanetsIconURL, + color: { + red: 255, + green: 255, + blue: 255 + }, + alpha: 1 +}); + +var deleteButton = toolBar.addOverlay("image", { + width: BUTTON_SIZE, + height: BUTTON_SIZE, + imageURL: HIFI_PUBLIC_BUCKET + "images/delete.png", + color: { + red: 255, + green: 255, + blue: 255 + }, + alpha: 1 +}); + +function inFrontOfMe(distance) { + return Vec3.sum(Camera.getPosition(), Vec3.multiply(distance, Quat.getFront(Camera.getOrientation()))); +} + +function onButtonClick() { + earth = Entities.addEntity({ + type: "Model", + name: "Earth", + modelURL: Script.resolvePath("earth.fbx"), + position: inFrontOfMe(2 * EARTH_SIZE), + dimensions: { x: EARTH_SIZE, y: EARTH_SIZE, z: EARTH_SIZE }, + shapeType: "sphere", + lifetime: 86400, // 1 day + angularDamping: 0, + angularVelocity: { x: 0, y: 0.1, z: 0 }, + }); + moon = Entities.addEntity({ + type: "Model", + name: "Moon", + modelURL: Script.resolvePath("moon.fbx"), + position: inFrontOfMe(EARTH_SIZE - MOON_SIZE), + dimensions: { x: MOON_SIZE, y: MOON_SIZE, z: MOON_SIZE }, + dynamic: true, + damping: 0, // 0.01, + angularDamping: 0, // 0.01, + script: SCRIPT_URL, + shapeType: "sphere" + }); + Entities.addEntity({ + "accelerationSpread": { + "x": 0, + "y": 0, + "z": 0 + }, + "alpha": 1, + "alphaFinish": 0, + "alphaStart": 1, + "azimuthFinish": 0, + "azimuthStart": 0, + "color": { + "blue": 255, + "green": 255, + "red": 255 + }, + "colorFinish": { + "blue": 255, + "green": 255, + "red": 255 + }, + "colorStart": { + "blue": 255, + "green": 255, + "red": 255 + }, + "dimensions": { + "x": 0.10890001058578491, + "y": 0.10890001058578491, + "z": 0.10890001058578491 + }, + "emitAcceleration": { + "x": 0, + "y": 0, + "z": 0 + }, + "emitOrientation": { + "w": 0.99999994039535522, + "x": 0, + "y": 0, + "z": 0 + }, + "emitRate": 300, + "emitSpeed": 0, + "emitterShouldTrail": 1, + "maxParticles": 10000, + "name": "moon trail", + "parentID": moon, + "particleRadius": 0.005, + "radiusFinish": 0.005, + "radiusSpread": 0.005, + "radiusStart": 0.005, + "speedSpread": 0, + "lifespan": 20, + "textures": "https://hifi-public.s3.amazonaws.com/alan/Particles/Particle-Sprite-Smoke-1.png", + "type": "ParticleEffect", + "userData": "{\"grabbableKey\":{\"grabbable\":false}}" + }); +} + +function onDeleteButton() { + Entities.deleteEntity(earth); + Entities.deleteEntity(moon); +} + +function mousePressEvent(event) { + var clickedText = false; + var clickedOverlay = Overlays.getOverlayAtPoint({ + x: event.x, + y: event.y + }); + if (clickedOverlay == button) { + onButtonClick(); + } else if (clickedOverlay == deleteButton) { + onDeleteButton(); + } +} + +function scriptEnding() { + toolBar.cleanup(); +} + +Controller.mousePressEvent.connect(mousePressEvent); +Script.scriptEnding.connect(scriptEnding); diff --git a/scripts/tutorials/NBody/moon.fbx b/scripts/tutorials/NBody/moon.fbx new file mode 100644 index 0000000000000000000000000000000000000000..b951c078127cb68879d9e7214bab57b8987f01b6 GIT binary patch literal 95184 zcmcG$3p`Z$|35x$TWZ^-Qgj)HRMVAiy9hIB5+Xw?T`(V)Y22DI7x%erTP;$^q*9nf zsT50z+@{^!6(WR~8rN}~1~bh4_c$|CtIuw2-~Igm=doMkoOwOZ>-K)#-f!7?gn4@q zJoNVNKBBkV7wbU?)6)a301bjcpaeD0$7}K4-A8QD9^PnzRVWFKCHms9t{@O-76=5I z0|J2-etdiwO#mL+4$lUGLT7yAyS=-Qe0TTTcPd zs%sH~fc8*4^*xDpCV89;Y?wi<_7QeA2-G*@!M8`z9t7LBY9Nqg#@#vlaafX%?YAHh zXwj@cC78X(Bg_^I0)e12ZhmWn3nJKl4+4SUGw#ma?~4s0p=~ulAdt(<`_5=D9M;=* z0SE*l&A7i{zi&W*FH!mMgG?W<64f`MAP`7RAt;XEyb1&Y0TyxIV`l{X?HCY*@x>DL zf|c6U+qPxvPlj90s)0b?04#$*p!v>TXe`+#)CNr zeMtdmXMj9*#%(p{AWuKE7fJEp_KXK}ErUotID+E-(;4^Y*`dQia0G9n;z`HMCkN2M zzJT{Bo=nVmqK3eoJc-6CU-HQnI>X7ocO>8f(FBq&nrOTwcDB;BF@WzlIs-=CgYyak zP!16SoB=XBXA;2|i*W{20^9?DolQX?kP)C{q7g3K18ekwh-lKkZ5!g zhr=43z!6YBz9)PYKN+6z44wO}@}+*tm#PDR1g{Se|Np($N$|z^ zVm$&BKOk@?193rEZ>5NUoKY%HcPlAY%%C7!1_lQBdMQ@yVKmkoNBBfr3N0!A0A6Dm zM8bKaiT+J0JaZ-9vd`c-c$`Fk1`XhUzekt{WR6mYa3#{p&mgIy#uvbVMHa3C+ph!z zmevQwkoS0y&_F~&S?@onkmbXT86s+fK%i|VMq73m0cd(#x9!~ep{C?*ml6sH;h*76k(mC$-u@~y2PK-;Cukq+`!5X+`21H~ zMQX~x4EWkyz!7Y{4=ex#{j^@dQ`(JwW2`Kgo~^r`xjir_Eb- zY~E(_(dl+>*|NoSo)Y}0nb~IRS7jSL&mi9bZ;NePw*I(f>sHfLAaSTJb!ED7Mw3Xs zSPb!`>Ls5f4`(@H?^ObMhq$CAa!CnFmOZxIlfovP7q6F+Y%h4GS=}*dkeDA%# zz88VR5xl?rUO>--e|_(tl>hi%=yyta0b9>X<+yPhr zD98U5?LGY90uTtu;L$$4NB7<1;a62?zvoB;dS*ywC(aM>K&Li1s4+2BTY5aH@a} zWKAIL?8kYd6;Tk44LbQ}%CQBM_`~;~tS3M&fW(o2BjLPo0e?pZxVE*5OtmNg6FFl& z0+HCg1dq?Z5YR@HigNp(A}fmZKo6`l$%8;rD9=uD3kckb4*;FL(yky-wF+R{pO*L& z02laK`dt%6zgdGoAoU-V63_51L=cgLJE>s(fCowGQeX70_srctD0AalB^N+I0l3)j zLGVX^@P_}cgwCkmyhBL?-Jkt_V!!ym1;WeX6T z{=A;3E5!t2^SlE%9LWLajsEB`pTDMNi1yt9^a(TpjrBqkKOtB*<5dgxpilT>eSrp( zxK86w)qc|Vz-K&A=^W6+1=VdpMe%PZ()P=Mm|mmn%t5UT74l>Umk=xgccFHy3s zVgX3pAKBg=7U)4FDnvPCkHcbs|CPxAVE*I!`N}I;OX<8oQ8P2(0qV9!<4&SUgfM@V zfBu)-`l?8QF!a~p1e9TWJwx}Si9W7C+oifb@mR@{|4)tWuv7^Lc=jwu1qZu#<3jiQ zVin>XMgv9Z_C1Q_p!`9hvM*GAH$H>t5&CZtyOt^~tBQ$0;q6H9JqgTd5Bm~*J$(aw zNnwAtIDj>~RO^!!4%iIgK_n6NoP9jJaUsOd(IHiIGwQ$tXfL#HF#4Y;zw!#z`MekH z_aLDOz8(R&DtGxWFY;HB0#WU+UIcjlUe8eHAi@a`FSMf%4vTTu`ID(nylJPlQah@a zNKxtdczF9_F~Cy&bi@ZhDE|Q1QQ+cK*|a;J%8RH-F`3kMD^SLBua9=kvjQiG$|WzaP--0*G0k#RM65p{y~1Yj_Bpo%fp{vmRAX15(Ancl z3=Ht_LIVSMC0}34@E?}^Uq9?zsbo*ps{jFYCiD#U{y}xuS1MHpEYw+!ib;erNz8=% zUpO67ajGh9fV$$ZFZgAt&ImoufoQLw01v_!?ELw)9u8J2az^O+fH#Aw&)N7r zyi`T6s#yRVJNx)zeX(dF(JC|$hXwX)fTHws5Ic5h=qN=}C2%14A3&c70LCUb>=%Uk zymvV1D1}mW5x{!*6Y;CW`hfip*UGKR3`?*lQvw6Y;{&jxZ!qp(J-{O{}AB0Z(FGfK@*IX?0^ zSttLA^62L%4fX%woyR^$>GNeukI>I@d-I;>w@X$j+t513kRZdvOGN-;=&1BsSo0TMr;gq^U4wq}h)cB;OM!fGB@N z5#GO;W@$b*35w&W!b64nz-B{LGN@126wW6q>!} zFS`4P`tL)~&NWIQRhy4MX8nlj`}z2T|03CEm-C%3l6`h9v%Wy~g|MTw_VcoNd_Lyv z|03CEnLMo`Tc=E2fN$Gkeb5A7w6>Gd+Q9fnHE;Cwno%+Q+W_jVf>#~<0IIH!@E@YVzr|*%uvOhG&{TZH zR{6o#K+kZfk1jTQgVNfnR1Ku~{l3^e9w!42cwjN;ugb92U&i>Vdb?*B=sqJM<>Dxqd={;N=*a`RO}?Nz}TD=h_-IF1Cxrm?pr78CGw zODN_aK)y<##(x0$Dsko-D!1=dsRj_o9*6U{Bz@QoR@A8fy@3x?QK?ce5TOnQD$CF> z(w#I^+F-_3ptBDyx)D4d7^|0~+H29CC3)6TE(n+BqmN5Jw<= z4n_DW3NXM>9j~z@kqEw?z}al9H#+pohb}f4DOopA+8r1)?Iobm;h*iTkN=gx9=T^X zF7)sC1X`d1BW1=?r4(Q~W$zWBH#1rN-93QxlPNvuZ>E?(Z26=T25MFS`(vj1%Z;x> z^-!UzM$|z42B3b(QUCq(UoihJL#1s|>RB}=1m;~cHm?5b$G<_GRMD#@)WFu@pY(dF z^3ntAh5phb1upQ%U(Z~87}qKkvilr~TVDgPd|22&9k= zH0#5Cg_i)koAbSulfPfKfk5*P1INw1&_r+G3?uM{plu*f=&Y0!{QEUlL0lYp!Fv1M zmVS4C%d55O9-Hm@?KkTR7hY>|duqOW;bz;Y@C$2fH_bb48@g+8P5czuo9}eI`X+i0 zVRQSQ&~I+$ve&NLf9Ha&F8 zNXL44U_T=?aDP7hSL)y*xXgWSvOV+KHeNKn-AJ9cUFs=Ha!od=eM)W0(QxG%+%{WZ z;Qmf%-v01}TRzKc_?D8AJZmM89}2knIoBD>3^lb&rY#~N z-67W)r;wr-77?h!Bje*Ti|ZsQ`*Ei6kbUrC4DV)^U2feqwc#f%^>jqp_<@vYq-dfI zLUYI+9?B0%O&`{_rcP#(bnAR!kMPbfgUq<_;*PK)zUT_)Jh_o!5z+djBKx|e=QQSU z3M$a)W!R=nEK4x%+4jN^#qDz&BR3yqFNE+})7u6%b%*AP@vpaE-Yy-_!CkiaJzA19 zi!nK@cDp`TBwf{o>}tH+cBEcX_^^R)F%cOT>@cmtv!#hnH3Tfeh!VtYhs}&3SZUZM zOx`=Mff#45$)i4STdNV9E*q(eBgCdjuEM)or*e~PtjEf3kiLfpjRN%H&sl{Q&0I;` zfEl;{u?4s;Nr#u7^NL>!frpH4AGc&mI^d6lj=YZv5rbh{04H9YsT8jZoWo`j}3y= z#x0rTw}Cj92dLlfF3Sj$B&6RC^sqU$KYwpyu;;|-Rc+m zUlaGXHH<~H*1eDoTkFFHks-|ArF*4!JkNBeUQ8Zu9|)IQOLyYgyI_NDFSt9O46+}z zg<8anuc%ue@@Vv|sI*?QS)EOndB50RwWQcV8kq8oQAL=9vD-Q$==IWBa zyT79TB{n{#JbLm1ubExG^)gZvvspvu@b@c(C~XZ0YSg%IWjp*RrJkl~&DGg?9sWo< zuiAK@w&_!-!{&yt)RB2`+)om1E`v^Mk{WhDe!+me)HNzm>)QFABL zb*`p786veKM3*#xd$ne)cYFsfy5jjdlsJ28;w~j!!jLu&|1=~D@6WAIa(mJ_ku|Tc5+}^Vlf)g$(B9tUIa0HPhPEl%dUYkPGrZY zT!Pby9Wu{eL`gvcEYSdO4lc-n-bJfAtfVGG7N>? zbfws$k&!`2vLM`?(ynVLt*dg<%5ooVFdCvI!1dIoy^#~whkxRf-G;)dhAkgWWFV&KsL#0+4i;R}cs#1Xp`#W>_Le8PQZF#$tilrOHEbD@?@XUU>qqjgmojePwNU zqNj=a82^hOb3hMT@7;5l8|k0?#*`LV6UL60Npdx^6Wt%V^raMpinm-w0Lz#)CZE@? zDLuz&Lka}M9g(72Pcx|%Y*sA1d?Irg*T5`I8)e1zI?9u#Gf;7|=Po~{HZrHAT)T$* zf`}bz-7(QfF6H3@hOmG3WvaYP-bcx-PR#{})1WZUu=sXU9FMWgShp?>zqt3ANnDwB zUFtGl+6V7AmB?yd1L=qN%?7-tI&PVq z!>mJyZG|jXUPjxMWw`a3uEVSpTgEuuWHr>mO}djNUl1{r2`h6F+KDdVfOWA0vWrtS z-B260AOZ4LBZZ+}ch+Qe=6H+wx3@ZJ7*0Rj5!NiNFQ9~$n$WQlOz^7~Sn3w>I}0_t z?zo7Nj$B)2G!h&RTO8SROE#YujR^LXm0+$nY>y(}ISzj}vCW22`!XA8x*8hWf9ekS zCgU-o>|8HGz6U-_ofn-RwrQVnCC#(@n?&tIyN6uo1$>OBxrgZTf>OA>6v@_%?DcLS zx0%Jhq*R2~jpVH)r!E>oSgca7J>?ZVJ+WgX35MU@30I?xZ)C?Oo4hc3L;ZCeTI)YP zWE@s}O4N&cst*%p_8ZishBA(s;%Y}nD(%wC;uX&PQnK;Z${zSuW|SmJ@^FmIEtu?H z#N{?WbnoFNPNv$B+40FEN!ir5HeGFxRCp&+* z!&KfJ(q_D;?(Rhr|7Zv=wp4vn3)k5vJ@cL+;xb=}*1R&CB)(n9Fu9fqrA6Ztt}?Af z2jhT{G)}SJ8E&nZg^Hm6I8wCBK`dK zsJPL^kG4N#MueDkH@}c4Ny<^W?!P-EEM@&~y0He20 zI7mjyHdNnYfhkE-YF?76J=A#f9_`|rZ;D$@1+syOD7M*moMtHy!D>YF^XQZ7;n4^} z?`r9ec7)J=%1rv8icMj=G8wGW>A)0QhvfFkww=&!7KTf?(9ok#DMA77IZ8V;bygJ5 zsJ0d5)~h+R;;z8@ws&!Rk?_1*Lq%hhFww;VhZt!qdD3s-YQcZx{L|Cr`lcPky5>EL-Gj4S`ZIQTmXm@%6-VQVrbl$vTR2X*xuYUD(Wrn71q1Q zjqO;}9+5QpaLT{NmeI6E9mrb@W{`K0SwQ$hmwL0;tKdile!dCIT);B6S=43pK?4%^_)f*aIr zsDq;RDd{c3Tki?CiZnu|q@j!zjZg&(q`=}8cY%anyU4U=%9$5Ur^wxIBm3;Y37Sx` z`k3Hn+D*pliANRsFnnIvTXwuW9`4PeRn(L{Gwjh+V=>=KqndQYRBLb^eHjDz8+c{dzU zFCAD6;nNE>^DvttD>d^>ma*xu$|;apbo%i|r@1|=y@VNYyh91oD^EN-Gp-*Kmun9= zM@=*WkE@2iL?(plQBm=5Z;Y1pZXo9`gLnn^S^8J#Q)<-!S$L)FpF^!}$)I*yA)~_h z$Ze!>FQA|pZT$!v#`pywS7?Ro7Tkc9Cjy}sfq%4)!J$43{iew1MRQ|&w|^&BoT5_> zRky%IBREY&#&o&9*?L;uv_`G=DlNevrbt=j~p8356t+=UeJlu?6w z7`g(GU_sPMTbaEqsp5FN#nCsj3${mRy%pJ-N1_RjpwS`v>Kr-)gWvo{_pK(B9rV12 zug6P?`d~1;0||A9QNBI_hIdp?-qam4VabprD`c*!96cqn<42jSwpOp8lnx4Y+tRUI zHoH5x?nJvSKX!=Id!Z^k`DXvnPlnhh6A2TS@mleQg#RR;8%Zt|=os-Qiwl2m-kgJv zh(Zb$MotdvBU2ubHap~3IVVdh&!#e794~9EG#z4ZXuwYYp~YFmFj)*sE{_^%9sb~ra>N>;1aL~C-cXtsuy)SPIEwh~-agc+H<=X(Z<2lKfte0fDX zk-I4C4GqDBh3y`0hztm#4fYf<1P|?`X`sm7UX2&)2SRt!o2?fK{#Lpl{mVoKL*`2;!8} z$oM_yrcCGQESPX~a!?@D;@^Y`@HE*)m~bf&Fe?ml-Ve|oHC%H!Mxr~Ss&jx0`YI0c zPEbyKl566U7dd$sZVyf{fJRph3Vw#uX(z;Z6KFfld$~g6c~X;0h8((F6UYdHp1_D3 z)Qb$@hiIwEwTQ9;T-1m@Wt`Yc5+{5wEMGoWmHV1PhgaFC{N!;?>E~!qPKIH+%Npx$mi0&<3SfksN89djt24>CHgtnGilNa9|(vvNd`hlNAej}Fg zg=LI$4~%%zt$9{z?evEKjqL1+3@jHheGtj6Vh{VvnMJJhrkWBEI(xOJTa zpoM)Q-+}#TjrIO=)|^zxW7g3h&6ZeOF>M)5DYGIwFnPpa;bn z4bI|7$vMfE3A$gu;}bnN4>IsG^MdV_k&DSDNz5m(>7`w`<|vIL!RwFjko>NR!q9P*dg zz#lq`juzGRR@-*W!rRd7pA=d=g*vplo2qpfk4Lt@EC?0f=V`e?CiXi)B;T5rtJO~? zqJkoJ7;cDQSJ&pghHMY}(G+l~k+O1Y$~x=b)xsV!dv#y2J?%WhL~XjfCY4#fUbC*C zm%4@_5yJUB0WH+M<_i-vG2y&UsW2NKfWI&A8C^DXnz=}=&%h*afpkj^qzyUdpJZN) z;$Vd9O*t4Tm;?CMT^EZXmJ8qQ_!}$j$oR<`MW^ZAqmj32$2|TfaYL!$ z*f}=cCOhmiG#&*6B{_)r8o-kk^V?_I<+a)P7#jT4fSf$`z5Xn6FsOyKa@?U_74E1SF~nN z?m2^A*Xu^5=aHgzlLsbA45OZnsRwfFmOze&zpQVjI2Dy!%1;pvmaK12pZ3bLmi~~! zDO=~pc9gC%TN;veWc;zi|2SzaWnakmnaff~o||~_vv|?;#Nz3rGP~41cuf{3 zU4BHe(JfQ@O-3768zhUrl{LIXJNxxf-Z_2*y2P_4lA3MelAzISrOrE*UT9xmKxxRj zwVfmAsUAnspmHZksVA*%XN(`FRAb0qqtXV$u(EJc1%j0i!P7+ST3?u^*&3W53kPY;NI>qW#=To`c^6cf82cH zSGJprS2JVkT!~3AZLu<7$=S!|p?`t%LY?g0M(pjE)Em?BTWHmIFZKrLA z@x-@fr7RgZig^WP&Qa$rh2$LBiIBS_@2ttEx#km@G}m$SL|x&@R+$|`GD`{#!|qh; z^==s9YLLgGPK#{C>nZFTV3VW5osh|@=|q!qsDrdZD&0~Rk)RBf;EI+u$~qY>p9sFA zK?MpnYu@6Rx%VJKAHl_YJIbCiCYna_3HG-ZSd!20W(%&K=FKIywA$<7MTnOa+)P0VW z6$3di2mHne@5$P50V)hCYK{Gl+|(8xb#J(6O4^-z5nQ3R&{|9%0;}IX1HoQjN`A9HHpEERXUl$A$2cB&d87fX<0*}zEls!@$ddm z{>Hk@V&PL%iLBa_X-zDe%DUPR5G4RnOX7au|JZP^BQeI97ku>o_9n5@OWfOZi=X1`z%L?RnX31mF6&=^s5n&6%XrXYDjEgq z^c_gsH%C~R_ykX;EouUj0ja7Lo@+V7GRk~yzKWxv!PahUD~a`6_~P`o6luTZA?aA` zZ}jQ%mnGNy&L7cOIic^w>Yr@`Z$&&vW^Dg8T{yQXj{mCw1)uCW{I8{3> zDVgg8*8wLkL&ZRbA9(7{8+s;N>t)J&(=>Is3rRcQ>rcMlQPKQ6b>j*oy@aK1-0CIU(6_yBHsNO^n8LbbvFOS!7XO@dt*SZ=XFS-)YRz0?Rv}vAcjb=E zuiGtuSnM@b3PWCAEktoQN$`dofy(6|LHivP-c01VV^>#z@7LokAc zD4tdZgtzNjgFK%W*A^aFBNjDPY}A7hentw)WoA6^_dr#B3MdvTe!ngGojlmT-AbPM zgfGXgzs%&p&~m;(Yu_q}$yStKH8g@P)fd5~eqmqdeM)RY^C9yjzdr^CtV?u&p-Ha>J!{N=;CirBGA@9VB5WA7 zK(XQ=ZQ1}qos)&VMu-lURnLME>fIl@_ce(Mj_y10-hOA`-l)N#} zt(FYa*nQd44n?d`WSq&tUPd`kr;*3HgI!-X3DS?}*ok^w0M|RgBzECjzK@<_aX4xP z!}HV1;+cygd#l5SCd#l|ItGqtAVj?`xr~?b2m<>#bNsnwD%>qO`#q!y%2f0&Vx4$6 zomQ{AvsL;V1hvyYr)@!n$AoyavU!y|m=}#8{GDPX!vVxs6|Vee#@9~e}pw$OK4zvDSOP0<5yxe z&<=UTTW!neIK|0<_3}5SG6inqzpT>jo!z1s7xX>J;S1Yd8l}i4EZkYPj3Fby-|Nmv zW1AjaUqiXa6kCp12iiD*yRNu(GPSK`@h~Of22{IdkJCGN29kdTSYr~DpuBMZE9a(6 zfx?GIH|_y9WftDQ1TS|fJuJJ!Od~#O$Up*BSLDdS(#twSxIu7(QBxJ^lvlMhwy6b` z=gjXQi40P?8AyRq&%tz!&H~u)WAIxKo%tOyuJnT6z;9KuVwTh4M|J|aY#xQZj*;c7 z(Mjvd=|z|w%7JWoB3dbmxTFmX11>_&nUU*nrnIu+sq)goVO%`yR+d1&C!Xn1`g37z zFSNQq7Mv?S7ruyVmVv}4v@|p*93Qe59x1v*Egs>-jg?*>j~oHol=LZS(@HNEx`?OM zlu6bD?(hl{1?8ceS`2DwrEyW3cq>oyQ>v-F&l|5>7F+B0ei&SKuZ!4(q9hwsM%XfH z&jLMLdD|_)If*5gQe^{*AMdCRzM%cY!p-$!Saa-Dg51$`ab$0Gu1WO9 ziA)-5wmgIIYC5n|-xNPd*^?ZaS~<1$l^Wbqop%bsOS=1Jz5GYRO!2u;y_ea3;9Ud? zDl2%5;s3UvJT2TZ_(0L*8z>B4?NAH3Am0cPNjPOy$|fZ?IYJ-`5wE-Q9?=A)HBW8p zY6Bd9Fe1z3WljvYD+5Udh7ytNss#BB#t4~P@QU_W_LxSyp4u{6JgdjFye-tFGEKG} z?*opWCZSe9UBY~2hgzg=&6UPb$~_}s&E1#2(TiBZau@6ncTfy%7(>7~2}~JCw73X= zF@IFHAOp!i3;0m~%Iehj&qQ42BU`4e>T55yJBhZYE}uB*2w`v5RO@^ClC0aFF39OH z?O)^z_m{?+%Rf4qaysVWNb+hOk z>95-;D>R_70@fmEhupS+yBNs4jUhYONO_+vBL^aV^tvF*x(aAKivpVCtufqm*x%{S4Sg+_7emi zRo{&rpK=bGBR=OPo6M?TCz>^JQ@K~Mf_85o)67%y4L_}Wky>B*sqlTm(^LLp?7`wp zA2`%l9?6V*Ne*Ifq*5#OO*_2Av!XS7f^s1XInHIisD$&t@D_42G5K{t%;a4uFw30X zuwa8xEp623hWMOGZ!Yb-2L-EOcpC?S4@;{cGiLUi92Y3_m+>{~H8qe&Ecyti2ZS3F zSf3^-lhwMhs#-}jrOt*SvI4Ap2Vx~d$bKGP=s{V9*O~&qlWF#BZl;}_s@Y9>Zw%Cb z+dCT^`j++_%Vp>Y^@YG@09aVJFT#^y-2|oWQh$GO;%0Cu;*!gV@jg*6PV;SivdLuX zZkes@hV<&C25IPSZ5F6)^cNs@ddCUybPH*yT{+@s(Qc|0_|j>4q}<096?sk?@UYZ_{B(Wga^kp&|-L%*KedtGCfS6`gX|AoCQKIM`j;b}c#XfLEHs_@E- z2cv~2OWHJgoEAb%pF+j?@Z#~X@Dbvh?DnKA@|(+(cXfbxp~=S|$=OO9q|ye1M#C9~ z^}Xb(u^%eNG<(kMGLK&#Xyee=B#~HC%r~e=nior2$DX1j)f zdwY5gx*s%Ds9Ksaep7-fIe9(DAgWNO-}>YegsUQ>dN+`yxn=M@>DSuA3hN+Ks~AV7!z+_1R4 zlQHeyN+v{f=FFC_2F7C1r&*bLsmp}3D-Z^z_*L~G`;y~~_BQOK z>_mxnJWSyi$^Gwxs_IgsSndoT)&d)bM3GV`&^45CV|Khn29kAlJtG=7d?nTqW?j5h zDynfu+CrM=s0;PmpG+6@Xk4^-nO)B;{hfuhWsE@8Tb%PA>PnM>yCbxOd0uh`&3mx8#;$<5j#$*iVKp*f&nAF6ua>@My|?r12FEI zaO0ZnE>Ed)@cKa;&69nb?Uk)jwUoT!luuv4;Y0;_J=qXpAoWNJiIXV`*imn zyk|6IA|Mj%=Ms(JEM|;lWmDZ&WEgT^-rOdX#ZBfKl}D zC@fAdReLMsS5+V1D0%u)2I3{JjHjd8#e7?LR`EbYn7=UuG_*je_?pfFap;jr+FInJ ziCs1f$r+#?d%oa;>>c}YaM=$WIvf}PB{5~8DC0%k#2AB4;lT`~3>eHt_FqYWB)}cb zi3ys}4t{9PE2`}{PGx6=_?r*54M1(_)8M4T8)Xahpz5RCU7|r8q@%Egn;v7N!&?@O z1SiXr%Zu+^#%;wteo}Nnen0fb1PqsHsOIpPYAGs*QXbG-f;RRH4Ne_#cpQ5K%%+#M z77Xot;qvO}@a-Vo7q+cvGmYu?q5zJ+&YgO^PfBP$#2bodi%hhSN4k%y@eoG!x0>5T z<$k+gRBcbnA+~XI!R>d4^RaH2imE$1XEP@AWp>=QYh1SxaNm!Y4QP#gfm`t?;}|*7 zk9ko;bc|_GUt72nKF^wOm7K`iTCNYw#0{wn9kjT+lXJ;UZJ}ptohH6Jmy+LouOn%k zF>X10m6Xyyy2PwuGc|=uhus3Qs&&uoeW;1!s&7f?V=ht;w}Nf3>r^_d-4^)5@WV@G z{fs4M{#|#dbeLlQ6kHm&k#eD6iJ8An64kkQk1&T{UxY=I;nKY-k2;3AH|bJYI?2k= z=-Umn(!*~rQBh-$bq_P|mfUd#*6CpBA&#}QDcnMOn|xc`vXkVd-IracCVEh)wsXqb zm%s8iZ01bYH z0v0yd)D|27>|fxH8RZP$gsha=6WBgF*_ljffAhHsED^q%GJYJ0Y2mm;i(^-gkseP= zS{!;CdKvAaefakli@G-g6*%-bYJG$aLjpFneRF~rtvT`i{))IG@{b!M{Oc{75R`Gb zcgk&|je2r`^fqyqVrXjZkf(l7a0Aw2@YZ`6QIRQHCicA3wc&Of7p?|uj?g!_0rO2` z@8yw`52gFdYg!`>dw_I=d~6igw1zUeJ&WltDS3TVtj00M+n~gj!#gQ18-iQQoJ1Cv z)1`hvDP=}W%=~G${D9rg`{}vd#j?_$`Z4GGp3B)D490z~QJ%Hh6PUMASs79^^7 zA2An3GtEmnqJauYfYC;>Uc}UQSx(uJN1ail$HcmWtgd|KRh3i4y<74yQgUw0xKsQ7 zieD#d8~|7XLT)-qO0(L>H+=J8d5U*hsDs7->TK zYGl}K#)ul!^tN5HH_ChfDh{)Cn7Tfy-Jk63CO<&U!=+@}jbl+yJcK92t)^;|>*W{e zBk2QEbA(Bw+Y9X>!)|%Vn_4v1FsxzAKW|&DziysAC0E;FV}Dz+K?}+F{(vr%O+&5H5{H zq^!wjS&Dk0bAS-F*0^#t-GxqvdyClK!=j2b^7UpJvqo0U)?=8g<_ffRMYgX^--MX- zBBbB+Ef%Q-zAdZlJ$=hGI_%8WvNacD15o|njeCx78ap+4*WFQu;qAPP2WE$6$lw$B z|9ETQ*SYoXqRkcBmKYSMnOwqZS=)ezFb9}BVz`gaBRGpAE0g zCd13)^xpC`@@>3%5o+HRlMF_M_PBVc)vR-~Xi-mcHInUksCco^)_h|dlI{NlJh>kJ z%zgXsam!rRnBwoG&dnJJ32v62;1Tb++4nS+TRSY)*hhW@jmG5LGsZW^m;t>By#hsu zcnXaFfURQQZAsbNh*^ntTA00HiTXE+!vWE}jn^ZaDxY!Lnenj8UfPj<)t0d7<60rr z6U$YD2XB0mw+6?V`3ukl@zbkm)sVbG!y+R|_LULD24Mesq=x-EO0{+g35AF9)cEwm zz^1tAr5k(ZY)+hwxm>=VpgyQPs#C+>SEJhmWm-8bj@(CPd-Dn}bDAT5z}v)vL%Hc9 zEB>5;NGR_LiCJySHrw2sDN3mLVPRx%wJqB}8X-Cumsbb|+*Us>DE-`aJ%{Q@{*@uS zK~2m$sDl>QMi38cG3Z^5&n|~LXc_q@!Bhi4^R4X&(GG{*z&V^>_%Iya1V*p02sBHR z9k8fnuiVt*SX6zAzxI`EAvC6e8~hDp(zk1$mIjLaVtd<@xJaD%4aXQTd1KL1wm)@x z_T{qv#F|(tWltXChFoU^s{X)O-|WY@qN_UBm;;=OaIGUo2+rcFMzPMVmC!Y2KjKW95H-2 zDu)^~5*@TPmwEwcJ$zCY@Gg3d-Wxd|7S|D%-hpIiF%OP#rA7Lk*3bB-5S&$2A~$xG z#JghDwK7h6-IJQnW);B#*SYl`VcH4GODGja$0}WDdqvWs(}$psMNiX6(VF8|xr?NR zeAcD0Mh8Caa7Vhy_Lj*g&G9s8xf9J+VpEV?SlB{U!}wsN(~Aa{iiww8Ci*Cu2gUor z`>vP_X-7k3USeyp`9^k@+(0_sIcnZplltTEJ?UEYTXtZ6OtPF4?2ezP7>;wTY!hFb z^rBi3#ruse!+15i?D(>7goRto%AAL-UM^%Ia_FY zkR65(#ODkuS$ww}SGSZc@JA*30q1=ZoMrxR4srH|`7-C<`f!ryc5y3q!{xHdh@ivb zBSCX%Q3B#?bztWsZ9qLyyN_8Gv$XiaI#k7}yMp5^?&>)Hcn8CV&^tSF+9!@;?OcTS zVcqeA+c0XKSd@LcM&1y2Ie;nJ3!xnrqgjVWjXBPytJJ2;??##jJ??CNfM_f80(Rk% zK-zVrotH#PELmYeD8U=t)bD1~S4ydz;>W$Y@`(Gx`ifE9pjl4S1?kxJ<_>3p#KwneC%A4+_qT&seRrRK^ zB4DdlajayL@k$HXOD zzL71FjhdNH2vf7fzpbOGS_E~Asv24~sWMI2EOty=nubjI|4~=8S8!9eGs!xau1!u?P6K-AP#3`hjRxc+*@1c|j;PRw@keGKgs1Crvpibm|fn%wGV%Cb7 zNVbIxzvRc|v+%_fHBa|d?Fdd&3APr)Hol@;sBwEdX>z?AJ06md@=U6k&;0F5L>}vA z=X`-?EwW88$JFei10|{i>?#U#mUlvS8F`u_iE+OtKW)2RpQy6VKP`i%es< z_o=DWbZP-@u#w7+M_q)R5NFluHf08BDLPQ;BGLS5;$x!+V=;;`WG!8aNz5)q=JNOJ@`JI@r1?GJ37VL~2JuL37mRgE zRU=$-HWo>&S5}ROMdDE^H^2z0qesclV!99Y()Le*_fU=u*nlt1j%?k0;EA)Wt)Vn6 zC8ujN$GCX>Mt%`901^iH=RNJ}c1bop(E(n@n_gor#D$J&GDe_g>uEcLd?IK*c z38*Kt&%iOL`sq*_ZF)4mM3-nI3BY*tQA>DKkR@>>}wGtQsNdU)LL>8O2jfBZ?=8(%@!;3&m)x9S|EeQ*K3RS91Q;$aM)=Y zmcmrYidW(B!DifDc@pmUG48d?whPDOLj{c+AQ^)Fe? zp^?;$>QCzXHjc`A1St5DkkZ$3PX?(1XC$A0MB6P-OjiB^O7k)hXt5(MAPj>8{*8PR zI#lt?RK6h9zc^aC4EP0=HJzsyuW8o;z4YyTd=mJtl7v)!ddwOMHC|;fA$bZj8#+8^ zdO*%Z(PWbOn`XZ&R<=rt)ac&7T%=?db&2(m@YRQKA5~%n{>?K^uwLAGpp98ByE3JSYLS*zh|HqY;tEJ z5IfQ=G=&5Y?{-~iMshOz*`96B5dXUtyTrST37FM2Kt|G9(|&-ci7?0A_J1k*e_{CY9Up6 zUDqShm}7O6Mwh7p>fi%4-mb|;MA*Edp+)B4lt~}mvx0DNoYhK;i_jalQvaa8v_}s3 z`rOCx>~}O0!_S>?F4PtRx)5wbG@;Yv^Ud{)oJ|A2Q%oeILoQ^=`xnzi%2^K-RrGi7q?SD_ViF zT1=ti^wP?n6)Zxs1|p&!KzNAqMx=25%^__G_~N8L_3V3*4%2Fx^dej@L-q$_kv(ky zH}5`;hy1ot{_XSt11_54!fD@dex6P{O;|{7(Kj)HaT>wjaf3|MV~lsMvVLl(bJn0I zDYpLQ`y*BCtD!e~2;es@^G#q_PI>aYwxDee=Qi$KlljytN)Wl4k^Co$LI0#lBV^O51{nWwj%mT0LhV>P{9lgR%czvUeu>5|@(n9mYoLblU zbwNL7pIcM3w(aR|w@81l)a(ZSmgC0kU$3TJCurKYY%Vli%V~Y{T~Cl1HfC#)LC8~^ zuCr!dSI6qRwj7yar!Ko8e$SjnPKk$^7>jtd8=1O)oPN1qW58qZzBSK=)aVuVeaFyz zbKM7%-l=E$!&e}!G%e_u8)>P}9y%c#2Ey(<(B|!a)o2$s|K8Bj5^&(ElL7XFCF$Q^P&S| zfN1l;h-a12=py_sVQ3{;CwlT^+1Y84F3Somjfd#nrv4GPXg_=a6LlZOv)j{%6aMhW zkcLDzZ4x6p^H#KyX0=dCr|I30J!A5!Dj-{Kg#FCeIZv(9SSR`PyNBu(`aH|XzAd3y z27#d^O&3iUrw;pomm*2_v8N(;s#jH7=rDTTJ$5Lck4HfJRu|rL4kWlX-8EfWKTJy2 z!jSgX|4iSx08_a&CFS9}-|8z&@w*24%wK0M2&9fQoqe+K@vx`slH(*>!&4WEzQ0nr z(=D~mBR{)*Y3^>9z70q2`3DAVYRZ42)ju5Ws!b#zusEt${B;=nW+{S%96NPNgc`d*6~V`1VBw%CYa@%RYH7u~m57&CalMNM z?^M0_dDPq!20k`yYrbgnu;m+u z50xxlI(f|fbYA%E9P9O^Nyce~-Id3k_HcW3*4>$UkL_(1hd~I#2=YSHNhjDZ_eI}A ztk+VmA@xgPRhWx=QN0Un?&iEluWoJ=u2?*LoUA#2(yi=tp=cJ%dXw}jM8AkyiCkpG z?A4CC!+P(3rkN|$**%PuEYhEJk^OQ*q(-yWlU}F2gXrij>}f-a;c9<`=$t>zj#01C zfA19et}!(88PTMq^`glt_rW{hImn>zV`Hs%{#5k`MJKL@9qUj%KhPQauDtLzow&`l z^{&Yp!@)<%b1^}49papKZpZwAPr2}r9aUdr8t6Fi?#=7W2_kHy^=zSD@Ze3?Z;uDf zH;mn1wByPj;cl^Yo)@yKm;QFZz?PZHJi6M6})R*mf1-(JKvg8Xs~xM`^_9gkj7Z7Ws&jJZd%tB@r|6Z25IAQ4fd(Q zw8-&=q!xovlbxKG=HHF-O>|>^3SWiXWoK~~nx2$e-`selft}=YV_+Qos%1ea%#Tx1 zGOvZd&Hdbl@HIKRtV(}%Nl$if7^n|Z$pRrC)*WLm(u3@B zpq$Y#xDKnYia*L=)2nYZj4#h<(VjLxz^Nn8ui^h#c5bz3Eo;|qN+ix8wX9)k;c+-S zGAfNRuDPehXxelYr%m$RJH8n;W{b#xw#!C(7H)7=R?k{^M9yZ+yCI)HB5PyPUdw}a zNg6Fp=amgD1cMnQAN8|SJHe3^D|Id!yuB6s$3>pK^?*<4eJ{Mdc_ZFbeQfAkFr2PLv=W=Mp(v$?}w>KT0-Nid(4v$ym9}N`L~C(-hk;Of9zRakxoIyvaX9}|H&BpBW0_7$N+ZP{Rlkr`$oz%N|O2i z*gLPNroQdptEf>CB1I4(0i=V1ib_iey@)hHQE4ho{2{%ClBggZLJ1v07Zn9T1wu!9 zD4~dmgic84CIJEoA$NGr|CVvz&)a!f4}0yo$6RC0G3VUh`S4+~c4ohTdpU-!fb;F- zx6!n#{y$5CCDqB*kdrTVj)PJ6L#~_a_(2oPi(@f;%EK1;`N?k)+sg?fB+`Dv_ToHD{c!#ScNsn=BRwpbRwRI^8(F;6h1)J}Q zd0RkJ*85qtCv}NjcX0B_4gi6&U??MXyjh8@mtqe4VCO8@^Rs)4PaNCCmX9J<#Y8U5 z`g?On;nn%0I{~1Kj=4`sZS$1dhRa65l_fsbkdbR@C&8<#BEoe4u%zfIbsm{cu6%Ub z+y}GvJ|E-qWoy-{F`q|yBSLB%W~-O;gnIk~hoU;v1xcMp^D}9Ws}$Szt4#!#b$(UG z`&fF6NMVoPTD@*}am^pD7(L#=YtwngKE2}c`^xt5YNLteM_E;CKK276T-c+otI~uE zWBz`gQGE^P>pG85XG}f*xY@RG?RL1&Ou6Go`p4*_7sXU^IB1`HVHFT2TD|Rr zh$J(FVEX*5R7bI5L`M~mSt}{%)F&9lFml*&pY!#q=mF@}w%6gCRv?4pxXS^|L5te%Km_>HY#(BtTJIg zi8~X6^>S~?8H8he0m7b%J`K>ij%U-c8c!oParRfO>2sSGN<;mWwkN`|K*s7J0oc4F z295!T$O5%(ps%A#(!hfy!w#s$>SrY~)Z<@&SOs6tSy_Q_CGK3t#GVXM#B19(za*7p zI1I#F*eflTy(_k%p0WP%Pw-9L%1#q^*^cx~3~z{nm$qedL|sYp%wS`(%1P!b_yL3}hzTIWATh6?;*+B!2|$-C9^-h5@U0 zBoHwd7;-ReYu4)miB!a3)j5aO#kx}^Fe)JOhvS~|>y@nou2(xshp|T(1&=q8EM^7E z5zq+)p(ExhxZB$)#?i|b!BrhT51K}J)Q&l<%8Cf#{r!`odejAaIypd@i*uD`Z4@69 znPt8D$~2$5b|Z3XClpt2v~2gQiss|6K5_zk zByjbT-GwQCAH}G_2L8;>llB??k3Utm5vy<8EZ=@mS>bc<^2kl>Nr6>$J7JoCcxCit z1CL7Q*=cm{;}4$ggV&7fmhWGvn)0zt7y)593|18hLLL4=n^Elzg7nTK)6wiMWW%f@ z8@l!ias;|_4xHc_q6*Y?gT@&aM}YgChVPrtQJ$5_&?Ik6j0MZ*kh38iTstC|#E=k8 zyzYzU7{THw2b_t;y{b9lyHXpPJbGd+_zI4k*mP8CM_?x5X^4iG?vv*DpyHP^{h`S= zqI0a?G9XRdd7@`ewuYP*c1&nTNHfu&0V&XZ9v-W7=}imHCfRy+Zq2CFi*}`Rg1)D? zK#o2*a&3nXk?@S62GezB#W`Mjjp+9}cON-NKUD^!$sC`U-BWl?E;!&gx+8j+2s@ku zULZi)%t4VHi@DrG?SCFdFC_03cKBXs8s|}kIIQ%FoW=*-NQ#qDm+ooP1w}h8Vv_I_ zZ(Es#$oir*UtYU$IaM{ql^=O$NCE0*@yhBFZf(Z-ZU1^ZaY%{QrGI7dR#1lV1vRR0GP*mZ2{_^lQMy3a5O96UIUHP=l2r!s(6xmCZQu1{r#r7E6h40Aq>L z^+lmCnI)Ovfrw#y;9?QE*pPb4|A$lXjo&L22=}KQNlc7Dh`hPB6*Qu}Bn310#ljK4 zh<#TgNImxBhe`0Y4=co`v*|nX4zXuKu2gA1Y<@LSf}R=3wXpMA{3Kf(MCIoH5gM#Q zU12o=u{+|LF(M3EQSJNTuTc_dnuF!Z4h4%}j7pTKCrW?V>|IY?SqtNe-MP{ddz_&- zt8K@6xh0W-7(kt~hb@-J6gyHm^?rEm-Tb~nKj1FfkvWVx$523OTd*QpC6W&ZTmR6B zm?PpBS~aKGYUf(k9*gih`Wtb-LaCpP?$!WdI_AG6b@EVj42iPAADq1XA*0o50-I~W zB7#BwI%Y3()lbWG-^|ZTo3AnJlJn6nC*Dx4Q1%YV8_ibZOIq{DJ8$T3HuNe&9Z2fd z%rBrlsZ;DcQLQUTy!7jXiMNl(Xc?CO=bEpbz(4-_l`qp9&e(Kcx6iM5QeD|~vs!C{ zsGe0J>>WNZnuz6jyXH#ZxAHgfd==ZkRoAULjhTA#b+Z$6O(%$`c;Q2+chK3H(qX=)wwcd&h_|YT5ExRS)IC*AYJWu}7%Xhaq};V0QGlP2U%lCMk+>b=5Iq{g=cRYLIlZp%-AwzGrP0>1 zeQy<=;;=LV*gxXCDiL;Ja@$8UYJkCCpm#Dn126WerHzzw+i}^%sIrQ3PjWVJG>?O7lQ|;cb0`N5c_~=$MYDsF58@{nx)uAj)?Aa=&ULo2(@nq9Y(b=1lf8= zSms9b)q`7s~Qa?Y% z^@)8|rCsuCyCWI_Jc4T<;rr;-ad1Aa?K7*WN$H5r@ zs!W78Xiju^Ovea6jq=2qUcFa0x13dK>!*+~u~C1eo18>ADiI*Knee1RBdFu?bbRR3 zmzy2z1=#df6&tgo1%8PMIR!LOf#yXQeF1k#jA)~X*Pd0#{0aU#ng-|1S#yV+H{HI2 zc@-7HjW>Wo3rIz^4xOBqx=KW;cOPv2_*#!vz|Z5>0-6L|whd-priO5O8C+}5uPgdI z)1_glwMB&XRsjDXmPVuZ&(*9sh4DY!Hr9NVz&KlApdOCFi+^kB6im@^Bq|tv@cI)V zIa;?bu&@>yCg`)Ri+GvEI1Mwn!OANTuR(Mv@o2XaRZdmF{)9%37VPuAUh_IQuf1)4 z`06DC$nF+Z+BtdF1w2>I{rwfi6hL~s_fgl!C~WwN+S!@aQzGChf9Iq~lKMr%E{Cr1mne3WRhwm!d>?#L@X`M`d=GmjWA&mP zDBk}?<(vHm@I;r$bh7Z{x1QevcgdcsrD%EsheB0L{3Kw#|O7BE-#zf)AnYJ~{+g{72vXym| z`}`vsaKM>WXp`{%Hex24z&IzW#~qGFiB)K}_oNsXEL#~>;VBPGM+Ene-Cb1(6YARz zXo>1%2+Zmo3(wpVt3iN$>=siP?YXsJ~w{;&m+TynBbxkUw+8= zHC1)+$}bU4dH^ITUPE16rp+`zl5a7`Y^cxsVfg~OzHrRU&E6AL*H3fFu=1LIuvnyxF|gi~Vy%ARp@4N`S&dec$1PI;dAjjNA>7LqO$HTnvk z9f#IyoLre9aIyj%HzQgaV02wCXbhk@8jRB&zK5EdCzl%1WWP=<24DV7j)fe(vcr!_ za1Bv6*L8x%yA{8}^!r)ZD9!D^D-)z$vYzMtJ+#9)TztgZ(uM)Xn?0%v~iUh5nwrqq$95IM26cjY@7b#PRCNANJ= zF+&5X`o{L9ra;;)BDcxf3o zzfmd4ni-n1c(ApQFIz~bf|tet!7$&Ij<8dcJJ&ShE;A$xv<$+d%q8+Q@ucKOjtlWd zMOD=ElH)3S>bxscVVsm5XiK~*LmZ}chZQL*k%Jh*pL^K4kQq}rOBIeB7u|#Etl$q$ zx9_MN#)&ax*jiewXyhUaxPL6_Ch(6HV7_hdZG_*|u%AV$lA7etA}759j&q}I)UO+U z_X8!CEW{@DUHfCvGyki;e9;d=_!+Az?ny4qJ8lzj#w^K1{bu=hcz)8@Lc&n5koR4; z`2p3pU;J)~{KTrtaFd(z0HFa#hfwwnR|UTZ+9$+6jaTfG`fQmwKl-4&-%su1&-D6B z_sJjZPM8F6RVL{-+?x0vW{+BXn&jEbb=68`zB}t}uAlOqpP%Zbq{+2}lTHBuPn2bY za?p40>BPpTF`IqRs}}73<`HvtPxy!-aPE*?2B3-gPjm#!Hjq;w$3Qz5z=?q&5R~pe z&{&z`HyE7Nur+>e)M?3C}~+lyqI1<7|pwJM{l!ao=lh zN489bCe1%F6|4|P&Try4u>+n-3=4s6>3W98053&r;tZ4T70fO6mYUP#N+(Ermq*F* zVMpb5&bK5uGt?b*pN7YKU3%5hA9T(JHph%96QxP$P2l(BipiM=$9Q&x5sBUmXshls zRxIpNr^R{rgXrHp(D-v6WfoZ{(Is<`wLIfcXo5}`#(dDW&XcIj`LGv zykc?O$J-kJJ>&R4>+a?TZMfiSy0r_nmCf2h9zA6wc8o8w@VJDk_$gyq9lof~krEJ| z7$eC`d~e?ANvL0oF~0niFS@={Li4nd(Iwur$WloOH8~?=`MYURUrQyRLcK=P*VEp7 zbe7Oi>or#NO^a??l7O9%H4;B#6#GIseW`O5WE!!n9 zjtjkFCzT_M&N`_|T!ljaDwn<^-4-Bzj=ShNnJUs@3O0MG-PL z$(i{@eaTyd2-f#XDf+#suv=7Dsqeeu=@;EdSkwdt_ey|ik>!v@HKpJ_1qWJGUDF~| zbgx%NllG=6Y*7QY*QbP_MYkR-w*CQ#iM={?=iF=FgtC_G6cdj%y2G2Any^$VCiULP^x|l0(zdghM0W2Tftu9B^(8SG zY_BPpnu0!?TaYA}$P^ zi@KgLpYT|+HtrYZ^B~UoMgG`pwN(S z63uSzQfB?Y`AXl!HNu>9UHu?v(-*~r%!#9d2lz151X9zSR8{bx@C-GH9yTXYus0ys zLQUK{n3HMU8x%dHqSz;qM~?Bvv>g|hZ9ippN{2UYI8yxb{3-L}mw01)^~B{zV$9Ay z<&FQcW6D=S9kC$Fc*4mgV|O!k^_`=-Vdmc*6z zd(DrYxf}DHzeu)A*6j4{yK$rFqRT{C^AqxSV{z6+^5gH!xSrpQ|NWy#ap#>m$Hmc@ z?i)pNgU`%3AC1QS{91HnrQeu(uM^0XkX+Qf!w&TLk zDTC{ABMDC~FJ8bOm%bj`cjt-xSk};4*X!|<15XrbS@>fDH8EY6pUCw;7&>#mCT{%W zlPhZv@F#E8#148qQJDHQ#2r`@KfV4$iTMkEl-oC^Lu6jIM|J45nQz=!-uz{fD*l9` zZ*0Hay!=G{5SOQK{1jnckzSAI08?XnAoFtg;2};2YTQKA{FSX>JV28giw~PunB5x! zBB=4R2lGnoJ+Bp@mew(zEV1KK7urv28|m=mT#b|xnUB@dyTp?%t0#4FBv$**Q=VMa zPAM?OSWAaDB}-CLN~q6R`}WA_snR6XoCPI9#r7v%pEpJ_Ras0iu>2u3m^&e&69d|9=iz8XmH_C(t z-L*{~jpW?=S_ax!(K1vY$yW3)6P{ktHV+xe)!Z%5#*RtjAxLh2|ZolJtEmv*81x$O`rXx_DC3V?FsQ+R6?fca^H$S?7)+XBw zZdGSr@o*8Inrt@k5yNEK?+O)ZSvLr-^7kbp%jm>;=l=FxpBy5|$qEEJh9r5A> zw%ydzCs%_&1k>Sdx?oC{41_3zhqs$JP;yk7h@h?gHbYHHwo({Tcy_eG5*qXZ{&0=<1F)d z(WU%la=H(3mY6fvrM&6yb?$wz%)j`fRN&itUHetbf|EB&c@o`qta3*31iqG@|KzS~ z`+Ee#?O)25zoKK)Fp>}6E){HE(RE~u6dXP4d@e%hyG7KsJe~w+{t}^%2i?~&r|&rP zre%M(etRunXuw(EOLm9d^0k5!mz{ayAAY}^QJr`Gqx1QShaHc8R%5t4ocVGmzu&K| z&IheK3pP%6IP6vzaEL6Oi&pz?ndFnlm$$@UuGaBz$Opq|x5S%?{eG{~CtsMbBv6O# zu;27406>;_Q1I_o7)qXC)6)4Wc!%u_1p^FQ;w#wyZqq`^7d==KY~Am0JfyUWQO*Aw z!vE0_mj7=E|7Sz^@qa`3KbwU?dmQJIwT?@l(mrkAt#dBbB2xP7lhcO5m(Haa=}Dil zj5Y9odM@ojr!==utYH{$ak$M;X_N7w(3k>cc5!{%<+$R}6wehSMCj-vYx|43Q_VCTpK{ zJ*6wu?QL*1)iS~Ltdmeru=Ldw<2$Zrtg^fPU9YA+9B}3K%kBvi_?)bN+4Z!^!*1XE zpHuIBbmjWzVNb}d&nc!JuAH`$-GPCh)9lw>fuWN<2yX9WU6JKehHBkDX5Oh*dCOzre?(vhR5^&Y=Ihkkrq=D7H2{b%3LWq3!* z9OH@Ab1puY{!CBi0b_juIPI)hBFb{ zZbvwTIv+<}ML#*~c3eWJ>sj~J44(wIV|>}2&Tp@#yWep;shr*Av3xZXKHzqg^I_-H zjL&G7%WfwW9(Fzd`8gxtqZ^0tWT$KG=kymIZUBwRF3;W1nc?fCBLKC|CrRFDClS(d z8MQ9=A@2;oJkl{iY^O`5cltkeq?0Pxt{0o$nV|&IQ6Rk23G)Z-1|gkLf_MEh^Cu&y ziNqng-|5!!C*3QI1c2>#c^&@AL>}0za{ad%{*QJN=NbP^!~fYdjEDSJ^!d+*lgs~a@)zNu=kDv`&Y2i4njjnkoZITu3bt6v&POV{cxf)crsmCw98b?bHP(_Gm?OCFDR zFID5FA6QTXsuPSXc}^TXp^YED;(z`ePt+w-y%UzzEnjeWdJ~@27)*n**Vn=-zf5F9 zl|y$2a&FGLB%IbbTtq&l8@Qb{1QXIi4hL_3vj(F{ zjW$10K~rpgJ zo-HqKO;*bU9VTo7O;rYo3b?9CBzTfiZda4EsRFcTf~SsR8{veo+OhZZ<^HXvZc2p; zxWV{-ffUf#ChMjLiRAZ-8)rpAUXj*#@}OkgxyP|}tjAv;y8<7%TeBD#7A`fla?_c| z-f}Z{vnFBvm!LsaAyaq4EPLY>q~NNH+GHOR7NjWDR5~yZsUF`$Zym~GzHW+KGjc-qXvJEy5}t8|E!7Jj>17d@3*>#E^{a~SJ2doI4HjHA7`FNG9fD2kI5 zzzY2saZ%cbRZk%`_XGxJY}uT|ZdIc3)Zt>{d9ifd~_lKNlk4Q^o6%HKWf<$ zLn&Qx)tK*H)Lfu$55qZoSsWd(GUi5%sR{X_OfTdN(Uo`|VLrWx%-HI#QIz=SJx0sZ zvEeyaxX8ewGU}$`Q1U0NZ^3Kk>;`81O(Mo1Yk21QP?>F*J zphv$+DGZ@$+O3?-l<|6~6*v%^zYmRn1d|1FZq3t`VZOx)y1yM{>yYpOX_!qmo%*e0 zTNItE(L+-uuQ~3j!Derc7Fc3J$|qJ1t$&{I=kg=6bksh5AtN3kec(7oMeRWn^~Yv! zwLkLm8fU|Db-Z*M2%XzffG=cPr5&}yKQZ3muZi#ta-KDI?%_(=rE+S9=B^hK%p5gd ztw+|F6;-JDsNx+hJTIy&9EzAf>t(4;k9x|d1Blqb9XokLbuy@Sv2OKHaZ($r5fD_% zmtz7SSi&^TXu}Ea^HbKC;MA6Knce-DxCrW>?rf^V*9;#C_6IN?Y3b=1`m*O5jnR0( zq8QFf?VR-uec|VToK#+>2465&3sQ#);>IEs_CiG(*{?S0%hu{KmYy*6oQd+~J8~!x zoCZ+@_F6?GLcniTN)f&rx0;f4;laUkm!H$Ee`5Uu0PD?JxCmd3ZN`d!>yB#wsK<^&>3=F zvjk$-%14K(RB+TG?WAV4(NhJ81>Z=ORoZxy)FK4uhyMm)Cl!PuTK;@UfXUKL&0RGP zJ9q6cH|)Db(dEc1=>65qN0|IF(PBb=ox)V?x4STkywA1E>H8N3%t1r50k&S(>TJOhw1EUFW~UzF+1_mOzNJI%dR4y|efc&x)9LVa zK|e;3CW>)9`1=&($_Ui)%$Vz~JuObgZC0K5NQ z5Qf^L0ig zZ|}y!TTu(PA3m-?ascxsXI2RvWU`LG&DZJW1atTnwega0cBYMXP1$%O59WSlQX9*h zKtT%X7M>?+jblECwdS zUu(DupzyLPJ9K#3dS{JN$1dhVOL6T1Hw}8xY>63gxPFTjE;Mx%{ydCrRFf89#S#yB2Gx_t|YUoRvmZC+2_qzT5cdn)-`ui@N93)Y7< zZ>GoZQuc$ANy0XtXBnBK-!}A2ZE%(CfjkQtnzx6%i|Sb(-jbz{G0c}p!@FlRVhcox z%N?IwYd{;Y`MR2|m%gw=FMJwkR_EZ#jD1rw5`bk+$5H$XG#(tlc2~NahV-$sA;c+X z8F%TnLPVdseaN9&xMFC}?vvNyPgdj9vO5^9mox$Jg}L~pzIo7L3V#ocQaTfTs( zSOfVbcK5v`fMIWXu2@mn{+ab4G&4JsyX?>-U^@TS&p#pOmfgM~@;As0Q@aPo>n{mE zVb70@qwovnG0>hbAary};MqxIg|1c}FSsukE6LaGw^<33DoLr^OA`G8LYKeia7zJ= z-8q1{cTYk*3kfX5myc=Ex8c;vjY)3Y*dOU8PtJ-`#AuGgK}!iCZ0}v?mHWTfhHhOy zd?Agq{j*F`*eo`&m%Thzh zO!HWnq(;CZkO#b_n$rr@-snVPx@T?Bxr5O)`65K@dW|3)CP;MOGCQ!VynaYfMQ;>B zfSTwH$(`t_S&_j-P23_B=GO?wmnj`GtOlW{o;16Jf#qo#e-<+jpt{(}=YV|&^1)=? zueLyoO<;5E)MOBPziHOb%Yptqj4^r8lDSV)Uyb%O3a{qy4O&6efX4$|Hr0H2cbw4W z%pC6~11W@r=f$o-i_OsW_Qen5d!p>$44Zcl*&w`wO8O>ex@xvl%VP~$ddb%91NO~B znRMC-ue)$9GZIfd2){TVtg2gOFNu( zJb*2NFLvPp)aP3gliJv->zc_RbnZWfv|w_NNtnrj=MU!(ZdqGl$C;t8yV>>SOz%*k zoJ+wdQ3UHu|a^we}IgyNrQ81eyFCy1*U=NMPURfG%HH-88-tnJ-lrf)OT2~qUD zEo}^9`r%Kxt$21cI2K{C+1e6Ma$1(8uPM^M-wqDruyXp1c6%xH(NZ7upuy!PI_NtOGw1j}d=997mi}zI4k)qu@3DjRp z=M+)nJE1L9gGx7aqhNHepZkHq;npUhz!Hqf-2VW&%uM&pEfMr?jDXxq-v2Vb|E1OQ zU8lrr0{BR?L#=D1VmOJ1mF{+!uMZZF3N+u!UoRv~ zPraG=MlpT}%t3A^?;gVj;j2NdsE>d_{Q~?V^(6#ZvG(?8jpuFA*4~XbzCq<57sEb% z1h7t&UwKO{%p3YPewX>liFCQ z?g8Q<3xVBZ?P0Yx5eJ-1aa}ixZqEGTFK*nR;zEHrTZ+lOyxX3Qi=g^v?~$6j-J*m8 z7ii+LRkfme#8+^&0$bZn+C`EU$#0UoS2vw?yM}`%&n))`cHi?6-X&^MIU&?GbGr%)8Of=Z>-Lc%|gyB<q;#pU`b7T9RPArBTH3Y628o$$MG3s0r=dMn#lbJdUx zG+^m{(R!}!w2F$$Y~GsCQcI1Ort#0|%})P}QGFpk3a=8a-GRxZ*0JYdV$M))!}Fza<@4T^uHxFc~9 z)aO1!cKCY>#dV#!R-9nccdDO==LZIID7TZS4S$y>YN;__a*yC3TPNDDCRl~I0&`1Ba1x{M zEI}S!ZZNl2s?BRGQov0w`f4iPABxBuyVK2;ObYPz{K^Y_+>e#~dw_f!DGk{mJPy8U zp$5D=WR(U&mxnHe1-Z=RBI;C_Kud>>15KDsI_=PQVSM{IdCSsap+b5%{2|@Xe#CEX zR@=eU@UL(F{L=|>FmcldH?r3Y2~a9~oWq!};j<%%Sej|XZe5TO2k9#Udpqol{hr<< zbvlM#ozlkIK+jbmcr{uB&!hv020ONQ^jpiOt4sE=S`MZvQR{_-d^v{j{T-FjQcTU( z5vuCLZ7u4n1)0;fLCDO%_ogms2fOEQQrnrfx*I&caV;&R^)?bnlMm7M04y!n6$hm# zga|Iy@~}_#Zaf{CjR^ruay4eNEM#0{CsiIhwWLLVRls z8?dwzHqv-CohAk}VZVZ(XK{Tfc+L>ET^RR={kJOR_$K)#S9#pk$jdTQLpUs<#r_ zfff#?6Mr?LKz07r@%cYV93hHmLDpl6uJyL9KPZ~|oS{tEytnsSUr`e7`1w z8phkUwrAW$J{M(S#aaPg481V(~v=LIty-&ge#y${o>ZmhxkG6L8!gNE4?f? z{O9~XN#sYl6`IRF$BFZww}Qcft&W3hmHuDX`HBcor2G`694t){XiW>hgeEn+ewn@2 zvS*W2=PimuNZ}Uah}U5+{4TcAlwB^O`U`pyQaIBB zCNWe!c=v40;@jR9HQbBA>xwAhTQ8YU!W?!7Ey1_86qzOxo686?z=UuDH~oXdrAckm z{h^n6YCUHbjB9hy_73AQH(uDc*LiK53msVb4<>JayH+E?GkBr^h;r^|> zOK^Hd4YKChfLIOROeQM`9j%h{CI54CljEjKEIvO&m(V71W0#g0mnKBiE7KLB@89I2JZ`N&$3*<`(p( zlUPi6v6r<`Z|K4zDh>xbCEN5*bg&9Fx=MZK&H)hriJ*l5e%wY2SG_1B+yyhYCG?#p zfM$xP7RcU6fyXym4LKGzJpx~l&p%qfG@Jvik@Q-NL^Nfi|E3?A^M3QM)7r>9r{5gERUOU z%qMcZ>^3{*6Gb@VdE5zR2D$8bvdtRX8j+>)U;v-)DB8hNLtYLM#+ ztZ)%jd3I(2CvlL-s>$^tQtO%4GJvJSC-7N&Bz$(`!uZBf`1;R#4D&^vDhka5nzJ}* zfx$a;1`;Bun5azstz*RM4nvQgZ8hh!>E+Z2>T`DHdQsCO=-*N#T-D2s8??Dz871g! z$K_&23^@jGv1o~a53a5pK*IIQj}f1={UkV0NOBPHTN^_kwl)^je159h9FNf^8h==P zMLlRs_lQ2Qv{UL5U==p~W=n<2R^10W1Bf#wq5I!P9hMJ;T~k458>X2L^xl5ui&z_` z=jdz+p>Dl**6O$UJhL$_34rSu2mLYwQz!PFWk6yLmt^rP78udDBOLXR`vGPaV1YYx z)U1&pKltsGJpgh1Pzfsf_vdF)8~$VW%x{OoQDLlTF`+sk*NZyHH7Ll^Z9xk7@wqcU z_f5_>^P^iO1M?c!CFD^WHrsb0y{5MAN~F@}ft2F32S2vCyo7mEx>{3-80jr z&3UU!g#<5f55lSS`PLh2SYS1|t`M@-sKg}MvmL89-RmE0J6mib!wROLFa^ew{qrMJ z+E~`~7y-C(&D;-m8PyGwt=dJt$5>z-)9IHml3Q=&woXiH!@tpA_gfL0fAOM})|mGs zw%)KqfkH4X&u`OC(@~IKFKK$EZH?e9IRyV+|E4Y6MUM$tH*4?n%j@dgbHq^60 zrw#E=$*G(8!&WX=LzB}mypw%I$i-=MbrXMmwH4D8&}dOHGhE1K|BUZw(It&iU442Q z_j!9u%+`A6Vw9XuL>O{pqF4bJKEnJUM=vX;>(fKSTP++m*s1pDsc5DTT((LmU54L& z*p(PZ^={f09n)f>k}70n>~Dr}kKS8k$jx##6hnZZ@024g&IfI{lkLM^TZBi-Ul$6IdlihDSNsVU$%GYHWj^3e}toslD>s zk5!KgeMPnH@rCx_A$1y`tlmKcmP*r%@%oHxf7pr})vxGav!lLwy*AXFl~r8O7pR4) z5+2;i>uGMx*hD$TfwBbc$8vm;ii}?#Zf+wzLt^Ioq>S~_V$@(DMgS&^d*St>D&V(6 zhaQZN=+o3x{(dRCjCx@luLoDvY7z8&6Q=ak?O}Og({DO@m6NzUONE-6lj&avdV0BW ztSWUs*bPzt4201w91u6XDO@Hxvj^COJuPbz6*CWg1|hopO`6FgET5~Od!TF8+yX>o zIg@pEq$Fye$Q&#W`6k8In2fE9Wvdl8k=@fkqoNWTrC$bjwKkK|w)AC5p5#OCl0Bpa zCb}htznj}5wa-K@s()Pliske&jCcV z;7bN4k+YEcV^Hu2rD(#mtd*{BQ?TwlC^)CR>5s@N05!i}j|6p@zotH?*~*LJ?6q8|vg>d6~ENv^%s0f51eEq{>nA(JS;K4=>3Pla8OQ0F|z?o@FR$AC* zo7pOD2EsH=6@bn?q#}qoW|@zeY*5GMZR@J{Wb|EDmRGs-qk`hR?MHoP!;GS^l5Gv# z#`+=Oz9tBn(9P3+P~BBiWw)(D#-^^KA0=C1>=2cysPuJ zC^o+(@Yv-0A74gj5wbv;T_XI)CmkO!k67kQYIrRX7l&3t9dU80#Lr%5@I!I zCr_!D^*wY(Mq`C18nS?$qzP)>=6P`==i}Ani#|004`5Sw&PAj2DWAd8=-r60s4UhuWcQPBw32( zO`;8YiZ@fA-iQd9dEWfd%EFAI9lt5&Pwm#y&r^r#j-}qJ^1{gmd)5 zi+7NK#TVx`4PSHxref-@hq}**B$uC#_J!T)AU37nYZVx%T5a2U19up*y?5~FG|{CX zWmOy)bS=$qbP#D)$q@1>fInc0$dAqiK+#4OK zpx@DD3Iir0Hz$3ji3Fcv)#sePacdG9%TOVe)$S`2c?&G^mfTELROLm(MBiDscwK0o z5=nZ&yvD%*Zg(|v3K}j?lBV9fXvjsiSkNM4YgVu7?RXVJ((6Griw*ILk*)WsQbl>Y zvwhrMuPmSwi5%^F@et7xzq`)mzAdps#wq!1^w|Do2Ge5bMM{1HsrH;_<*y`C_OhfL zYI=3U#TiKSanaqyhm3Pjl!2sh2{h^CL_BDm;$334A6Wog^6YcP;AO_uj3qj`2dY>S zcoNMS+WO^*+*XBJa=BdQ7f?xv*h+lSx{@w7ev0b%M&NqoZ%&oJqP0TQl`;gc`A?r6 zWw;_bS|Ze&V5q6p;^>+P5yY{wMh@&;F{`iq)xx>HY2e268AyEX?mkFo{|S(Yz76$dj=8s4i*Cza%&%&6Sd(ppT2ZANhMDQ!48h>tE>7eRhipHr~ZthK*U z^*R5B$+i|@cnk{zpo3On5o-@;$HH_X@c-QY21srUVpiu93|b=QXG8x+#Xd5xlSO*K zLTrG4apQDFR8!W2C1#b7RcHW_($&|2g$Q>kJ^6;P*bH@4Pgu`V?oyfun1r?;JvfG%D%`C|+ z!QR0t+b^I;Hh06L8-b5CWKkOHY{lt3l8>f&x{pNb)q+|2De88|rvtURtgYju=GIT6Ejty$MXfB#FS>;@Rzg@%r|bJAUEBYdaU z5VdLJsC-z8--xVAd`M6k{rjEFoy-Yp+rjU{SL>a=Ntnuc>-VA@zU=Yumj10)Nc4VY ztza)r@t=L@j#sQ`o2E1iKy){jnXIxvqCxU3A!1-AP}&b##fP+3*O>`I=Tb4gtPh9J zTTEtylFK(9`Q@csBGDs09K>x0D>ylv^iMt=H1E1$;>*50LiucH!YU*{RkEiP(!&)P zY%?Yh=bl%@bU!Gns8T)@gJjb4*@vcT6QVmT9jvH0rKuFzOB|s9i0(f>+5gi|(}Q|p zw=0x2}=x1rY(L&M2JElB9JHukwu~)VhALy$d&*R5Rf$$ zm?RKF%48$k%>U5u@Bf_VdGow}@+vtw_neuzKXcvJ^|`Ne4PfKWmiAVASOI?4Ty0Z{j68i%`${(kr_t2T0pw z-_(nKOy2%RYgg#=JBF&>JBmiODXyJ&kXcb%cSYH`d&PO5h{+Qc7xXW`)cWyW)sa#4 zSMLJmmV6KmM;FDc_=sAh92eQRPm2DIutL6m*UmT$;K=*x`_(n;F;2RTl#0^Ifa~dn z4f&M;evyLuG(mL9eao?FVJHkt0iW^a{6=Mhox*}|idkZp zWff?wI8BeGRO0;Uw2&_4GNf91?|sX-&jHdF^7bvb5xml_0>2d0C=ZVS?;=iFb1LQ& z{e8(-wxD#3GV-*Zv3&MT;%U9Gzb6c~93=jx`_w%GjI1!x!yF9e=93qCz^%`XxaWODHMc3?6&*s%YZ#M}?WvpvnIebTI4+5z3ntG_S}gPV7&0>C;y}tsfWdch&8D zzHU}0S-hf`#$ z$@R?&k2S-mH4~V&i-V~p32o)X<#FiM;M8L*0jQFOKFg>_EhXSJt!0?9%B^MOo~wh3 z!>&4(lnh18)n?+CetskT2KIe4K2T&R(%1UU0*1dX)icJwlTODLrV}{-%t#{mCh`8h z<3Zb$2dSyDs&ZTRx$nEne#NE%*5b>+y_xyyC~x5zqUgKNvn`)vq>9i%pN;OXXtTw? z7iey_o699xh4lvZH_YTq`otmpX7@NPZFwX-lrr(z2=|0td2wH9&%E`up0`S}ADoLD zU-yG=^hT9-74AU%bW65P!T1HKVylTAS@8Wk2hUWPJ|2HvP!c&}{w{#i&+0WjW#9w&td!&LIAYEpLBov8?faR)}EPk_);pgE}GNV9`of~mhdi2ht_rX4YbGH z{*@oTNh?dL^rdgSom%Ysc^-`)M@?}nb-(@0h1a~v9?OZlr`V$V?TfbFE3Qsn(WAz7 zN?Y7Az5{yMD2{afx|BUVS>|pg!H|%KhUv9xA`6+XL8>uU( zxyR2QxGUOxA{VpVzAiPSEq)7ZKd>J<^kl?zOMbnIab{YP4D6y9?6o*_+gwrUOhABX zGE9Aodlxz#JHaORm-7PSCj5PMPHmYiskXlz`2C-ADv3^^eGo4!$5J3;!TUI~KIX}~ zG#JA_*_|hW3brf$GyK$pm3V<0D#Nw=-a28tI7M!6y|6#>IQfU_i^nnhPqH5e+G4-q zpKQz>K^5y!#o{?H*C|Pi={a_!ue;CZmZvr(6IEAUW5xI}G?~ib#Yy0msMWw}mvhkl zKaEvqN5YPpE=E6@^oX{hpih3*e22Pg{_6+hA$y`NenlU%7y7A_cAF3Y{pVrf6S(6U z>AhcM)X?MMt-cQxKVM(3Tk1FKD}NVXJ)P&?iT@44T=1ylY@f4KC5e68C4WF4W3g{m za(}e?J1KLL=H&_|jwd)uvZUvoQLEl5w{-(^%bM|$udjz~p^5-rl36Y0!sE#ZfsNK; zrp?q!Ge#TNRcr#*@kbfl;4bwk=%=2&`yOKM*yC)mUyVk!v>A8Ebu;b@oS2h(Cz@j@ zEnk|zm=t-DW=LNQAKiZ1?AG1MB?s7R)TK$H)HJli>zszr9oU;oC|J_%c~p&f`EDB` zUfwl9@y7;}!ywty5$B-IO1D1Su7kEBG=J2(<}&yET+McBL$*C-2@WJ5iB^21^uSqW zE5%KgPM|^Hx~qO@wU$*%{>dxy7`(Y&L^Ga@jSKZ=Edr^$G=-BcfBw83u<~7}cju*b z5u4zQ=ei+3>)bAoeD!=9ubFJGoAC41tz;W*SsOxS;xmVCJ&v^*PCMC*&M7@g_n`)G z{q;O*6cqsqlZwAV336kw-%nHSE!l)P@EsJ}O?ZBy04&SauKs-Cie;Ena9>UwFB{Wf zPt=~cfIJQe9Xw_oPBrx2iNVHl(hxh}b9>mO7(2d$Vqf1ush$3YSKRKO$7-yHqisgRyOUQtr8t==?f~?mgp_*g~?76(R<@hnO-G~+WIb@jGx+X9oSS?9!SD*%1#UI zDOhBaqWM<0HYPiP&)wM8bT*Km_}E+IRQQ}U>>mcT1-OIJ5$s0etojpTxqp^L_A_FK z?^>U~3e3iqqp7W9sJqzmqSW}F&=8?LN(6fuk8D4!B}}krKOWb;`FtyL5kZ?XUwa~;dsLk&?)iNM(r#C~%b6CV>?exAMeMwU|IDl$v8m7eyz&~6$_!>rD$d@*_ph1ylQc4G zFU&`Y6(`G8O^o3fPBA8o`#_ZbI!ym`FxjKdou4Agkx!mq1H3y}!5+Q9?d!yZy~SNJ zz6y^DX;FODHmX`2V$Dn#ji#{zA6QYDuM;9~vW4q5C8S*OStIec?iwkSACjj=*54P} zYtt!WU8GxRte2@`SL73nF}`?aWrL&sf%vAC^Zr@X$m`#xTPw({QExqpAAlDcwBkga zd5cd8@@IpDxwH)PriM%#UdJsM^7tLIj=V`B*wiQ6hc|*Nt5XQWS8>*@#@=1XoMd0{ z(fFTd9kV6n(!9F7>U;9vMrLaNkq<#gKiSp(ud)ho9qqzt!ft-#Npf3Iot zmD;$4eilNbUZjN237Uv!HHVm6J?%wS)YPXZ=RKB{qpl6f=9fV8ecNlM*gf$@y+6hp zy+~56Wsn`pzpzTv1NhCtLJ|~GelZI75Ke)N7Xmy*@>r~MXJL~plFC`VV0N=ZLSvgk z2HN8NBAt@2ZW(+veB6U`F?=rZ9$|O<)TZi{_y-A^#CH8sapInWHereB!wsW5!27-} z)Ra87$(<(^Vr^vs)YPT@8Mf|WqTU@B|L8z@%?8U{pZJzD1GmbE)cnpw?mJ=a{(k)D zt8>FoMi4{K(-5Is)#HZ<$yI*r1IrE9j}Y!&+-ZH0GI4Us-$ zC*u!T=*Z3bar8m9`!C~15~^H|iZAMZP;39d+<$$s&G)>6^3^Rtc7&8j9Y(IZXDBKr zw@z&`DC~tdTU8s}Nevyr#(;&clIt(5Bk^05tDTP+i|lc!H*aOj3+!co{Zl%x^QW6x zyFHwF>lEkl_K4AFj~kB7_lkdaG|TRt6Y#slatFih*VThNJ1==Wx^lH(Nt<$UzDOeJ ziPv)8&=g;_HQj15xiTD-VI1*oTVsKZwsce(%Q)kaG;qpjw5OnOe``I;tjTm+_zabk z@9ZmvR3GEOmxtE{{ze#L{o<~?6q;ucaDU{>8&g~&cbw5H4_?$6{sX;aUEtjvd}1Q~ zeIg8aI+FZW^hKoP7&(u4rQOYZl6)&0)$V&abd9IHS@9KLS>)qN9&_qZG>@*ZOM!09 z-i8$0 z@x^|0#O>aM@79SL(y@hKngZSfnU8YUBxjTPmtglgNBGB1+^Vo#mmjFZ@tvTlKWXLM z9~{thKxbJq=-c05=XkUr=PT0MBr^o5jHXB8(rW%7DTc2Ecm#(A4&|<3JlG#uwP2P{ zd$A|V7oT?AizM~P6k6O04b-=X3tYY+ILEH3;{+BWZ*$&ne2R%T4E&N%#joF`eK2oN zHRL<~!h0<88gO@B_7M7gq(1cRXp>El;%$X{G;o0AM*hwaSX8xjG-HKDD&$hUogzD` zJT&RLf|*J{Dtt&Lnut0-b`M_9Z~7@su?#dO-n>>9``4yH+E=cHF-*gh(H$?)5#N{* z@Lex@lh4LsPPx|k@`@WCdw#uO81;|c9g=o&QsN-#pSnlDhQ#hJn#N|EFTq;y1?)J- z)afhpgvdhqZv|a~-sCq0#mudR#muezt@@v0BOC9`I@Pba5vbk+2lz^)Q)FiSe{!Hd zjcdC*UzSfi9zJ5)^uV&ObqBc4BPTu9SIYK_1j3YCMx$CP$l{3}z|U6#wwr^>l8UVo zX&J_z8FMfe@McoGRz9?%W@j!NT%T-NpT%7^=;d0NT4b0iSQR=|uxikYo$oGP%;gpM zTuf{=y;r9|JH&u&tv|_+&Rc2Pd5`u4`c#BH9PdZhSCCJqg>Q79n*VwP0GqQgWs7~t_bX6^nXxNW4MnmvR@UXltNE1tRJj?4p;*?dK4N^{ETUAa9`dDuwZkJ8R&V}`r;#p zg!^pi&MYfxE4K)hCrk6Zv_=2mk{S48Vc!#-*O3J~*GM^B?r}(*T6(qx{Yc?h|30i$ z;-}ib(BBukcH3r_%YM4&xO4D#(vQhE-YkKxyL}1~o{6ogd#}tcN}oM#;bG_;LHS!d zt_+Q3)=M?YlC3(VC`2t8{h`x&4suxVX$SWO#fb!ZfkpDB>LoFK_>!3TSnQPNE2{?* z_d}vjs|s!31jOb_?-7RmRJk#(K8Ll;BA@r*Vv=WAEbqlMTJN+M|4myH);kqb4qvE0 z&K20>kX0s~F;j{b7h#1$GlKT9^mA(w_H4kkU2M+W8Zf?GY&CzZKU#Bq4a48p?MKzR zX8~T|`oizXjt>lXvP8efZu!)8gyiH$-y=E%hp13ZswQ@lJu6r82cza#*!}Hu*L5xn z-i__3ZwCL;AzgtR;&)ibQ;iP1N)F4CPu@jsJ)8yDsk7%k<-Cmw3|;W^b5*ucp@DXbthqFg@nV zGIq1c`)93Tvg@b?-}9S3oHTLCuotObyW`EpW8~{^ls)!yoZm-)WZHd8yU^;#GjH)i zv^RK=^i!fcAPgNuZ*qrUHoe8zJ71{0A8c!#Kl6z83}atMO!^Z{v#XOp4;=JfY+l6U zB=j-k7VJRLKxvHWw*@Dm{QYJ8uYj*DYt5h+iCeRhWp`q*l?lDg8n{36WW;lXB3Su& z-K&C`(_}xoA_wE=rQFXBrHIu(@h6hnk9$illwsid;!oy$Qyu~Ka2{y50_13|!1#zl z=FAJd5q*@?6rwE7Bhc>-S2W(gxO%cwa3DxqF-90O+EOmsQ!MxLD)p~I+kFn3%s}0N z&hWa!MzVkFPO2d{OW0K*a+-d754ukJdW!vXn61!ecrmFKlXA%n%)!KxZ&%_RP*#Ip z>~13wUe?JAfW{wMQGGg7rYs}iKVJAKUG6}Yq#XxcaiIsnTPL}Ad*@-N!tNG1y;A=AHIN`8J#LUx<}z^gZlfxk=oSFdNikyvud+=U+Q4ZkUNJMmvQ$ z&Xh~QAEqnQ|6DmOvLRw4JVmtkz_~Isb(o>z?8ZS?PtQETg!E8Ey`Ow17JvMKUojQ; zE3c|Z@ygcvbl`ic!rc@~$p3`8O#ryk_CtM(eJOZ>i1-M-UcaxjLK^WOhj3+5M+)Y2 z?CoQo{c97dZVuO2Q4{<2mPGcDiakg&WcRUzrhQe)aGrmoH*FN!#|w)8hY zHnQ$RMNU5Z(B;#17)Gp1L^xW66LLvQavNw=jZ z#LbYE3L$3=F9peLY1m_Yq0UiD8E&l+eF=X4xi4bqu&OV#S3MJWfZh13&l)>E*LpyC ztoy}&lHX|gX(%JhDo|A^y$4}})wTSjoLS+L$VoVbP@I6LB2>Zd(&bt-HFa|lHWyf( zygd=N?g9L&60U}+|CxB<(%m|pFK~-cKji>Y6}l-cp(3+;W2sb zg8$3IxjF^9t|weF14~;^g#lp2A-h5AzRMd1y+~t0artKedTf5Xc}J8*W2s+vlVY{b z#J6FUuJi^M25(&$>~=nczNJ2R!K29i*8>;604ErSgsWE`Nhu&{<$U7rP=Pn2vv8aK zMs&A%rStF5_4;2`Av>a++-^O6CH=eEvGYoe)dPc*x0w^o6jF~Z5Z&V`?NQhpm#~+@ zHt4L3b%6ub9uHb+tJAT{BYoEtudaPL=*50fRO1!@GyFFy(5Z)Mm?Li~Jn8`#OJhVQ}jXCi-VVs3-=tM^gAny#<&*I|C3E6*!D0g4!YhopKmE7TL(aI6#c>VQ>es>!t$zr%$xvNT=-k&Qu$PQvBxek8&0yiNM;7}HTRok^O z@AxA?PF0nZb&BLS%d~oXZ`Roxm0K0x6EcVVR-n4ZUU%NQhY3QzVH_EpJ2R8J(8Uo2 z+m$=1y$$KJC~qE3zREN<1iABLx@}7hqdOn_z^C#kPYYtx27SA2#Sz`MrO=ZR%&r?& zqfz(5oI_1FDV^)x?dzNi|BSzJ+%+mEeRlDn7wMM#WL3Dfpn&-6i`c@Ygx%K~F#}(x z+3lRJ^CDe+gC732S$J4|QFt1=qU|DQ_7~>-ZZ;jUflp950Jd3u5Z+mR@o*aOy*NDb zZ|ys&Zk3^A-gaG^sgA=cCA{C6;CubS{82ypY-F>EO)zgW|ADuYFW0;n^tHAAQ)FlO z%AT0c{MGbn9L1CfC~4SrV02`7S@>ux%HLRIuT7qn%;a)|rv+feKRJln;C?NQzGSUOCePhoOH}11z+vOx^)wS}tf-P| zp*Pr`klE4k(BwoN9unVR_Aq+WtDRDy*b8QnPBHiHTSkvAozeQR)$Y|+c;jbPl6d8) z(;||~j5|H*JzqCc9EW@{Ijaj8^tJVMLVS%a_LPm5O3aow4;8eS@z%qxa;F#$&7>VV z{Jw9(z3X^gy-3URx0Anrpe>hMM13+}$c(YINtnKMsDXbrbc zn^#C8J3{NR-wJ^rpt`GRZl0ERc;TY8d@D0IBj?+WBecB8x{mZO+w%m!F_FOXL7q*?{ zmSYC?K@Hhfk8rsS!*J{FOT1v=L+=NH0_{oA%eBy=!a-}wQoQYQ-E})qz&io{uFH0w zGpylSI*>Pc5DWJEO48ZJ%UrL4dP(MbvSBO17pEL_^}t#Ajg|2#x4y>czI63L?~f$9 z9PKZ$t;(NvMrd^W*Q7AzHv^PF;9^2RS3vOy-Mv88dNt{|H~tH;LNlSC3p|#T9@zNB zQmA2)lKnjSq%HTdbDwAtdvMkto}IVaM1P;OQNPHZxa5sk!yi6|N#g}{r8PB3H~orr zl&!k1t=E71O!A`xvZW&+k>Zzrs={TPUt)w6x>gxaxGs zFV?%w*K@y;$9fnevv>BE+@5*6`w}vW-yo4*2#bwtGoO-wP=4$i_PWK5cahE3=VqZh zwJQo2Q<)iw+)ji@rMAAvRo=E2S}km89F^G_H@Tg*uUjf4(`OznDQWEaB~Ms9vL|AQ zmpik{w5+}bdw1+B{>7jEGO&FoZe~rFKOITl=Jsb<7GCTdL@dT+uCy9B-Id=PGx+T| zZvVeN=v2rr_Q-X9@-y54t;9{g=?8q@1IcG{;p~L)2dg`a2#I&3pqP+J7sSx#Wqy(5 z`K2u0yPTqmsC2T^;6c(zkm`1)FpJqTvYmX9%G7!f43&HG9P0Z|TT}C&7DZT{t?)$7 z&kaAp%-FffuT)RUcX=}l`6va*rSMd>1>Z6 zmF{NuZi(az(hd6rv2JN+_TF>G*E>Z1D&31|<#3S@2d3F*cYobg?x4+E+btpXHe>HV zMrGcNBxB|4QK#j|PyD8@iqNyCu^7fv1Kvg(oK7cQU#}Y)k6YoBK}al-P8%$}14R_7 z$%!hlIuwZA<`-%ruVtANI5m@LcZX0Dw+3lmq=a$5F#MODD=%PIBbW|iw$UaiPThH7 zoPo2^qK=Y(s5#bxj;WaU_7B@G`mWK!9>=*?#dSXi)ebT*18cyl;a@Zs`K3!-#JPf$_Yp14XyK(?U(dRXUJZW!6qwlkcKIGfzLkyPr9Fis|FJ!D zAbJe5)sSNEYy}g?)|I2F!wTD|%)n&$lbh2i)pz!d>k6Dm?-y)q%d*0^UmyEDiTeKO(~%PoFcCpY^GC^> z9L>R}Ws{Vc$3&YPW3(#7UK?m~$&ekKcs1cq$Xo*ULDGkzREg83s3)WTko#mIH#ZK| z)+k=qA*6^66N8<%=xGE)(d3yukA;q^hsH{K?ZHi~U)F9m?V#5_lzg^l<>IrZ*ML)D z?e5o{9wx<4{nlv9aBP#SYFEA$d6Z9lN^6qzDD1WF5n)}~?!aMfzBt)MxPgDNbz>`p z49vOaG{|qDCTHJrv!&c;qNO!|*VIiBsl!d1DCGl50NI4!ME-G-gl#WAucNobJi`_@ zoQLt`sx7)d>fYCgE0#^0{e!9sI|fjoC!}i`VnYpcU01Zt4%Q^TU)RtJ8M6Q#c9Il9 z;x&DjCo}+UiT9w`w8_QJM+b6}n;rRuIhf|zW$jvvu}@c)*DYO{su zjo*^G-5gQ;gSH4qJQc$$Yz2SU5rMxI;kF1z=f_{UpPu*v)MR>VvqTlNXJo&~P9dg> z4?G``m#o_BqMo(9#Kp|Uo(rj_DHaJf5){>fUhh_XFA3bEWymC~&$`REzYK8iT zz0CP=izG=EY7DV=9>BDj23Lm$Rfz(g(fuQ7-%siy=Y37ex&>vb`jPjTcUrS_i~2s4 zWb!o@-mQ7hc<`F;A8F8zC$v-AJsyHMw$~W;esPUCxSA?dw{(ZrMW)<|}{$ z@bIhRDdHoMD}4a}lsmt2B+m?W#ob1TvejfiTH5*wzoEo&W4k%O>0RP29tOKXshe*u z^;+nuwFj^MkQ}C5|M=*Nz;ptTlsJ}pe0#IgLndwldV)#leuYA)YG1C#XUxo-jm5>z zj9ya+67}p{vq|>nBr;C^LlA06`;6>2>!z7h3Sb? z>yQAwGhen3873Y2uEPq*R+1X#3wXz8EV|0iOnd(omr z-~3NpP2i>f|AnjX7cJz~$Up8}zG%@mU+jN8$jexcX`gePu}*^OdLO_~P?|p%oB#UT zl68MCGIRNV@aq%vbuUNXE&4w`Yd0)jw0O~?e^Z5)|L>_n2cvF85&jJos`=l7hyGWn z(B(yo7WMqk9}Dq8{|y!TcG03m7Z(NwT#nuG?eKrYe^&ip(uGiq7A-nJ`aj-syZ?WN zt@yuY3@ux9J_%l>;IFLy3l^!2|dA9HCD=D%l9ymMjZz)|3hRcrL8 z=*mA+FCA!k@cq&tuP<)eM18yJKZo92$dCH=mxjgLelI=g_ENR#x>-@DbHxcj_7%i zV3@}VL1&Sb*Xt2W5ETVX&;}Ab$^ZCNB*E$U5Ih=QZ3-omBwBLZ3&r?fXeS8LDJ86F z1w`4%Lt_(OPZ}n|vDhsPM?}@cONcMTLjn|5KUkro`DPM?tPpEY1ca=q0BtKueb94C z0i}uzO|>IYqA*Yk|NY#^F;0A_%SSc`jya%BYJXjLLIW)|#W-6iLdNU44=kL>CRw12 z5=)@sJ;_F}mYb^J@%VM3uxHv~&_W2*z8S7S!!`0cLCxrFEq?0KO;Jxff8xAHAcKl4 zHSkUWxH*Bng+~6l50xno&aOZ?C`Me%v3b_&>0cfUBuJ9CFdTVFT3oI%EF|>BF8yNt za068V%A?4abri^nVY=~3JNbg*X`HH%2fDd-@U)F3z+fY?f!K5FJ+&iOiR>(!y?^GeS;HrUU|loY@F|d6c9(Na8m3A zdxaEH6b(?((&1o#z?cc~h9^;I%(VEXp zq)4{t%)6{(c0MFb9ejC0w1?DhIWfPBtRQG?F25I0fl?pN50tk%!zqL8y9XytC&@a< z`8XnQ^2bS|ly;04nv89*q$HN`KpA`#E;Syv^C7*#sS`dRo+M!25{?Q$@<$TE)M_(6 zv$GFvI`KXx0HF0+CVZOsC<3QP?YdDu*hl(&z|GPSi8f0BHcS1FH(GWLSY86Opo zCGF4@6lrpa266%FZs0h~!I%=&%ps?VKZ0g;9}#Idh?Ofh;W*FfKFLp!8zV}ZCPyDm zsxeI(C@x3k=#Lgt{9xT{HX#r7$p8FRq=hn^Gu6%{z4J7&7Bv<{>s_fnqMK9*3F=+Y_AaVEKg19)JG9bt6Anjo z&&TX39|1?}_#?o}ZfrZ~eEAh4Z`PDaP-j+ZeB4~y28sWjC7z*$r)Q)CKgJ*MI0c82 zpOQ~-d6pui>-qpS#V9dlkKA&+e4jZbRB5@qmJ2>?ol|uOLu?$_R5vCOxKVDH&Q(S| z2F0?<^qs<7FrdHlJ~RaMtCxjFV#3!kv0cVg-Y1Z3H?b#ijGKZQ?iw@kD}hvU--z(*L2b`?9kfOZl}U^;_=$$+EqR{Q~3D!&wS1_16<=Y*bdMt zqJk6=NsoYvFcd-E{dUOhEZ7TL8cvO;hB^WqSu0;ZIOOR&hK>%F6Jvnv8Uw$vig7K* z6m~@RRikJKn@P~+3hO+|*P*gTNZuYNa;O9pz{{j1=IYVy>ieK__=!pDV54`#Cp=`#UC0IJ!MY1!{rJe47@7dzcG46{P&dEzazEu6TE%@ZwAj?s zej!ZDr0SC4FUz=~g7H?Q6byvvPAJ=0qQMHJ2E%agztA1P5WS6}%CM($A))Fg;ztPE zT#E-!nV62+v0dm|WG|V9_*)|kxor9tkO9#_;~Ef(p1G(bb4JJ~qTdDs|1dH&sCd`J zDTyo% zdLP1xjLtH+_W_=(>-RTJL6v}i6ajtey&WecxnrI%ij@(YnP#NSrL41@CynLUP`U;? zW8r=fpjk4qRSQJ{UZV|)Ubd=;Y~us{5`9T_aY18y{3_VSbQ6}|GKR^qyxeu5CO>Ns zb;ywAYp#^Cdbq8m#e5%fIH{jvA>&>iP;pjU5RwBNxi{9G9uUQox;T%pX(TtD4C-LL zjjP;U!V|n0*e!gd??5*K4ah~Rq`qJv4B!8k&Po@h{E#oR+sG^9wJS-yQpmY#Lto6l zDT)`2Sfj~=9a*NW?neO{Gj!5!74oDLZS3x5+wFz_Wc*#1K`><# zE~Mt*@>B6s9z8UDK8E2gcDfF83Opx%QtVbLl9ns&!K6C@TBWqEAGZ$ za7Y(QP@gI|x$Zyk zK4-`6yVNw*=$y9>tCgYpqD(rr3*aO_IGF-FD!9CCZEC15cDwlCq$uHG5Z!c4l`^x& z6za=Jc&4Hr9x=`c{5+oFkqZ#9{LYI)4X_P2%1TfNg z0ByQy4cl@Y#`5&}7@0QxE`zEo+~;Hn>?7)&9YN-Os8V#nZXYOQM79$* z;(#Ng=skjq`0>&tDFdXSSqAI(>t9S{%s&$eT*NjOjFTR(!p`aH*hvbx$i;%m{1>>u zVN;?3x0xNk)tn*UI~GN&37+{57&OQUvZ^COFJ3I+5ddY^!rA^^WeY%8+<4B1F=su8 zI1)XNw5cqlQ3OMBd#CZhrq zSFp#V3Icp7lXnjo1|ga-h|d(ri5478p;e<-bTlK;l}E3fz)wxu;}GPpda^gh zOBYKLA1`Q_7v7w0$SYJ1eneNlahkdWPSIX2DM2EYV&ijCV3vmp{xsSV{;4}AI{M(m ziitQqC&aXpF=WZ;BIvqYNEr-#Gg~@7lM<4A3}JSl<6M#Z)-V-P5Y%ZOeWf(tOz5>h zBlJmp!V?T$2LJZ>AOiV`EMSJ9IahFLH;`bkY*h}&!KyEXbJy0`ZDH&S7tM|a3on#U z3~!dOrox@ota)KEX86qfnK33bMSuxnk(&i<#|z}`=IcyG!CmKeo}K{@*a#&kUMlto zkS`#%4Uu*=*a#c67NI~v2Ky370}((OQvn=6w!{(2;+vC z{bHU#XQCI2dF_LOO1s1f**}&tqp{4;JRC1$k}7_p%?;#;$_%>EDXdR&G(f9S80$_V zvSc5g3m*(-_s<=t$yi4e$8|^SeAu^cYHCW5SttXs(wu@h7^M}QqCX7Kn8~Cl58ky2 z$GkKWN&O1el<_XrG`afx0#C`kex>bj2=BQ`ks-Q5x-Xd=b~&TFRF70>j=BZ8AlV;L zAO3}J1*>22`lF@~gqpcGj1}Wp3L&2Mag0idB|PGp3TqJ?fnhoAsB2p$Ymf0u%}b?`51v3jOvg3VdmL9MZ2p#!t{~S2GG(|y90*9 z^LdI!4& zxoNE@Bu8yW94Yb5tTXss$Vs}UW4>I44z0ou)kcl4?VmesApVg)oFzU;rNmYXnp3nY z3SmM`4IjfdRh5jSqhw4oHtcpekJqM>Y8z9xVW%#!@uu~qL+0kc)Qiph{cuzrR>Q(3QqtF1TsTfS<3^FVYq*8XW*QJ@5Y~%*91~Vj^ zg*lr8XB`CkniF-nhzCkq2B$JL!1JbcbhO@C&1tU zR>ZV|5Fc8=RI&0DMcn(h5)xj z>RRjjf~q{qwE7rO1WuzpY5_TvVM@^AGRIM&UDz=tb_g@Xg9d9*H6uz(?O9W(Z&Wg6 z8b^~MuTwIB6{hiRbz`~sY9d**EgZ+aAH(7rX90{G@3}xu6iRNzctoAn5nU5;5K~I? z^^Ji~2H_8}5?;FU){DKhF2L=N`1S?h4#s=;s~7jQdqpC6HXiog!S#G!$01L*3e zKCFTui=OwVw;FCLf1+HaC8}d`-Gwd-q#T|J7qIz3_>J7edo|ikiIqvuvWr8K-IG$I z%a|4vtYM~4KM3j?y2%Q%iiRH~r?Ls49ZhLjlVr!%XUX3GvhInI6T<13Kj4aQ6bynh z%t)3YZjvX^sh^3SF04O;7FpH{Y$=4T7-TqxJE=u#9mhBh69?iA{k*WDoCt72|4Y_@ zCP03i77mZQIx2WEAF=Ve3m)%^C}T}YA0H;m2%3kOj&SR#1;ppzuy|AIgH-hfAFvlx zJxq0xPn&ron+n%~sdJKXTuG9u34yO8SyOP-152mUN?6v{w`+_J*1Z#bq+IhE3ZzNi z+IO8H`ffCZ&L*0-5bNfItx zNgIoz5r>6{%%J8N?+lSSBZdF(RZ zYGGGPadMBuRNtQ&Dx!w-Y%_o4O~8%=_k70YLl! zF-NymDAVG`6p1gEW6Qyfu#dvNZmbh?S7)z_P@dD4k39-MZaNtma)|E1T{U+_*3+SE z^Px(sq~!#&v1S&^fh0gYV8KvCP{g~Q@F5o2}l1BXY5i#yRiiD%$z7Mn@4qOFpj zKZro_!K1Pd|MHWAMzA>!Bh^JFSKJL3>qp4^6g+oUVV_~w+a0xVH5#j&ca+6V zndRVU>2=RmDL!!DId%{xd?%!hbCPZ0xKFO9bg`~L2K}{<|AHiy;XiI%&<+8-62?=W zKxaGTKZ^8%dfGNgHJKyGXl?c%v;=!W9sGXq9iGV()Fe%e98>%bJF;{E3qn$I=Wc`) zCsh#iGpx@}y&{mU=urF{m-UBl^G35&Z^INg@>mI>?*D=IV;i)tTlBqu^0> zEp$zJ4!fSgcU3#PCbDI~N77%ru%v0ST=do+NHt~58MlR_j>x(fs1!Arc5#%U-4D=e zoQBF0jsP@4-P?R)j|k-Nov_dZyb>-C%mb%*YemgT6eH0U$Pk4$cmcF1{eVmBUD#3U z*_^DImh3^Ujwp2LzM&2TNSX`UnttFly zXpXtotPFxLC(qgo;~mU{h8M6Z0{P6m+)zD~dej%~{)`^3`-EMg`w8URP0(wRbV43D z{xDI!z_F*)#`ayK0(6(AsPt$zO zV`MNtkqRgnDtZ(@X6&77Wmn8H?i zHB(8~^b5p^{LjXCv6+@HnKXUYIt-jNU4uF-kkU%0X{e)aF6PsEPz16)53l3S2xkZr zENbxtZsKh92*dOy?wPPZ#ykf{%jelu0QL+06Z|g)&6#|FCS!H>_UTNH*ba+zFDN+o zr^rp{`amNN>;(rEhZ_e~yr?S4SLulqg8FyH&y5Gf*qP=%;T9XZHk&i_`6I^A7PF1? zBLFR(I0#(l-i7y3bU#X(W?Cc@BSrpQ*xiwS){qFaGt^a}x6M&z!oN1)WQj+jZFCE5 zuycw(anIpzd6#pC0}qK4zSFd7kpr2K5h+ycjwAJ3%GUDr&-R56sM7bsgOf%F!bRXc zqMhk=u-5pmi!0^{OkC0l#rkQAq(^ZJJ=E&Z6?vW)!R<1Ic7?g6KBX%@h`UM>Hg;W0 zk9j%CgJ-Y6$a~W`BKEniizVqV??j$sa}h@gqr%jpg7~v0iQKdG&=-+l#jt&R3F$9JP4yP=Zt&7UeLHJ z%X5JiU|Qun5x#Y=2&@g6HsWbAR)+HZ?p;W?NC>T~lUFKcAeC&R?->KjF_1gXP&qIh zdEY1I8p50CJtA<;z)RnaW%X6v4u#00H7waru~z7C##aEhAZUl z{P5iHL`wWrasuyWBv40!+M=eTpi0{G(aP4RJVB?Oy>=QO$JTOW*jrWZGPleOAo>sH z=xO0`WIkAUG30W=bE`z2tLIYQRca!O-}5* z)V;9vL}O5u$YyGeT#{WpGJkud1D9ipD-K~-U!1vZtRsE8Oukf$7{`Lhy0Ju=F0^Z| ze1hf}jy?blP;o=4L0z+VDrHL>QG`c6K#ts{r7RC|p{sQWf4-j*OPbXZ;q!TD1wk41jARck zw4_=BpGCVZ)ShD``IGkTr|t|OMlp6BA5MCWH0p(s9R%&ee9alX_Clm7Z$7LezyZ)a z8j)h-fEhbK?Cau>qDi)63x@DMZAt-+U@tRH&t#YK1oGBSQpddYZc}KaXRjx(6Xt%R zI12`yWLf*>bms<~1)Y>?<@7^niZC~yl=%yT6GF;26LnBpVdz?zh8Lw_IFsHmP+0x6 z!r7UvLn;0;s0}qEdb^3QmEI~M8+L4ULR$maR{~wALox3ma-xnLLmhy(_SZavHxJ;i zGW#n&h(IH`NAa)T*H=(M)0KK%omW?s?Ns&xWfLZ#W!beG^_&s?dd;ZY#)WRvku|as zsW4U+ahR0hMAb4wvuC_vIL+|F;&@O$@p8R-B4s4Ozgpwe)9ybzvPM$crLIenVzPT8^O(Omfs1`y8*-j$aW)HK4*@+xw$DE)4UByW6Z9>1$ zhqK|^9b_A^*+S!)ms{PBBip(18O`Lv#`zO8+8hP;(Tv%CV9_tyIYvLQXnjRrRGJ^|o-7M#GFHO^*(XHWXHh zh}piYt3(?j3=bFNyvt=1{PTTQINRjyFyY!LIw8_=bq6j&DiXkv+`-WA zCTI5XQCv2SA3URHQRgv0xnCK|F=a*V(b!iYB9h(t#P>zaGINqX`!G;xcw{_~#H|Wv z)Rw^EjDNSXWnSPnidT{;(4ut?bcS;QSJ&Qa_>lS0umIs%q)MKIeqXssBaM#daMbn^ z^%6WgYKtSH+CxCXVaXXPx-t3^R!QqjoH-dV>`J0513J0J8g+33L{ta!5~86`<(VFl zCNm1+g(P8>=DA$Q-)ok21|ZHL&d!~Xoi~Y*RnJsvc)MZw8helG;a)_0KMD&H-EYS` z%lN^Pi^@2f4M2)SXUh&x$AoaFG^5r8na!YIRLCVcEy8Ng#P{?F2 z<|8J5YNK`D^yGTU;z^8PiH-FZ^ka=Vvih#d?aKjqbr$p7Yl3#(DkBPm{QYVEU8r(k zj|9^KsK6HBj6Z4!B&*FU%#Uk0R^Rx+f+uN*>lSwmY);OBD((28fy$$u6isk! zOt+a~?sr8>mO7R4UHn-LY_kep46h8??KB|5OnSt+)wux|yIg03S%+DSVOlt*2;_`B zubK}QTuIIDlIqbcJ84sL3dc|#Elk&#OGk&`H}#PK$t+L>0bx3gh&u*$CO2{#AP+sRrJ%-YFtYp1nOw=dl?)tGac)Hf{YR?E)d zxtLsAZOm56?FIyu_k)w&2koy?jWk;ASYtdRKdzM^0$YY@+661O-Ck^_b!{t(yVY$r zK=pk1?}{Eys3svwE@V!H0`@r2Zn0&hI<6zAW+^jd&6}I?5i!hgup58Syfq|5!F^*B zvX-a}trQf6-89fwc?K{|-K3UwCNVM=olwkD^Jqt-zmr8tny`znQ5A^z8HRK7`^ox~ z8DPc6n+TFJyi&MpMz%s*&@fG*YXuKD(4S>|A(UoRS8xif@+=xJ;AYDC%6Ct~GdWZH zN^i=fijvW~+BY#T)uC3AtSn1atTG%k4`Nz@bK2)Bc7s^4IU?A1<*?YIotnj%&;+!> z5N>>}(4axSUmhvbfSTkQ+!^y%?Bf;V% z%|Wze?pe+Z#v9d^KVBezl1Rd==39!9!A$@5C?~PPNKhN& z7NDN`>KgTKse8R`o6@$jQ}|TVsV+{{Tn}JU`KZ}BO%{8bZg`T)ONmPbD@$_thHivs z%4+Bcvh<*6?_zi*CZ{hX5=J1a&5H%Lf(!EMEco2<$d|Ns4pJeo*5a0bRN)S^8Q%cZ zv(SrLPBA$lbYq!#7BM$-2bp^)<|JkZS}WL-)y`R&f!WJdo&mTP5QnSvFA=P#9L1P_ zfM>ic{|eGXGj5q7`%QE8m>Xt*kS)tTQY-@2$B+QLshi4q+M6>FHFb>lUQ^oM)GuiU zdE(#FXJiovx`GRF9`T6Ex&wre_EIy!Yz?iokYPNdjJY42HYm=XeV`1l400{+eJfq0 z#G|XtBoEYX0bUv47uhWUsf093J*uzrEP}^bALA#h&2^=hkatwm!7TBZ+<@z2AA+~* zXn2ag1RrRBZJU$j*>cq1O7pf|gmb}PvO?sx%c9udlrI%6SepEX;kl?wYR@9C*D>0S zKH)_HX+Rlm8|o>$EqW7#q{V1b&6JP0K|5}JHSvCOPeyQ%A9gLPg(b^53JOn;pNWT5 zrvrnu!Ys|M3+-T%#vBdmRX4-+dMj^V!axvo@LZ51*jcQEl`OH`1#K-X_|V z6RdtEy~^hc160-+Aj`Fo>4bc&-5fRy&m}(AbosT**NHtaxoTrq)E&ebfK;MrdzX$R z_1e;c60}Qg+)QKcT9+%`@jWAegDBr03UB*(aq#}2B}d4GtCJMfS+)78>ZkMaR~}K9 zK%UiFJZ9;P{IXmNQD4yytBTN-;@@0)P`#dv;JMp;wd1^o(|%Z0RGnow_l!s3jHBA# ztM~Mp4C=Iz!dO*Pz|;7GEgACjSh>vvrMjp`CFjplUr^w>g8>D(G_7LISo)j4g(RA* z_JHP`lNC%C1-2#5yuSY(x6RjHp8jz+9=YeF-|w^8B==~6Ld$9*j&Lq0ap`{Hvk88( za9HO}&s*Y+P5@Dq`Q`B7Vl|ml#(Wl|Hg~1Sz`InQmY$UbR&{~_qd%8#>((q_i>*wlN$YIO?LBWT*4TSfr4hw4c1Z9rN z%R*>eq+1ud>psJ>Whf+UP!vJ)EK(68CD+r@>Ko&?Ej7d};PiXTHrr!XZ6WFosJo{| zOL!!nv6^(TUZwf%RPZ>ryNXezo*PwuMjBEeSMk7;LD6*^igX4S8?B+eVJ<=~Ihp+G zO)5_^cV}bxzBg1N4G@fCRz`AqIgq+5ywi2`FZ5bh^?=cMnzi%~9~s{66(6TzZ(@ib zZ$ydWPr^YC2?CV7p~05?XO4{?jfqwt(R^iSf~Lcz13KZA%9u-rnMy{m46m@B2{~o; zQf*EP5A3fd(aZ_r;qjbMVTL9|bQO55c2qa(X-fOR7H!rdNVYy(mtRxzjrKu0Ck}t1 z-QEzx-&rI_)j{v*ELLDDR9RIhm64xH8?$pUt6^^No>oUSyQFLsA@hD52%uB)Y3(^< zuT-n8v*p#$Hqk_vI#D@hhkq1b^C1A0i+57LB<3iEWrKskplPdbfuaaNci6Rtt0jDZ zEv*1dSPCSeE9G^Yf!&MYvRj&QkvQubreBmhaRn#`*ZJK0bS8$l6@~ILg&s44>T%Dt; zA+vcxzHnY)9ZC}%%{OS#dSkY@Rm6lIYCrl|eFVbdbrefRI6>rhs)C1&L8_Azm8SNq{=<%5S}@(Yhw(fapD1(Xu#JsU7<&{ZG>O5n~wQ(iGfHFAW>Y%wa7ai%m=kmA~QjvrF9*R>7EvqVv7gGUtiG?r>-G`5c`1<~%=`?_5`kmRDza zJ_~oI<&2cmDR!?gk1BYDvU)udSu7(%@2gy{M7c=;<9>Bb4Jdj5S zt3@M_L23#%Lb0T@k@Q8nCdqIn^IQT^=_x&LQeD%m^Ua}hBZ|qADFs=>nMz6`zZSt6 zVe>d-&B4xgrG8`vr>9*#^vm6yIv!>wF*7e&8_J1|ZFZw_a6iO(1c#nwPtB$9$Ikvte?!h44{Gfm?cNJZzTQj~Z^^Z0JR~t#yxYf$a+&y z8al0h5cUdJ<$;%wX`L`j%#_ek^B$ijj`S>oFJvB3oyQ@=pW0%)tz0$J9XO)q1&~%i z;_bA4jt{e<#g6s?s>?0cy;Q`vwn7SHvxZ6@OKV5Ay|tZZEIt}}Z)?eE+pQ1;;{!=l zFOK_Uh^M)E17JZGDLpTMY4%aMTCw?5rK^V4KHXb%N98B76?hU26dm|mh|Q9dvg}ET zA3q!QnKOH^x`~-W3kkyVlqp)<&oY7_R)tmKQgUP=U^hMql?r~YmET7(M(nX*b?*K5 z?Q<*=fNgb~&+5S9@A6dN8Yt!p`z)i4A{sSfK9az{HcW+R{0$YFx%0(}hVSd$og35! zkgUTk80grj#l>)p#Oy#jRzDo<-wUq!(mn zAE%47b4GSe3$JTxZ4gzs@Z?Ky&mx%Nz`jD}iGAEbRe1=PoZ4mP1n+5O9`Tx?VE1S| z=RJ-K_fs&7QRr#*{_vuJ6d`|9Z2-510v$U1EB`l{MY*I;`TDLu$Ww0 zCo|%v70G1A&V#BpE>=JAlY6>ioV`@K%*cBHNff?T(MV{E)tV|LWZZ(+oV{ICWi7$YT>aES(%wUvUe7&@ z40R4r4_A^im!695u&nKJJfI1ENgU)ctM;b3FYjIh=?c6<+Y>q!(aRb=IkPOFK(pp-tro0sJ)NLo_!S*P)69N29~86+(E7R&$}q1 zP0N=3{^R|V0B@fN-~aaooT*LP*Elwh^lsP@xAvEh)#d&p|L31%eopk6vj6cVA0bVn z;sgKtUHJd*@4_$W?AY<(H~V#eZ%Fw1&yHQse{PVngD$#vR7* z9y#bwZXhh}+OaeCto?@6)C6|!j@|iZ9k%zRCM|mJFv@7L-|{{+ahAQqq_V}qP?${Ngi{+HVeEc@IIo`r3}@tsUzgS|m&) zT-%kiwR3B;MUue&+8@Lx9h+WRBu;l+GcI}3sXt{wknO#;GyY1)hV=IdoHy5Y7hLJw zKJY$CeD|7B=9i8wcX0Mr4f9W)oyeFvizwU@R+Oa+!JM09K<3lq3CUw0Qrbn1-@lccz>MwF!v-8x|+ zU-{L9w$uq$3kjMPz_On=Jo@;{&OhsayYSn|4RN3U*|~S(H{>sWY=~_+wR2DRqYJBV zY>5BTxYJzl2>J7d)JKiGcAB=Hz3{tJYFuCL&VAEokt-}xV>`TenhmvFSR0%gKg!+- zk+mRy`rYZ#r%liQZ2I%U%5zR}J!#MPa{fgAy2mND?b7o-{dpJG+;NH@?t5-7&OXY)&BaP-X~qFZ&}0-bzC z`F&jfo9p{#t}s>{c^}((_qy50m#(#8@8id2uR|1H7(cBIe$=2p@hAOg*UAgQalKg+ zd$~s$znTZfwtGzM8T`<-CLlO|WOTw@`hl_BQ22-roiJrYbgl9d#tqg??Bho;bl}2R z25!QPxzq*13*(u}35aGXa2j;{_|NN~?D%E(*7}tv&YoQVbpJoQ^(SJFpZa5c#-FEl zZ|{yhVSi(N=F!I8h620eCpV-#*|lr;wpP0n=bTcW9?IQqFx`6mj73VuUhmy{L#-z+ z1gB&|*}K6q)8i+8cYN~4rk7irOi$RIb9`!%_EMjdfBf_w$BaFfUT*KtKjCo4G4oj8 zOGB~mahvVkPmB+}+}7!P;{4U_r${RKVSfLm-q`dBB(^&fzW5TX+V=7I ziUUt}uJ+m5u&w^=nFCJ`B>3pFGCrO%K9FH*@3Xx(qu&13flR9oA48Gb$CF#$J=wk2 zXIr~l{khBUo*sVVV=y!H@ywBT8T;<~=#323UkH1b37ho+E37`ASR3@jNT0KnZdGr0 zA?WGBERH_6^5bdqpbRq)&i28|dWV3ZOzTmOp%nAc#!&FY1j^aQz|^1j5+$CTA0@q$c*k^|PP+N=3x*SZHQPhR|ceb%~vc5QmT(&oyi_2l19?b?tM zd-BqY_1Rk+cWrqWYvVDwp7P7CUF&1*PCBKgWNpgbwK?C;=4ww0dA0YhjTx;cFTYR8 z)@Se1t!%aN5~fgo-juuUU(=J0agJFV(sDPwG_`SSb0q(MDR;x;{F5%P9kaLhWwfA#3W>24Vt?JG;T+G$2owh;AyD2}d z_Ffmg?bF4F2eQ^DcyG$t)^Mfy0C}ao_Xc9dr%SI6WN+*6-cpj$;4yW8^6Osj_3>_> zoYLQAZGPjuxxlUA>cBhln!DZ`GlxE1E`OJ8Fzc;bJ=EYOc}H2U&t4Z}^~o_QC~IRD zdlS{F!L2KZyvl>UfmHd)r6?#{ZZB{NK&O220D=B_IFA z__q@)&)hq?F7@I+#;dQdw2k;}_;nwP#+vpL-`%~=f zZ~g9^(R}~bexh5)t+gQ;bljG=$*1?;T6x~BIr#G1RF^lm*7&*6u}9vfINZIp%6+Ig zEbJ}ObM_V}a)^#!doS5Wf9f||tLC5!_fnm+rdFe^=os^RDd#<=es`^G4h^_RbRV5s z8(v9|GF(Wug-)$RVwyv|7E)bnrq%>v=#lV+6eMnH6-w3|j$a_6lv5x;Mh7_LW&f*l z|IIpwdIwqd)5=rV{$7`M?H7|@cCI{q`_sDgd;ggHygv4n_ltFpZ=W(*aUk~e-N|*N zh(?p2R@$Aqk(!+5z02fRQ@hi5dXm%c=b9|v)_UsJ`{c)Wy-jqiT2BWElSw!>b=j|` zr>@6cOuMm(`pa(9)4pvN(}UBfKX1-I<@5UD<2#qAD-P$M_UBzBVf&~*t?@l|^Xccb zTZgE>?(;qEH~cw0tdzRkVEPog>ht4(`&1p+^yxtPXA*u9y=?im#%mAvr(Iu-{>5lp z)9vQ{=|KtTpEqVSdcWHL*w-Gt;$TM8-KqT~Ob7a>Rc?(p(%+`}>_z`-=GJs);B9*7 z8}xF$p~hR~Zy)>LMeA4(H3dlClA>n0%XF+7uP5D0yQ$Cp#l)(~x9eVdNEY{J-O5Iv zqI-}1Jh&??E1Uf1?~x)$xj%t0jW@{)X=o_-R|uxbZ+sy=yoS3RENev9Ej$jyadi-~ zra<)q2~fK7*8C3)|5uU3X8Hfp@P9WAGob$yeg3W9(Gzg% z|7+2+_Wx|r<8t|Xe;()mqlM4^)t|@zKPR+Zd4BZg`DNL%W&YRi9mxI9ng5@yc}D*8 zvHzc~c`iBrcz`?R%a;A@a@l*C;g7aFp5|ITH!&NdbnP9WS6Cd*)3Z2iu;x|fihs^! zZTPftA~iTD&D7(c+<%CADZ6}62E|>BeQ{!W_EgoHo*j>a_dH&)CiwgZXf~rwgq@Gn zcoi4Z>Wang{4&Y7Utui+&SF^U9%9yr{s{jXKC2K3nfI2)s)Z=2TeeKD_*eJo=w!WH zYQ0XOq#ZuI-`_Ds^0ncZPoqgKuwU~Q4ZL_;E<^NmrUSz{0DG0Jefz*ziXyQ`77{N+ z0>0cklVdLlNCsxunNo+ERAj9>cF9q*N-!@AFE2m{3Y6ql`eWFAkQ#7-r%3ZgcI?**@$uZqp9j> znAo>sW23bz5UbSv+OVSR2;1Ys&3L&@BrnH~6pw@}+AR|G<}gZecrl~$%`|}rnls|L ziZ_9Quqjfd=T0~d*LEyuch}V-)E8&UXo(#zti=GO+BTke)CMQS(KlNmBYC|y-M0hm z_yYB6@L_}O*pbI?Isji}lv7mV(!J3Tlx7<|8(+CpI`y&tPK@L;9dh^xKB%nhw4e`- zDBc22@Dp@WCRm1Cca2%2{3T4>o#)crS%AjaM6w&k%NlLD=`IG{WckA1k0)6-X4IR2 zuMtLY)5FbEYi9Gqqg@|`m+9R0dJhx&%2-W0@x^7Kt0aB4qI7o+|IUlhlsODeykWBU z-OSywf1`ehIu@2MXonA0bxB%cz^Z4*eyc(ivR2RK6N*%y}t2V*2AZKH{HX3cZvVd-zs>I^}RRGR}a00640C+g`A}xWMv4Sl>ZI zwkZ)QDKEjGic6+U#QI=N8@s`5djT_uxhEacNRQWv7$ze3fD7;@CZJRxiKGgdQ{Q6M z2B+d1_S9}>=FKDJFKg*WDE2hN9q=Vch71+peT6R~&TQoOLc|HWm^La6k13O621DJvHFV2nh66u9hT(57BtpF`>e!~e0QTz5OuojdLx|b|W}6-a ze6f%EfkTe!d^Ehp*_bkB-6;%hEWAAU2E-;peIS4<^cB=+td0cmG8q3ry@f?LpJ6f$ zF`3QvN(*4<*LRaol#2sTUr5|bO^_LC;^DGF!?wWBY65mD6Y3)zdgdUcc)8U}Hs>L< z2MBz`l_2}7&O@3!#FX`NersOwJ)e+*7%%@c9r;altFvUurJ92nlGJiC#L?K5_0G4V znmWlYwM_=Ydq8QewgK5oY@*}{<8xi+xSf1<`3Q3h`<=R*EHcWhVor{E|2u5j7!vgg zCaxbVLoK_V74V6Gjxq_k4IqHXBK^1-Yl64H#hPiyku{yNK^iGcI-cGUt$sj9O zKINKok>sKor(ZF%T%#``2*c3n7Z_eSZMWv%h(Hah#ZX>q@7`IkI2K!#L>Ih`8su+u z2k9B?CS&DB$PC=a{$*;9N8Ic*fPIU6L=#r=|@il4C@z&#?UJ{E<1 z0xQmwEik$&cXbYOW+?P(2OPCtvz7b3*tOzS zbKT%U=V2l`a+anCYwglQ_`k+EGL}-P_V7yYSCi`ux?6?+E*%_an-W3byu8q3)1kFf z)~tqzUFg7fEHA;FB%ZZzuGRUK=BsG!76!4X=K~DJ`?tmTfdIAeO4Z+85(eB54JONTuo8a z{n2*~IO^4s0}*Xx&5iRMM4iH{Ur*c-zMA}=PQqLfC+|CYhDIjKbimFlD60z#ur0$` z=ovk6p01F*8txIA#@l(ty_felwr>>%xdQAGd>J(8p9TzoX8wix2nGMBgy3H-XGj*Z zZzFcE+rKu?6vEw#sfI-~lU`K0BJbCTB4Dkgk4^$P>G#BmLUCq|A+;}I;`)#HBa{`Z zKSxcSgc4|_RJawod=5;E=g`(MRHV~i(W*9+dneBo98!?aYMMm9|L{*I&&S&{! z&P1{+DO8x)7Z+c2&|8B!C%*ECtEMHx!~zFn7QiRC5<{|gL!rNRD>`M zrv5fn#piAzr2|t0S!_J`RYVga)CuOuFVp6vF{Rmk)S-Fk$0@yL{$~_{3R_|~z^jmY z`k2b5jUoaIX&c_HT={f31kx7*Wt$QSuP(h)-?wsL)Lvu=wA1aOshf|CX${$eY>W}? z&_>kk6ht`lSADd?g`p2okY+uP9^j5WotAj4^Ac(##MveKjRA_JCEzqkxd2cNg(dkV6})E-`sj{H0syBFeYiRk627 zeygU%S<(y)Ebk2lCSZ))HGLsa(}*^9G@F!BsaaCS_}4trWt|{f$d(4Tw7Ke!zl>Vt zBfL&^j014JcjjC(z{O9a-(-rxeMcYVM*8T#Gl~F&KXS8I5)by2T`g(ydUN8*3 z$syw|>$KuT12KI{W~W0bP;Z&+r6l!-oSpDIzX>#a5YHY$2t5LQkx`P0lEtix#{wS9 zogZ-pX_7vAVN!RmBnsOlssyKQhes_R+nndI2NQ)rpdEwb|?2irUP$ zc3>x2QTyR9n7A84xDB0nEt}H#OTiftylKd8PzJ8Yr&@{D9jFjpV-sYp z?_UiQDmA`Wz2RTrm^LWjaV;fR4Z8jb?+a0C^Mmz;%XrV6BXJ#1nS?FkH1Z4q-hdeFI66Tb_W zYflrW@(uH(!ZlG!=Yx3g zgFeD;7UDIWSoX5XncrsKk7Whq<*Bz!*2<}{fns(SBox|;MZJ!QoJ*l&&qfv%4<*@@ zGGo!u=UCH5(bCyS9xG~arc$z~c6=>836+|ZQpaKMK1&+H?aNqJ!$u61;aol=UFE5m zc*eiz9{AZ1Gau-Sgi$EwjUhD87BUtN>JpTw7CHFsz@kVH2N5sYlHb!=80=K0>b%~i zzK~GC;m31$Ghw}?CDMXkflEr1zR|r0+JFiciRkQN5xQCsVS>VrL3_0*EEWG!INE2Y&={MYq!0?DhukYZdb;X;J;d2%; zP$125#_)SZo&5}ak=ezB%pD~}Sm4>FM6U9NW(YBupVF*1_$3c-5JB#n98zqxMzWUb zd&%k&oAG4kJ>l9WMz4`}&Ek3@Vhs36<~hnpLB0GW*@8tEH^hS`*Uv6h_cPviZJ{>| z@GP@yT8a+tsAHQRteeQ~AcV#CO-_av0O6(6vhhw(5PJsl*$f5W^7WFPHu*R82 zCeK(d{bdnRL|-dFA}O%HncLCx-muqTmFSewbu-#3gd2mnEK6A=f!xt z7S9s4)aBw{?$hH{trBb3Jew%i+lzG8$(zs9LQKh$%yvkvT*}_ABkn-|Ot!!nA~H}@ zkfB38Q~c1!_bFDU)ehq1vdGA~qRba?C|QzMoO{Jv#CyN(HKd$@i-gX$R_9k28cMuh zqj?#D!n9WUP0cIT4cu^3+$wR0Hq06}Gx7{QD(u>p|M;KykTLxs^VH@|COkKYwv>$` z-{G%7>O1`ocU_w?3lYhKL9_3~+*aLNT#LC?fe2LR85O>iS1^$Oc68O` zG(i;}PalzAMki0{h~J>Jmku4itqP(nc1!*8(6y;l`|;YEK1rwJ?oM5vTe0?1cAcr^ zjP?~~MSYRt-^mho@18L7w0Ti3)R`gQjm*Hk_0Gb!K2qkQq=0q{W%Rr@z&d zGWJyTU~GHdBy}E4h*7s3RNsYcuX7T#UPcruosa*VzX)C={VnBD z#PR`~tARueZMtrUf+aH|$oOTh0p(MH$6hqo;8f4yuMi7f%7v(%_~J)`XHk-eQD76< zoh;#LmfDW?ocC-plaT_%m0P#;KLKdMB0u+BxDkFL?jv=|~3XpWg%+8vDzjK%rrY)tWT z>6~949{60fQk+mhZy-Zyu5{diy6$H8Qs&u6P>(v!Lbeb?ID{Jgbh%fkbYeshsrK-U zBcBIi3{8gA>tr`@+DFO4CQO1a8y<01AlU?gF){(qXr}}e=SF5uzKV6e6M!dNChZ?EMvD6kui)mAr)Ls+gXEa8t&0yX%gO!13 zv>uXH!z}MjMn0v@f>bGJ)qbYqpv_!FU&%lWMs<-dTh5T9Bd5PQ9rOC7-n5|%e+~XN zN;r;dls`TU@n?Vo{18@BMnr^wE)BDS569?cQ@Ia6&4n6o=1`a;yOBdIS=9ALk}94y z`+^(sw@IB|iZljWZcDb1JyWg0nnU*-l(9w;V&(V&Z3eErHI*q&wtrnLx2Iratu=@r zFcdUUmn(&?#Yv@Qqco~5v?bDFX(?$tmS9#ibV=Zi+X@n;Uwkqp zu6Qn~jHRHvAliI}>0hmwtuYI(3lVOAQ4w9?Nd(!Wz^Z!{Lixuov&B^zI0@qhHt=BG zPAr7`gT?a8OS>ZpC!{Rn*N8mO6tTucq~I-)tyy&3isfB{Q6HBQ!s%?)b(}AfY@wot zGZ%_S1D6cEfnRSC(f~F|_GnMJ3rtz>ELozs&!=i0 zn)qtYz(ngGQ0?JXK{dQiPo@9U3LDh}F6R;iz)>hrAE9y_A!=8i_G1i&W|Y!Hk0HK_ z!-t7n!BeQJo2*(%4tz0V+?{F|hY-I35n^B%T?plQl_^ljdxRbM&hBSJWe&F_-RcMO zdmjT;Y9K0wYOnrScS_VY7WP6yd1E%Yt=ICt6=FTFQC@Jl@XqYuY zz#XktdT!?z7KVb8C4DhAk~~DWH42w8vU$=o6FJhZ36Bm%FiT?Kk@J0n94YBcfslC; zck#I!J!_Sh8+ArqN*%8SYLzikaepZBBo5cQ+cQ`rs9}bV5hZ;wbi{5=_uKR;^NWuN zCFMc$2rGO{gjUcKN=|5qp$3KPz=`+;Ul}vFyvXP?S^llbND{vsw%E^;QIc%wA31cox%mXAI?Ufc}s;ag-#`BfuwM$r&`PDE!AdoqSVX_ z=`iv2#k!*9jq&h7%(b2HxXij#sZl}j)2^J`$SB+mWFdc|Q=-y>U>z~4KQwuX2L%ofK%zC(RO+Px2wlnE0=8;#19LO)W|>O~6u zH-Q5vix;tT{6XkV(NE&e2rb`Jyr`X=K3DrpW&>lL)-Kv{(>U~@g2bs+|B;SJPIJ-k zQ)2!^^?j%RT&ZJ=GiA=|deXq-2j%dK#tf-nt1~5iO&R38akx|6WKkxXJNGLn>W%!F z7PT>?m}zE7vAh$SC@nHLX83_?><&D=T)|o{*ZrGnuLb-zN zWvI}a$ykPOjc@Du*`=$+#m$)ykuwn&B86$w%(1e&Ckz=2aTG1e`;Koc*sJG=L}sLW z-7_?_MT=xhHa5nv2-^=`f;NzA%V>5}u)K&{XrE!An+)}lgOcv%M^sHFJ_hr)L4;|o zF{nCeC66|OZAS>{-v_0ROF71meK?{{z&2|YDjYLgfW|dgYhae(z?%C+N$=2`Ep4u) z@BZ~3*5aGifkaV=W?mkxas5SHkJD0v*KSv3aV%$-z`lcEEnJkly40n@bu_>lUbJin za)<@q=Er^R&nUy*iuxM4;-`qV4g?MPQE358__7KOCxeaw?c)`SWVdOzFm;T4hgJn! znxI|+O;?A^S{Z%&4r*)#8?ok4!`^NlNgRXS$#4D2GMVzNb%^;Q-FOAzRaf6j#(n1P z>9;8l`D@@jlA$D0SHt}!`9<*`)^hIF9cN&7B8OOl+EoJtS1|v+W9_fBA%$@fFZL?n zA(Iz~LK{jTA7eh#WA68=_f5MvN<;Ic^4{Fng|6*$)~owU)F*|>t>`j*x7y@Mn0*$2T&`>7P1dh7YbvBI&M5g^_AdZh7xwk&A^LM4?Vq-0iGMc zHjPvgVqvcGu8F6pK2fCEwg@c=*oEQA;JXya$Z#L97%?6dJAmX(6QH7rvWncINlH|3 zYN4h@N9DtIM0!QifxBYoo6+PF(c+>GS91;z;ATzVnm_vt#g@vGn*F|ZOJkL?LNuoFwHtDrBqp>Y@S zaTwi(Y$5X=JU3_g>0sd16mVev_YkFw4Yv)9Ao<;@4ZLmNlX@MZO;*2Dg^J|ic7E%< zDs|2K!FA`3y2;`ckNZ@HKY~>!rnV5*lzC(rdR)C#n;2{>9=5p#yJJRT{!stmPk0kn ztH9RZ*cU-LYYil|)(K&k+Z|Jy|z8fBU^^+owfO_s1R z%H0gnufrt>-&jqz?Bqqoou*jqfELwzM*q4+YEA2@ItiQ6^2CYV{w|iSMlNOMP7JwL zT(T(tn|E+JAm{~ItQBZVA2^RT9FTs4reX(3TKLA4b|!s+njtPcw9(ad1H5W+W1+XY z=+@h(mpbJy5ISUTL#YX642FK#m5D3}P#h*BZ5SfIauVKRMA<*;wJ6@PB#Q8W+=!g6 za})Bhn+9cDi;>-6j29(0%BfX}4nh1W#Flai(4z2?+HVONJfM^>`GXIB8zroveVkzx z30KQN3|0FpXfYcGe8tdWBmskmWJsog2U}%Q9JNq`Xp%$#iO>cp__BusU{->GTe z__L*7lUqY-YQSykZVJ7m_GPCDM`cHhszNm=Doew^nwF@pIRJ^4HE&at&J2MTR+o%_ z0VEKmr0d=Gz_+JG(Ng+%3EEMv75~KO zy{8l`SR+~#6XdIT>IIp8^C0UwQd5tS&S2_u)5i$U#^ZG(hKV40ZhG;Cu~NfGY-47P z2@(9RcS@0S@ILgqavMJx>MewN?N=vQQU+hx!-oO-Hz+MAyLTVFMVFk9LZ1eYn+ ze?AD-nMZ4Mkr_4BENH(?Y2AZ)>O}@FReK3vIHC=AkiyOnKcU-?T$o_)Qzy4Z${IzL zcNroOS$>VNvq6N7f0))UTTYR3M3rpQURrf&qirP+zC>u#6^}2q*cdag-kKrW-R5P9 zgJQlbTQu<9uE@C+=vyN|czqV%;cWwHCD;WEtomTh(rHe6?@hezSJ*Zv7fgY0mpnE1 z{t+s?{(V6qa77F3oxQ-(c^)A|(^~NIzKVctj@N3FH-O;_=GVf zD`dJ4s;)0my$18PY5Art`b`O|dz=>r{4TqN*A_(9dJ(5dm(N{@(i2X9!wysEcHy2C zIb?yBT=rG|E8$M3Syctt!dNqcw)$l&q_9i0M3$=^Si5EBw=aWG=4ZR3qg9KJa4CsxlBH&PpTK4SoDuzuh7X%%V zHdlZ1hiNt{aj%R}$OhRCz$|a!s4EMtUb%E1E(OldvByg9Yvg7Z~!FD~Y4PdM>VkT%+ z(ws_nG1UGFFH%PRF+TVBj*^_2L@ZX|e@ooVI5Zim&pjDQ?F#TCeSw>*MZa z%vmP~Lh8QyBH??&VkcAYM$(f;IxK}Yj4gb~Qh{&r zYL$OcVVH5Gw|Xn8j_HsAWm11!7fJ&iuhm825PwP7GT8DTQ!7%e>^q3i&WH+C!5b+Y zMuio=nbB>9W$v=JbQ%ooIg?#s$Mhz8GM9m211FUaG&e8j!o)#|?TLuVTb`Pmk?fpQ z2~a^aD*uMnn}ey+AGizE&4H>NTHjhz#}9^M7tx894`JdW?m0m{0$b>8{qGWCdmLkU z@e**G|BL{#8eVEXe80A49i7W|tzn7O8bn zSKxPOT8B;g!MvgGx{Hrtxf*ix3@r=vhI#MfFP)U!#?#v&;_--&z2hvYI9+out5$Os zM&I~1)gHbbs8&*K9-1-!W63@oC=st?N`1a%XVl#@9C@_OExPdUu1j-l!XRg z)GQt_qC8obp=HD9vG!IV>{IVkRNq00*2&ppB|{dC+!lXS{s9Own6Ze3sFT+Cn*d$4 z9)o-cgv&4M@jtyRr~E~hX%&s(fNEv62;48Xfr%WnAnnTq8R#MT8TQ$a^A~4zWQ6TB zs`x+Zx0@7b2WkXI`VGEMqTcOl%%9#I!9^lp!U`$^(hw^R?FEd*Xu`>i6R1HB{!8 zu@5Oknk#M9f`Ai!D5-Q3$GVP;8df^ZFsi1kIkaWq)w9%NNS)PRQbeWF#hmKfUOEoa zc7)c|i#m8ad_2khU~P-K8}7cCa8%lih?@ngzO&)*{e6^$r5rXzc3~ZDq3pl_q04Si4%bBlR7VQ~Ml{!zS{uD*y7)EY>vUZC{2yN5 z9hm3~X8vTczLz(&cIg2Xh8X~{8U*O}Kv&>JTfaXLIeI;{x9tKGLBC^drGgGhqR0e%v?t=M}gtjXk?B4aZ9an$8t z-1*4rx@F%fQ<*h$fD+B5iWXZy7~~2{_Hg@T$UU@X=TiihU zz!&*yfnBxxtTIl#9AH;^y~VQv4SNNEE41jTR%|eHKBDEeL5$~&WvL+ss(Qc` zq)NKUoU7quE%Z1j{C$*gRP!DdsOeCd4@;$*FU7iFhiJ34msqQab8R3Wp+1BWUZbu@ zV9L42@XyqZ#fKbWLR_LmJKUu&V|cswDhdiI-@tTRvIS z+Q*{Y{b0-L^zwfp{tKHFqxCmlwco{S{A&v>9~J9rEoz4NfnZ{(cM>v!+efP}3ZKC0 zd{^Q-JPRYv*icGl^jg5*$+977>O( zMC~JiLs)1D4tCEbMXI^Y7rdovmZn1<7hfBw5F)?hZdtAnE+a_cudt%U799-Im}2iz z_sM+@zg5(U+r{2VL|Q@%SisVw{)1wzkzt5>o-aYQ_9JfBU1X@v{!X^Q%*RA%o`^pw z2Gd$i%$B<&D)#oMZt>i}T6H;y!6_#zCI5~Eo~eBghZ;%@5pM}RlYPD8Q@Xsz;tkPM zdw6ZdzdVyC?+2AR<5$3J*f#OjLslonM9H0E8AoPQn@sJ%{$8GxuDM6QBLV?$w6r-y zV;IhSAvXUIltd;-c_8s5+4rt8@MS!EngFG6uSK$R9x%QgJM(t(N||jWPlkI)r`28_ z%oq*wV-sq)1SnbhEXqlAsXA%%-T}o4zwU{ohle;hcm_^Qi& z^egSQny5VjkCqG#GH;{6eQ$2l5m4|+fGvaSjI6?DnQEp_H{4aTWFWaH0?MeDeDa5t zAqmzlJxaD{=b|l{5&4;n`*5d1@~*X<-)}e<4YCIZV!T+pk$@rXeWemzJKRD;0}b{3 zL;Q@F*x%|S)gRF+osqhCBla`k*0qHFox74?Ip6utchB#x^}B!F z`6Fv*@0n-b^1L&%XZCs{#uw+S9)8|dYRne=V`Savsr%ByuqyDX$%Zo5H{YR&Em){? zsOaH@$d&nPn#4n)hKVwc6wi6-&3&crY2IS@vz8NG#f8;NPinPxK$iRAhxhL8(C2Gb zeuI{pWIJeuY;s=}qW+Rr1vzZ-P3bA#MHkP+P8sZ{eSt79Ck$ykEd*vd;g7D4RF1|LU1zLGnUVi62tOc_-C_%0}lN4>1tOtviR$?~eKv z+}JiCg~`0+?z1yJ_-F1RfkD&wW)L3ik-8)F)IaTuWeHMSbTzf7%WpUDFzDg<0qaH! z>CJ$5bqovcTzR35dfB~Mb!V`Cu1Q{SM{KD>XvLIkV(szD?ESnH($09mmzS5z4vZW$ z##fRz+BbW!2et3!{FM&Bp6(>&$;1AxUEyoyDGG&{d#aoK4dey88j7~ zK9|xD>MAZeZ@C};^<>4qFmZWO6l~*tdoOmE&;3b75%I$wpP9bRH_vYg<}HmW3KF7P z^Zi_~bMVw*<5&QGqroq@yl7=LU>tAhknwwf;zPS#k40YDlvu58_g1BCW}}yN-v-ja zodg-~>UjL7J@$O?(oJMD;h5$V*y$Q zpTBuQYe)vYZSa(bu(U#I1pTqm!2PvhJ2{y6hHwQIc+rwE`(z#A2ACjUbIAP8yRrcB zu1trVC2%gdQ=_^0_8p_+7y6~stH8^{C&m1l>37%dtunMWYQXnG)tvBE&z4v8rv?(V zv>m>bg*s_IhYFnwvfg0PyyP14Rd&&4r0BMnMo8se8(|l3XmbpI2!C_AaL9Uy@SgeZ z_LcSGeTLcb!_35@riDw}Ta$`T_jl8(zKsT`hY)rSui=*WI}J`MIW0a}A#83qyH*BN zatgiNRv^7ct3TrvN(Kkj-ujB9x_(8nXkl0Ua|kx}#4StWCZF%bZbtD|WMu;AXlJy? z!*)q0CB}cBY-6QE-5xz&3bU0R1wu%IFExA8>BaD~2WJs|O!bzLlvvy*5I=_xRNIIu;jVPB;}@?bw{$A6)zr zulFTLcGW0UFePYXaVDE}Rp_jM+b(uJ_P}PjK(=OSt3l(-b^-SB;$B+N&RRhKr3c*a zp=N6u4)P|S8mf$Tr=M(n+>R-qu$oa_l(+dEn`5~Y$h+JKTGC>U3~mTT>uPDdyEgp# zE=}pdxL{!KbmWOEy`heWuD@xgtkgauycn&iIUUF!Y~4S*X!-a+^(FXI+SCdmF1iFN zcM{FO@S*F%Pf6d-RVaIb*@EwWY9p=q=hlo0z==!YOBy%96Yr7Z``Z0TV!+rlTzw{E zk9qJ)kF*5``h)BCVaq_9l8~0xr1?913z9il_HbeP&SRk#(l>H*YmSMauB8X}U+!@E zY1wZS4?NMuIQrLZ(lmmGf`lzY9feSqMPKR;d+rzBIlQ8IZ=;v=#X|FM53{!~J$d~~ zdY-t*uNnfb7B`Re6mjcZlOwG1=hm(yf~N#F)p6N_YrB_jOrc)%zH?1dfjE>un+h=2 zZePjxGA#6EqPWILY6JA-{{2_%i%)ihnRA2JQR-`lZ=E%sJr8!iM%bZt_ix^#xmVLL z=WBJZhVVuan{C?|Jg|H56XBqVuq?)sZ(An6FWD(C+L&3X1r5!C8D1JSJ}#WO?boPw z&uDclwrz=PN&9x$T0`SD@4XrS(C(F9Bk?Mlees^fv?lF4g)(EZ0gI7l)Xdq>qVLRd zbU=&w9cIK=P6`%e9@$9=pGp2!JRMo~Nmq*fLaByKQ-X4fVeQHt-90XGDHW0+%v-hUU0MU}h zumqbZmy8=~;!@^Py;jNf8C9a3H}yGBKr3F?+k;mF)WYZkMe3C`663y0rbkiC4AB_iK=1$H&{b zR2nkBc)HU3Hr|8YtdG6M?+m6 zZ5lZF)hFe*H*+G)0qyL9YZ-HzQ&jf?dOY5(##{;hpe3~34|=+sbT4=g1m5Zp3R%lO zB;Wh?{@I}c1#9YaN^#m2S{)xlV(z+DG>VIEfML%9U`L^qi!-Y!ZB z`LrGgf_^lo1?Q%aZ{H6S#O4m^a@EF(%eYDP*>}?0)uq3zK^*%u{ya#fKG)n6cHCiN z(89m=y4Ghm+1-gQGA7^DHvSpfF0~e43rrrg;3Gd$eaPUHPrS6_?1|r-I**}!@qfIT zVfq&E{F>luj*;d^UdzBiGpFSQ)#llgOMzW9+AC>8!7~i+w_2`*tma?Z`zRE;Eqfyy zKq*QaPG{;9!5U!|1yq93>8Xjb6vgRFuvy0$+Lp58dD=yp>f+6UC)2|8fk1f^6I}(H z)Pjt12~L!;(S;Fw8Y5hkA-BiWzdkL}aT=%^*rTUSpIRKjQORN;X=t4QO=rs}Wvq}g z3+%NHH?=KSI9si&eA%inZ>*Bb@21hk#nDu1rBb>ilqoiEIKr;6T-ghyr*Zm4Q8KQQ z{o=ggxyPe;!Szz+CktkwJMv*VjBq(U-c~t7xq`GrHx5^xuJfIWX><@5dVFp#u2MeI zz8|iF&27`<3# zWninK({e#}^DL)#K$pY2wKV47NrvL>-YZX6A}{SttA=j3fypWB$tZzx;k3GP5o`si zQNkQBTJ!U*?8&tHqM~W>rW~cLk@M|9mAW`R%}KW6D4;N_i7~_`9iPZiE-GGaV#YU; z7QPM#D&}_Us??_!7EB9s2X>n~t>RP2IZB12rA%29tRp5f%9Sc4_0)T9iV|#Zu${dL zIeQD5#5YzdalhJ3U~xEXN2y#s$z4}5Z=@ir@dl@tySc;b(PSoEsaWBHDfi>y$gk_= zs!!(iz&j(w;f&5KdOZDBF^Y+-i7vo0-aejA`S2A8Tmhfcs#K{^nA`8nh0PgooK;Mr zl5r8aZr{t6RTnW+16RI%zU}m@`l2LHXLg72e!B+^Ndli;K)+4&32yp^?ekB|#j3T+ zCu0im1s^z&Y6JFz*klIBNzv@4Ue3F|k)Pg7t2}(vru7w59IN?()iR(TTC|qP-8?CN zFR<_UyOr>7!PAPxTdk^3R||{xK5&O_4O}{4@T5=*qZSnor!!@VV2$_?1ym}b)l+L_ zD~i(>X0wii*p{*<@wAId)Ww_ePo{-!0fF-I#<~jW=>-|(!kj2$^9v*RWJb8CSZYI<=5#|;((Nr-gpka<&A`Ib##-q;N; zznkV47ojQCN~I!6C{y;l;fUGBa^*YjdK#}sijr|R*e}jQ&OIJY5?n6@Jy|dl+K~@C zV1&y>^0dmuC={e6I&--444m&&Os0dlh~jg5IV$BN7y98U4LNO^vkJx0GR~}K=lgB4 z8WK5cT*PnN_wl`|3*YdBE9Q^4sywJKEd1=ueRX`mX|o}Pf`3vtR=t-s**9XUU|Ok4 ztxbIpQ*_<&1KYVr{b%oDla9Zclz7;dxNKy8jb`A-}%ms)mbwf^%=d40(pp3INgMGhfR&8R13{qVBd)j51QOf z{o;3hl5RWBNvJ;R5I|$Ici&8rr37@l7Oh4hn?I<_1`bHSTTXu1JSQf!)y}QGmbnx> zMe}T{$NOM4Hk6X~G6k)%GdXLNGo`qi2%U~(D@$H&6o{WSPG4V?JyTL&jCwfU#M6Z} zHlSTxo6h8nXnJZ+IS|AvWo%$-gU?bb7o%9{F?Lf(i}r+zYpD0=oLWuIZ=MDTQAz6S z&_gpsIm#$Iq)bqz)-jlj3Qf-HGvc?ba&OsI@hRUlFux4VK0Q`Owt+Hssuu ziPDjN{UYx{W0iowyuQ)t(acl0GMcvwCf-5Au_5afU<%&n!ZC6=C5%WOF`f=%L&Yrl zL|5{u+-|spd^8GzIIWo5A~P$O-_(y3WH{fh%hiw}F5^noXWw(#t}e!}2BCF);y!5lyLqjrN+*i321DeB*w zdc4rSu~*;BXfp>s7b{xMsnVR|l?~`Hb6U$%ZJwf7+U`bbuS9zX&uD9dT zrA5Jk;_6Z+IwwX_^BT)R0=(V&h6?yh8MqkDM2`s?lNK91Ee@uVIwO)`l~c-5#Un0h zU}6f*QphMHpQ$!RoUo3*Y+G?!xmxGsqE-Imu`0o1?)rLsqZtxPWmE$w6ORkSG5(De zS^^7aK#yPK-o;fN*P1u53>wYWUUvoT^L9H^%SXW&5o%(*Es~vbd3A|Me)gPpeF?=( zDTpieXl{?En|y3wKSGg)$_7u-yx;Ee4q1r}-J1yoZ&9#?ouL$w z)1kAF(`89WjgpXo(Hc>nR3l&W2^@3>$*}!fivQ=nmD@Q49hoq^msZE4UMu`$a%2NG= zReXYN<%zR54UgS|;$M%IGHu*6yT&&XW~fvmZ;rB1yzn9+tFiK=m%9(R79Tq(ob zdDAOFBau$)C92mJEWy-rap8<^l6pLyv@we5!-+18Q#^eE5(?oa5SRiqcTmYq?s{&& z+bL{L7x`>MYKM#qUEld$j9q=i*&3L#hyBoLmD>0uPd90Y@lK`(4fwa8U6^;r`$Cv7 zVS4-@<&4w^k9z&km`H~=A62e24QUB3$Hi*SN?8VU zG8C<)|K2=#Y$>4cs`hHQW$;JEOWT90A4ln$K&~@MVXs=%tBVJ!*n^yYE!>k z){z&+%2oWT^|bh`ier>2S5oMH#;-X=_!qeRX?%0k}MDj_|iQU)PuMAZvT>$NSVe|gi?@3Kwgg|QM9 zziLY@z87&ZN|jRP?uHC`qv@|2OOJhVH@kXzB-{d5qIhw^LN(~c^`iAk*=zG%fE~ru z7DgA^HlAJ|Lxl+IM3|B*?~s~=Tzovl?F2NZld)0}Khf{Pw3gEs%vB#|AOn*(vmaEj zt4+wPaXaa8zKi-*L)w6+3&S7dz5f37krzM1RIg49X*2o6Me@%|8mV>CC1cY^3nm%o z)cOKXVZzNEKPsGS8dOI6T+e?qd+N%gE{d;fsa=|rbVC8XSf|y9bIl)>y#t3dw3p*k zf@h^KZFMp~UBkcMn`A!R>N{lGpaufMX?2|=*b1DZggHd$%+I&7B-2KLMAPE+IZ9bG z=i7nQb#Z#0lWfHSKw(xo6NpWEY9a>^BwlS|z&DbXwGIbT9ZzSXG~_4Q&vdop?YnKFt#_?IIAINZ&@Yr*;Yy1uQm`^w9ej9Dkn>F z*LBSsDR67N!Fdv8?(q6WGE-xfSmA;`_v7Kruj}PBPv-T!cSeds7@b)tc>Aql^S~zCF@)8G)3`NEAr`Tq4(Yg zZt(WNrGw=ZK#3QC?EkhU{{L-DT%6smB2!`^qk~vQuq3ijf`BD-20X2-S~#uLXZ*-xgGqo^4Z%maI)*?TV1m13lKHVoYM9K z7hcsSAFDx%4IbfA~2k)S7)|%rq zdG@1L#9d6G$D0pas!anIzxt%myqOb832bLCTFIDeo~F7N(B|=OwdhLl2X>+D{&P>4 zlZ1ljK+m>2gbr4+4=+wL7z4;zqn=ZWtF_STNb0iX)kcZ%v(j4Xi?YW{>WiHijyGX+ zVT~Pc7uQ}fJ|oJOo>LAK;gvGBFtx!aD3yzyT<9^TR!EEPhl^`WbnBeLq~|wJiwIG5 zTk6n5<3u^iBs-)`=uE9+MlvciXKtPmKVg%5%eI71`KE>WW$5+OV`Zl{P{tH|!%>|| z73u@-I?@+L@*Xsn2ne`a8l4`EKZPrke!F1895fvJZoLA$&+}ZES|O)|5ym6NGiYq6 zm>{3%Dl?VaO(`KC-2*|K9?fZyaZ|`|>W2w3GNd&d)YTw{FD!oT6V)@N7QUG;7KnGQ44NDN)@6) z1nGaRVL?#WbMY5sdO|%oar2qj>z|6N```3*+MOga?~k4c$y$Ex>AUWBM>VMcfdAZA z|KIghc7(w7qc4JSf9;Eyjr-X@?MUH=H~z(ZbVq(*|IrcCzjSogPW%^N{YTUNeJS-I z15f|}08sz{KxOU?M|eU2l^06eLjeFN10e;Dw>KIK<9ODq4&WB@|+7?E1h0{{T1E6fvxMw-I{ptJx0 zzz*Sx^TsIZL#coKA!6u%x71%RnvX`P%eHr1d+H?{>X6jU1egyc#vX=8~^~&K;2<*6dI{# zn|XAXnQ&Ln&y!$EqFIlwE#2Jygd*ibVwE@m0HFOIe2^Qh0e6VRA`AosVqG$a;Q(ac zpA%)TIp+C4q0O#=}2}W=xggyrPq0c3<)#0tc4XY&1PQ!cMG$Y3R3=^$rTqJ%hWTj>20d>yniQ_s2S!90G)kP)X-!r)Cu zWC?*1KkV{@78KZ@^^W}@#J{im56e#TExO@>7x3DE&2YgrVDQgo^ZY-r|F_H5g~ZG6 QHYP$oFECE|rARUS7sWIwDgXcg literal 0 HcmV?d00001 From 7ab52b886946f3458aa742beafb667545f49349e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 9 May 2016 14:58:26 -0700 Subject: [PATCH 083/106] don't check fbx files into sourc --- scripts/tutorials/NBody/earth.fbx | Bin 352336 -> 0 bytes scripts/tutorials/NBody/makePlanets.js | 4 ++-- scripts/tutorials/NBody/moon.fbx | Bin 95184 -> 0 bytes 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 scripts/tutorials/NBody/earth.fbx delete mode 100644 scripts/tutorials/NBody/moon.fbx diff --git a/scripts/tutorials/NBody/earth.fbx b/scripts/tutorials/NBody/earth.fbx deleted file mode 100644 index 31424a201d305a62df772149fad6b54f7f59e139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352336 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®GN9`-7&_r|?yXIIQ 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 z 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