From 0e5cf273ab5cf1eed55c39d210282d31a3261b45 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 29 May 2015 09:40:23 -0700 Subject: [PATCH] Fix AABox bounds handling in Overlays --- interface/src/ui/overlays/Overlay.cpp | 5 ----- interface/src/ui/overlays/Overlay.h | 3 --- interface/src/ui/overlays/Overlay2D.cpp | 4 ---- interface/src/ui/overlays/Overlay2D.h | 1 - interface/src/ui/overlays/Overlays.cpp | 8 +++++++- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/interface/src/ui/overlays/Overlay.cpp b/interface/src/ui/overlays/Overlay.cpp index 258ac0f48e..024a94e950 100644 --- a/interface/src/ui/overlays/Overlay.cpp +++ b/interface/src/ui/overlays/Overlay.cpp @@ -225,8 +225,3 @@ float Overlay::updatePulse() { return _pulse; } - -AABox Overlay::getBounds() const { - return AABox(); -} - diff --git a/interface/src/ui/overlays/Overlay.h b/interface/src/ui/overlays/Overlay.h index c1117080e0..74ffff9d24 100644 --- a/interface/src/ui/overlays/Overlay.h +++ b/interface/src/ui/overlays/Overlay.h @@ -57,9 +57,6 @@ public: float getGlowLevel(); Anchor getAnchor() const { return _anchor; } - virtual AABox getBounds() const = 0; - - float getPulseMax() const { return _pulseMax; } float getPulseMin() const { return _pulseMin; } float getPulsePeriod() const { return _pulsePeriod; } diff --git a/interface/src/ui/overlays/Overlay2D.cpp b/interface/src/ui/overlays/Overlay2D.cpp index a0674c2da5..f60d44a472 100644 --- a/interface/src/ui/overlays/Overlay2D.cpp +++ b/interface/src/ui/overlays/Overlay2D.cpp @@ -28,10 +28,6 @@ Overlay2D::Overlay2D(const Overlay2D* overlay2D) : Overlay2D::~Overlay2D() { } -AABox Overlay2D::getBounds() const { - return AABox(glm::vec3(_bounds.x, _bounds.y, 0.0f), glm::vec3(_bounds.width, _bounds.height, 0.1f)); -} - void Overlay2D::setProperties(const QScriptValue& properties) { Overlay::setProperties(properties); diff --git a/interface/src/ui/overlays/Overlay2D.h b/interface/src/ui/overlays/Overlay2D.h index fc453e7a91..20641206c2 100644 --- a/interface/src/ui/overlays/Overlay2D.h +++ b/interface/src/ui/overlays/Overlay2D.h @@ -38,7 +38,6 @@ public: int getWidth() const { return _bounds.width(); } int getHeight() const { return _bounds.height(); } const QRect& getBounds() const { return _bounds; } - virtual AABox getBounds() const; // setters void setX(int x) { _bounds.setX(x); } diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp index 2a5c3a5013..64949d254e 100644 --- a/interface/src/ui/overlays/Overlays.cpp +++ b/interface/src/ui/overlays/Overlays.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include "BillboardOverlay.h" #include "Circle3DOverlay.h" @@ -45,7 +46,12 @@ namespace render { } } template <> const Item::Bound payloadGetBound(const Overlay::Pointer& overlay) { - return static_cast(overlay.get())->getBounds(); + if (overlay->is3D()) { + return static_cast(overlay.get())->getBounds(); + } else { + QRect bounds = static_cast(overlay.get())->getBounds(); + return AABox(glm::vec3(bounds.x(), bounds.y(), 0.0f), glm::vec3(bounds.width(), bounds.height(), 0.1f)); + } } template <> void payloadRender(const Overlay::Pointer& overlay, RenderArgs* args) { if (args) {