From c4f96b09a26c8e18e07632eea9223e9c8e86cd74 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 26 May 2015 09:55:28 -0700 Subject: [PATCH] sam's feedback on shared pointers in master --- .../src/EntityTreeRenderer.cpp | 20 +++++++++---------- .../src/EntityTreeRenderer.h | 2 +- libraries/entities/src/EntityItem.cpp | 3 --- libraries/entities/src/EntityTypes.h | 1 - 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 12f7099578..b29ed142f5 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -521,8 +521,8 @@ const FBXGeometry* EntityTreeRenderer::getGeometryForEntity(EntityItemPointer en const FBXGeometry* result = NULL; if (entityItem->getType() == EntityTypes::Model) { - const RenderableModelEntityItem* constModelEntityItem = dynamic_cast(entityItem.get()); - RenderableModelEntityItem* modelEntityItem = const_cast(constModelEntityItem); + std::shared_ptr modelEntityItem = + std::dynamic_pointer_cast(entityItem); assert(modelEntityItem); // we need this!!! Model* model = modelEntityItem->getModel(this); if (model) { @@ -535,8 +535,8 @@ const FBXGeometry* EntityTreeRenderer::getGeometryForEntity(EntityItemPointer en const Model* EntityTreeRenderer::getModelForEntityItem(EntityItemPointer entityItem) { const Model* result = NULL; if (entityItem->getType() == EntityTypes::Model) { - const RenderableModelEntityItem* constModelEntityItem = dynamic_cast(entityItem.get()); - RenderableModelEntityItem* modelEntityItem = const_cast(constModelEntityItem); + std::shared_ptr modelEntityItem = + std::dynamic_pointer_cast(entityItem); result = modelEntityItem->getModel(this); } return result; @@ -546,9 +546,9 @@ const FBXGeometry* EntityTreeRenderer::getCollisionGeometryForEntity(EntityItemP const FBXGeometry* result = NULL; if (entityItem->getType() == EntityTypes::Model) { - const RenderableModelEntityItem* constModelEntityItem = dynamic_cast(entityItem.get()); - if (constModelEntityItem->hasCompoundShapeURL()) { - RenderableModelEntityItem* modelEntityItem = const_cast(constModelEntityItem); + std::shared_ptr modelEntityItem = + std::dynamic_pointer_cast(entityItem); + if (modelEntityItem->hasCompoundShapeURL()) { Model* model = modelEntityItem->getModel(this); if (model) { const QSharedPointer collisionNetworkGeometry = model->getCollisionGeometry(); @@ -696,17 +696,17 @@ void EntityTreeRenderer::renderElement(OctreeElement* element, RenderArgs* args) float entityVolumeEstimate = entityItem->getVolumeEstimate(); if (entityVolumeEstimate < _bestZoneVolume) { _bestZoneVolume = entityVolumeEstimate; - _bestZone = dynamic_cast(entityItem.get()); + _bestZone = std::dynamic_pointer_cast(entityItem); } else if (entityVolumeEstimate == _bestZoneVolume) { if (!_bestZone) { _bestZoneVolume = entityVolumeEstimate; - _bestZone = dynamic_cast(entityItem.get()); + _bestZone = std::dynamic_pointer_cast(entityItem); } else { // in the case of the volume being equal, we will use the // EntityItemID to deterministically pick one entity over the other if (entityItem->getEntityItemID() < _bestZone->getEntityItemID()) { _bestZoneVolume = entityVolumeEstimate; - _bestZone = dynamic_cast(entityItem.get()); + _bestZone = std::dynamic_pointer_cast(entityItem); } } } diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.h b/libraries/entities-renderer/src/EntityTreeRenderer.h index 4dea8b6e8b..ca0e7f955a 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.h +++ b/libraries/entities-renderer/src/EntityTreeRenderer.h @@ -173,7 +173,7 @@ private: QMultiMap _waitingOnPreload; bool _hasPreviousZone = false; - const ZoneEntityItem* _bestZone; + std::shared_ptr _bestZone; float _bestZoneVolume; glm::vec3 _previousKeyLightColor; diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 7d2df73bfb..e8210c7e79 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -87,9 +87,6 @@ EntityItem::~EntityItem() { assert(!_simulated); assert(!_element); assert(!_physicsInfo); - - qDebug() << "EntityItem::~EntityItem()"; - debugDump(); } EntityPropertyFlags EntityItem::getEntityProperties(EncodeBitstreamParams& params) const { diff --git a/libraries/entities/src/EntityTypes.h b/libraries/entities/src/EntityTypes.h index 7839137f3d..524e5b6e82 100644 --- a/libraries/entities/src/EntityTypes.h +++ b/libraries/entities/src/EntityTypes.h @@ -21,7 +21,6 @@ class EntityItem; typedef std::shared_ptr EntityItemPointer; -//typedef EntityItem* EntityItemPointer; inline uint qHash(const EntityItemPointer& a, uint seed) { return qHash(a.get(), seed);