From 9bd72e5769c7348b6791a6b5c7273a2c4af0c1dc Mon Sep 17 00:00:00 2001 From: Zander Otavka Date: Fri, 24 Jul 2015 20:07:38 -0700 Subject: [PATCH] Tweak PanelAttachable::setTransforms. Use reference instead of pointer, and make it virtual. --- interface/src/ui/overlays/BillboardOverlay.cpp | 8 ++++---- interface/src/ui/overlays/BillboardOverlay.h | 2 +- interface/src/ui/overlays/PanelAttachable.cpp | 11 +++++------ interface/src/ui/overlays/PanelAttachable.h | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/interface/src/ui/overlays/BillboardOverlay.cpp b/interface/src/ui/overlays/BillboardOverlay.cpp index 8ffa909e12..3bd1f56ba3 100644 --- a/interface/src/ui/overlays/BillboardOverlay.cpp +++ b/interface/src/ui/overlays/BillboardOverlay.cpp @@ -39,7 +39,7 @@ BillboardOverlay::BillboardOverlay(const BillboardOverlay* billboardOverlay) : { } -void BillboardOverlay::setTransforms(Transform *transform) { +void BillboardOverlay::setTransforms(Transform& transform) { PanelAttachable::setTransforms(transform); if (_isFacingAvatar) { glm::quat rotation = Application::getInstance()->getCamera()->getOrientation(); @@ -49,7 +49,7 @@ void BillboardOverlay::setTransforms(Transform *transform) { } void BillboardOverlay::update(float deltatime) { - setTransforms(&_transform); + setTransforms(_transform); } void BillboardOverlay::render(RenderArgs* args) { @@ -98,7 +98,7 @@ void BillboardOverlay::render(RenderArgs* args) { xColor color = getColor(); float alpha = getAlpha(); - setTransforms(&_transform); + setTransforms(_transform); Transform transform = _transform; transform.postScale(glm::vec3(getDimensions(), 1.0f)); @@ -197,7 +197,7 @@ bool BillboardOverlay::findRayIntersection(const glm::vec3& origin, const glm::v float& distance, BoxFace& face) { if (_texture && _texture->isLoaded()) { // Make sure position and rotation is updated. - setTransforms(&_transform); + setTransforms(_transform); // Produce the dimensions of the billboard based on the image's aspect ratio and the overlay's scale. bool isNull = _fromImage.isNull(); diff --git a/interface/src/ui/overlays/BillboardOverlay.h b/interface/src/ui/overlays/BillboardOverlay.h index 47be764f2f..a034612e71 100644 --- a/interface/src/ui/overlays/BillboardOverlay.h +++ b/interface/src/ui/overlays/BillboardOverlay.h @@ -43,7 +43,7 @@ public: virtual BillboardOverlay* createClone() const; protected: - void setTransforms(Transform* transform); + virtual void setTransforms(Transform& transform); private: void setBillboardURL(const QString& url); diff --git a/interface/src/ui/overlays/PanelAttachable.cpp b/interface/src/ui/overlays/PanelAttachable.cpp index e114fa143e..ac4730cfe8 100644 --- a/interface/src/ui/overlays/PanelAttachable.cpp +++ b/interface/src/ui/overlays/PanelAttachable.cpp @@ -26,13 +26,12 @@ PanelAttachable::PanelAttachable(const PanelAttachable* panelAttachable) : { } -void PanelAttachable::setTransforms(Transform* transform) { - Q_ASSERT(transform != nullptr); +void PanelAttachable::setTransforms(Transform& transform) { if (getAttachedPanel()) { - transform->setTranslation(getAttachedPanel()->getAnchorPosition()); - transform->setRotation(getAttachedPanel()->getOffsetRotation()); - transform->postTranslate(getOffsetPosition() + getAttachedPanel()->getOffsetPosition()); - transform->postRotate(getFacingRotation() * getAttachedPanel()->getFacingRotation()); + transform.setTranslation(getAttachedPanel()->getAnchorPosition()); + transform.setRotation(getAttachedPanel()->getOffsetRotation()); + transform.postTranslate(getOffsetPosition() + getAttachedPanel()->getOffsetPosition()); + transform.postRotate(getFacingRotation() * getAttachedPanel()->getFacingRotation()); } } diff --git a/interface/src/ui/overlays/PanelAttachable.h b/interface/src/ui/overlays/PanelAttachable.h index e1fc490d00..9776ac5ecb 100644 --- a/interface/src/ui/overlays/PanelAttachable.h +++ b/interface/src/ui/overlays/PanelAttachable.h @@ -34,7 +34,7 @@ public: void setProperties(const QScriptValue& properties); protected: - void setTransforms(Transform* transform); + virtual void setTransforms(Transform& transform); private: FloatingUIPanel::Pointer _attachedPanel;