From 7dfa8a26a3ec7c3200a67d4986acb64dda017b60 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 17 Apr 2019 14:58:38 -0700 Subject: [PATCH] cleanup EntityItem::shouldBePhysical() and derivations --- .../src/RenderableModelEntityItem.cpp | 14 ++++++++------ .../src/RenderablePolyVoxEntityItem.h | 1 - libraries/entities/src/EntityItem.h | 2 +- libraries/entities/src/ModelEntityItem.cpp | 5 ----- libraries/entities/src/ModelEntityItem.h | 2 -- libraries/entities/src/PolyVoxEntityItem.h | 1 - libraries/entities/src/ShapeEntityItem.h | 2 -- 7 files changed, 9 insertions(+), 18 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index bfbbe12ea6..7602028e36 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -735,13 +735,15 @@ bool RenderableModelEntityItem::shouldBePhysical() const { auto model = getModel(); // If we have a model, make sure it hasn't failed to download. // If it has, we'll report back that we shouldn't be physical so that physics aren't held waiting for us to be ready. - if (model && (getShapeType() == SHAPE_TYPE_COMPOUND || getShapeType() == SHAPE_TYPE_SIMPLE_COMPOUND) && model->didCollisionGeometryRequestFail()) { - return false; - } else if (model && getShapeType() != SHAPE_TYPE_NONE && model->didVisualGeometryRequestFail()) { - return false; - } else { - return ModelEntityItem::shouldBePhysical(); + ShapeType shapeType = getShapeType(); + if (model) { + if ((shapeType == SHAPE_TYPE_COMPOUND || shapeType == SHAPE_TYPE_SIMPLE_COMPOUND) && model->didCollisionGeometryRequestFail()) { + return false; + } else if (shapeType != SHAPE_TYPE_NONE && model->didVisualGeometryRequestFail()) { + return false; + } } + return !isDead() && shapeType != SHAPE_TYPE_NONE && QUrl(_modelURL).isValid(); } int RenderableModelEntityItem::getJointParent(int index) const { diff --git a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.h b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.h index 7aea87535e..cca34767a4 100644 --- a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.h +++ b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.h @@ -72,7 +72,6 @@ public: glm::mat4 localToVoxelMatrix() const; virtual ShapeType getShapeType() const override; - virtual bool shouldBePhysical() const override { return !isDead(); } virtual bool isReadyToComputeShape() const override; virtual void computeShapeInfo(ShapeInfo& info) override; diff --git a/libraries/entities/src/EntityItem.h b/libraries/entities/src/EntityItem.h index 29a1a8d73c..dc3c467ca1 100644 --- a/libraries/entities/src/EntityItem.h +++ b/libraries/entities/src/EntityItem.h @@ -322,7 +322,7 @@ public: bool getDynamic() const; void setDynamic(bool value); - virtual bool shouldBePhysical() const { return false; } + virtual bool shouldBePhysical() const { return !isDead(); } bool isVisuallyReady() const { return _visuallyReady; } bool getLocked() const; diff --git a/libraries/entities/src/ModelEntityItem.cpp b/libraries/entities/src/ModelEntityItem.cpp index 505ee26c0f..cb9637acd5 100644 --- a/libraries/entities/src/ModelEntityItem.cpp +++ b/libraries/entities/src/ModelEntityItem.cpp @@ -421,11 +421,6 @@ void ModelEntityItem::setAnimationFPS(float value) { }); } -// virtual -bool ModelEntityItem::shouldBePhysical() const { - return !isDead() && getShapeType() != SHAPE_TYPE_NONE && QUrl(_modelURL).isValid(); -} - void ModelEntityItem::resizeJointArrays(int newSize) { if (newSize < 0) { return; diff --git a/libraries/entities/src/ModelEntityItem.h b/libraries/entities/src/ModelEntityItem.h index d532fefe7e..75a695f1c0 100644 --- a/libraries/entities/src/ModelEntityItem.h +++ b/libraries/entities/src/ModelEntityItem.h @@ -118,8 +118,6 @@ public: const QString getTextures() const; void setTextures(const QString& textures); - virtual bool shouldBePhysical() const override; - virtual void setJointRotations(const QVector& rotations); virtual void setJointRotationsSet(const QVector& rotationsSet); virtual void setJointTranslations(const QVector& translations); diff --git a/libraries/entities/src/PolyVoxEntityItem.h b/libraries/entities/src/PolyVoxEntityItem.h index dd05ce67b1..a6076dfda7 100644 --- a/libraries/entities/src/PolyVoxEntityItem.h +++ b/libraries/entities/src/PolyVoxEntityItem.h @@ -164,7 +164,6 @@ class PolyVoxEntityItem : public EntityItem { glm::vec3 getSurfacePositionAdjustment() const; virtual ShapeType getShapeType() const override; - virtual bool shouldBePhysical() const override { return !isDead(); } bool isEdged() const; diff --git a/libraries/entities/src/ShapeEntityItem.h b/libraries/entities/src/ShapeEntityItem.h index fc590e06a4..3622c74f50 100644 --- a/libraries/entities/src/ShapeEntityItem.h +++ b/libraries/entities/src/ShapeEntityItem.h @@ -84,8 +84,6 @@ public: void setUnscaledDimensions(const glm::vec3& value) override; - bool shouldBePhysical() const override { return !isDead(); } - bool supportsDetailedIntersection() const override; bool findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction, OctreeElementPointer& element, float& distance,