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();
RenderableDebugableEntityItem::render(args);
RenderableDebugableEntityItem::render(this, args);
};

View file

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

View file

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

View file

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

View file

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

View file

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