From 8c01d5f82b3924060269f3da69ff26227bb730cb Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 15 Feb 2016 14:00:42 -0800 Subject: [PATCH 1/2] Remove camera tool's 3d hud overlays --- examples/libraries/entityCameraTool.js | 145 +------------------------ examples/libraries/overlayManager.js | 2 +- 2 files changed, 2 insertions(+), 145 deletions(-) diff --git a/examples/libraries/entityCameraTool.js b/examples/libraries/entityCameraTool.js index e3e86cedb3..d209ed6c5c 100644 --- a/examples/libraries/entityCameraTool.js +++ b/examples/libraries/entityCameraTool.js @@ -614,142 +614,19 @@ CameraTool = function(cameraManager) { visible: false, }); - var defaultCubeProps = { - size: ORIENTATION_OVERLAY_CUBE_SIZE, - alpha: 1, - color: { - red: 255, - green: 0, - blue: 0 - }, - solid: true, - visible: true, - drawOnHUD: true, - }; - var defaultLineProps = { - lineWidth: 1.5, - alpha: 1, - position: { - x: 0, - y: 0, - z: 0 - }, - start: { - x: 0, - y: 0, - z: 0 - }, - end: { - x: 0, - y: 0, - z: 0 - }, - color: { - red: 255, - green: 0, - blue: 0 - }, - visible: false, - drawOnHUD: true, - }; - - var orientationOverlay = OverlayGroup({ - position: { - x: uiPosition.x + UI_WIDTH / 2, - y: uiPosition.y + UI_HEIGHT / 2, - }, - visible: false, - }); - - var OOHS = ORIENTATION_OVERLAY_HALF_SIZE; - var cubeX = orientationOverlay.createOverlay("cube", mergeObjects(defaultCubeProps, { - position: { - x: -OOHS, - y: OOHS, - z: OOHS - }, - color: RED, - })); - var cubeY = orientationOverlay.createOverlay("cube", mergeObjects(defaultCubeProps, { - position: { - x: OOHS, - y: -OOHS, - z: OOHS - }, - color: GREEN, - })); - var cubeZ = orientationOverlay.createOverlay("cube", mergeObjects(defaultCubeProps, { - position: { - x: OOHS, - y: OOHS, - z: -OOHS - }, - color: BLUE, - })); - orientationOverlay.createOverlay("line3d", mergeObjects(defaultLineProps, { - start: { - x: -OOHS, - y: OOHS, - z: OOHS - }, - end: { - x: OOHS, - y: OOHS, - z: OOHS - }, - color: RED, - })); - orientationOverlay.createOverlay("line3d", mergeObjects(defaultLineProps, { - start: { - x: OOHS, - y: -OOHS, - z: OOHS - }, - end: { - x: OOHS, - y: OOHS, - z: OOHS - }, - color: GREEN, - })); - orientationOverlay.createOverlay("line3d", mergeObjects(defaultLineProps, { - start: { - x: OOHS, - y: OOHS, - z: -OOHS - }, - end: { - x: OOHS, - y: OOHS, - z: OOHS - }, - color: BLUE, - })); - Script.scriptEnding.connect(function() { - orientationOverlay.destroy(); Overlays.deleteOverlay(background); Overlays.deleteOverlay(backgroundBorder); }); var flip = Quat.fromPitchYawRollDegrees(0, 180, 0); that.update = function() { - orientationOverlay.setProperties({ - rotation: Quat.multiply(flip, Quat.inverse(Camera.orientation)), - }); - if (Window.innerWidth != lastKnownWidth) { lastKnownWidth = Window.innerWidth; uiPosition = { x: lastKnownWidth - UI_WIDTH - UI_PADDING, y: UI_PADDING, }; - orientationOverlay.setProperties({ - position: { - x: uiPosition.x + ORIENTATION_OVERLAY_OFFSET.x, - y: uiPosition.y + ORIENTATION_OVERLAY_OFFSET.y, - } - }); Overlays.editOverlay(backgroundBorder, { x: uiPosition.x - BORDER_WIDTH, y: uiPosition.y - BORDER_WIDTH, @@ -766,29 +643,9 @@ CameraTool = function(cameraManager) { x: event.x, y: event.y }); - - if (clickedOverlay == cubeX) { - targetPitch = 0; - targetYaw = event.isLeftButton ? 90 : -90; - cameraManager.setTargetPitchYaw(targetPitch, targetYaw); - return true; - } else if (clickedOverlay == cubeY) { - targetPitch = event.isLeftButton ? 90 : -90; - targetYaw = 0; - cameraManager.setTargetPitchYaw(targetPitch, targetYaw); - return true; - } else if (clickedOverlay == cubeZ) { - targetPitch = 0; - targetYaw = event.isLeftButton ? 0 : 180; - cameraManager.setTargetPitchYaw(targetPitch, targetYaw); - return true; - } }; that.setVisible = function(visible) { - orientationOverlay.setProperties({ - visible: visible - }); Overlays.editOverlay(background, { visible: visible }); @@ -800,4 +657,4 @@ CameraTool = function(cameraManager) { that.setVisible(false); return that; -}; \ No newline at end of file +}; diff --git a/examples/libraries/overlayManager.js b/examples/libraries/overlayManager.js index 49398c5009..4438193313 100644 --- a/examples/libraries/overlayManager.js +++ b/examples/libraries/overlayManager.js @@ -221,7 +221,7 @@ var Base3DOverlay = generateOverlayClass(Overlay, ABSTRACT, [ "position", "lineWidth", "rotation", "isSolid", "isFilled", "isWire", "isDashedLine", - "ignoreRayIntersection", "drawInFront", "drawOnHUD" + "ignoreRayIntersection", "drawInFront" ]); var Planar3DOverlay = generateOverlayClass(Base3DOverlay, ABSTRACT, [ From 0d29f59e398b90cfc92d2c06e9abf50e2a40a1f3 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 15 Feb 2016 14:00:23 -0800 Subject: [PATCH 2/2] Remove drawOnHUD from 3d overlays --- interface/src/ui/overlays/Base3DOverlay.cpp | 16 +------ interface/src/ui/overlays/Base3DOverlay.h | 3 -- interface/src/ui/overlays/Overlays.cpp | 43 +++++-------------- interface/src/ui/overlays/OverlaysPayload.cpp | 4 +- 4 files changed, 14 insertions(+), 52 deletions(-) diff --git a/interface/src/ui/overlays/Base3DOverlay.cpp b/interface/src/ui/overlays/Base3DOverlay.cpp index 4d7ca90925..e648a22650 100644 --- a/interface/src/ui/overlays/Base3DOverlay.cpp +++ b/interface/src/ui/overlays/Base3DOverlay.cpp @@ -26,8 +26,7 @@ Base3DOverlay::Base3DOverlay() : _isSolid(DEFAULT_IS_SOLID), _isDashedLine(DEFAULT_IS_DASHED_LINE), _ignoreRayIntersection(false), - _drawInFront(false), - _drawOnHUD(false) + _drawInFront(false) { } @@ -38,8 +37,7 @@ Base3DOverlay::Base3DOverlay(const Base3DOverlay* base3DOverlay) : _isSolid(base3DOverlay->_isSolid), _isDashedLine(base3DOverlay->_isDashedLine), _ignoreRayIntersection(base3DOverlay->_ignoreRayIntersection), - _drawInFront(base3DOverlay->_drawInFront), - _drawOnHUD(base3DOverlay->_drawOnHUD) + _drawInFront(base3DOverlay->_drawInFront) { } @@ -53,13 +51,6 @@ void Base3DOverlay::setProperties(const QScriptValue& properties) { setDrawInFront(value); } - QScriptValue drawOnHUD = properties.property("drawOnHUD"); - - if (drawOnHUD.isValid()) { - bool value = drawOnHUD.toVariant().toBool(); - setDrawOnHUD(value); - } - QScriptValue position = properties.property("position"); // if "position" property was not there, check to see if they included aliases: point, p1 @@ -163,9 +154,6 @@ QScriptValue Base3DOverlay::getProperty(const QString& property) { if (property == "drawInFront") { return _drawInFront; } - if (property == "drawOnHUD") { - return _drawOnHUD; - } return Overlay::getProperty(property); } diff --git a/interface/src/ui/overlays/Base3DOverlay.h b/interface/src/ui/overlays/Base3DOverlay.h index 441da4f2da..791d08109f 100644 --- a/interface/src/ui/overlays/Base3DOverlay.h +++ b/interface/src/ui/overlays/Base3DOverlay.h @@ -37,7 +37,6 @@ public: bool getIsSolidLine() const { return !_isDashedLine; } bool getIgnoreRayIntersection() const { return _ignoreRayIntersection; } bool getDrawInFront() const { return _drawInFront; } - bool getDrawOnHUD() const { return _drawOnHUD; } // setters void setPosition(const glm::vec3& value) { _transform.setTranslation(value); } @@ -50,7 +49,6 @@ public: void setIsDashedLine(bool isDashedLine) { _isDashedLine = isDashedLine; } void setIgnoreRayIntersection(bool value) { _ignoreRayIntersection = value; } void setDrawInFront(bool value) { _drawInFront = value; } - void setDrawOnHUD(bool value) { _drawOnHUD = value; } virtual AABox getBounds() const = 0; @@ -73,7 +71,6 @@ protected: bool _isDashedLine; bool _ignoreRayIntersection; bool _drawInFront; - bool _drawOnHUD; }; #endif // hifi_Base3DOverlay_h diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp index 789ca96bd8..b53a5a0d05 100644 --- a/interface/src/ui/overlays/Overlays.cpp +++ b/interface/src/ui/overlays/Overlays.cpp @@ -200,17 +200,12 @@ unsigned int Overlays::addOverlay(Overlay::Pointer overlay) { unsigned int thisID = _nextOverlayID; _nextOverlayID++; if (overlay->is3D()) { - auto overlay3D = std::static_pointer_cast(overlay); - if (overlay3D->getDrawOnHUD()) { - _overlaysHUD[thisID] = overlay; - } else { - _overlaysWorld[thisID] = overlay; + _overlaysWorld[thisID] = overlay; - render::ScenePointer scene = qApp->getMain3DScene(); - render::PendingChanges pendingChanges; - overlay->addToScene(overlay, scene, pendingChanges); - scene->enqueuePendingChanges(pendingChanges); - } + render::ScenePointer scene = qApp->getMain3DScene(); + render::PendingChanges pendingChanges; + overlay->addToScene(overlay, scene, pendingChanges); + scene->enqueuePendingChanges(pendingChanges); } else { _overlaysHUD[thisID] = overlay; } @@ -239,38 +234,20 @@ bool Overlays::editOverlay(unsigned int id, const QScriptValue& properties) { Overlay::Pointer thisOverlay = getOverlay(id); if (thisOverlay) { if (thisOverlay->is3D()) { - auto overlay3D = std::static_pointer_cast(thisOverlay); - - bool oldDrawOnHUD = overlay3D->getDrawOnHUD(); render::ItemKey oldItemKey = render::payloadGetKey(thisOverlay); thisOverlay->setProperties(properties); - render::ScenePointer scene = qApp->getMain3DScene(); - render::PendingChanges pendingChanges; - auto itemID = thisOverlay->getRenderItemID(); - - bool drawOnHUD = overlay3D->getDrawOnHUD(); render::ItemKey itemKey = render::payloadGetKey(thisOverlay); - if (drawOnHUD != oldDrawOnHUD) { - if (drawOnHUD) { - _overlaysWorld.remove(id); - _overlaysHUD[id] = thisOverlay; - if (itemID != render::Item::INVALID_ITEM_ID) { - thisOverlay->removeFromScene(thisOverlay, scene, pendingChanges); - } - } else { - _overlaysHUD.remove(id); - _overlaysWorld[id] = thisOverlay; - thisOverlay->addToScene(thisOverlay, scene, pendingChanges); - } - } else if (itemKey != oldItemKey && !drawOnHUD) { + if (itemKey != oldItemKey) { + auto itemID = thisOverlay->getRenderItemID(); if (itemID != render::Item::INVALID_ITEM_ID) { + render::ScenePointer scene = qApp->getMain3DScene(); + render::PendingChanges pendingChanges; pendingChanges.resortItem(itemID, oldItemKey, itemKey); + scene->enqueuePendingChanges(pendingChanges); } } - - scene->enqueuePendingChanges(pendingChanges); } else { thisOverlay->setProperties(properties); } diff --git a/interface/src/ui/overlays/OverlaysPayload.cpp b/interface/src/ui/overlays/OverlaysPayload.cpp index 8410142551..175d6fa408 100644 --- a/interface/src/ui/overlays/OverlaysPayload.cpp +++ b/interface/src/ui/overlays/OverlaysPayload.cpp @@ -36,8 +36,8 @@ namespace render { template <> const ItemKey payloadGetKey(const Overlay::Pointer& overlay) { auto builder = ItemKey::Builder().withTypeShape(); - if (overlay->is3D() && !std::dynamic_pointer_cast(overlay)->getDrawOnHUD()) { - if (std::dynamic_pointer_cast(overlay)->getDrawInFront()) { + if (overlay->is3D()) { + if (std::static_pointer_cast(overlay)->getDrawInFront()) { builder.withLayered(); } if (overlay->getAlphaPulse() != 0.0f || overlay->getAlpha() != 1.0f) {