stop doing useless multiple inheritance

This commit is contained in:
Seth Alves 2015-05-01 11:31:58 -07:00
parent b47184de78
commit ea1ec0186e
6 changed files with 10 additions and 17 deletions

View file

@ -60,5 +60,5 @@ void RenderableBoxEntityItem::render(RenderArgs* args) {
glPopMatrix(); glPopMatrix();
glPopMatrix(); glPopMatrix();
RenderableDebugableEntityItem::render(args); RenderableDebugableEntityItem::render(this, args);
}; };

View file

@ -15,7 +15,7 @@
#include <BoxEntityItem.h> #include <BoxEntityItem.h>
#include "RenderableDebugableEntityItem.h" #include "RenderableDebugableEntityItem.h"
class RenderableBoxEntityItem : public BoxEntityItem, public RenderableDebugableEntityItem { class RenderableBoxEntityItem : public BoxEntityItem {
public: public:
static EntityItem* factory(const EntityItemID& entityID, const EntityItemProperties& properties); static EntityItem* factory(const EntityItemID& entityID, const EntityItemProperties& properties);

View file

@ -18,10 +18,7 @@
#include "RenderableDebugableEntityItem.h" #include "RenderableDebugableEntityItem.h"
void RenderableDebugableEntityItem::renderBoundingBox(RenderArgs* args, bool puffedOut) { void RenderableDebugableEntityItem::renderBoundingBox(EntityItem* entity, RenderArgs* args, bool puffedOut) {
EntityItem* entity = dynamic_cast<EntityItem*>(this);
glm::vec3 position = entity->getPosition(); glm::vec3 position = entity->getPosition();
glm::vec3 center = entity->getCenter(); glm::vec3 center = entity->getCenter();
glm::vec3 dimensions = entity->getDimensions(); glm::vec3 dimensions = entity->getDimensions();
@ -48,14 +45,13 @@ void RenderableDebugableEntityItem::renderBoundingBox(RenderArgs* args, bool puf
} }
void RenderableDebugableEntityItem::render(RenderArgs* args) { void RenderableDebugableEntityItem::render(EntityItem* entity, RenderArgs* args) {
EntityItem* entity = dynamic_cast<EntityItem*>(this);
bool debugSimulationOwnership = args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP; bool debugSimulationOwnership = args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP;
if (debugSimulationOwnership) { if (debugSimulationOwnership) {
quint64 now = usecTimestampNow(); quint64 now = usecTimestampNow();
if (now - entity->getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) { if (now - entity->getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) {
renderBoundingBox(args, true); renderBoundingBox(entity, args, true);
} }
} }
} }

View file

@ -16,11 +16,8 @@
class RenderableDebugableEntityItem { class RenderableDebugableEntityItem {
public: public:
RenderableDebugableEntityItem() {} static void renderBoundingBox(EntityItem* entity, RenderArgs* args, bool puffedOut);
virtual ~RenderableDebugableEntityItem() {} static void render(EntityItem* entity, RenderArgs* args);
void renderBoundingBox(RenderArgs* args, bool puffedOut);
virtual void render(RenderArgs* args);
}; };
#endif // hifi_RenderableDebugableEntityItem_h #endif // hifi_RenderableDebugableEntityItem_h

View file

@ -192,10 +192,10 @@ void RenderableModelEntityItem::render(RenderArgs* args) {
} }
if (!didDraw) { if (!didDraw) {
renderBoundingBox(args, false); RenderableDebugableEntityItem::renderBoundingBox(this, args, false);
} }
RenderableDebugableEntityItem::render(args); RenderableDebugableEntityItem::render(this, args);
} }
Model* RenderableModelEntityItem::getModel(EntityTreeRenderer* renderer) { Model* RenderableModelEntityItem::getModel(EntityTreeRenderer* renderer) {

View file

@ -21,7 +21,7 @@
class Model; class Model;
class EntityTreeRenderer; class EntityTreeRenderer;
class RenderableModelEntityItem : public ModelEntityItem, public RenderableDebugableEntityItem { class RenderableModelEntityItem : public ModelEntityItem {
public: public:
static EntityItem* factory(const EntityItemID& entityID, const EntityItemProperties& properties); static EntityItem* factory(const EntityItemID& entityID, const EntityItemProperties& properties);