From 51c2a8273e8f5421cf664556f81f702d65b80edf Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 1 May 2015 12:52:40 -0700 Subject: [PATCH 1/2] Add drawZoneBoundaries --- .../entities-renderer/src/RenderableZoneEntityItem.cpp | 8 +++++++- .../entities-renderer/src/RenderableZoneEntityItem.h | 3 ++- libraries/entities/src/ZoneEntityItem.cpp | 1 + libraries/entities/src/ZoneEntityItem.h | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp index d61e3c02f7..0b51cf75f2 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp @@ -74,6 +74,12 @@ void RenderableZoneEntityItem::initialSimulation() { _needsInitialSimulation = false; } +void RenderableZoneEntityItem::render(RenderArgs* args) { + if (_drawZoneBoundaries) { + // TODO: Draw the zone boundaries... + } +} + bool RenderableZoneEntityItem::contains(const glm::vec3& point) const { if (getShapeType() != SHAPE_TYPE_COMPOUND) { return EntityItem::contains(point); @@ -92,4 +98,4 @@ bool RenderableZoneEntityItem::contains(const glm::vec3& point) const { } return false; -} \ No newline at end of file +} diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.h b/libraries/entities-renderer/src/RenderableZoneEntityItem.h index 8a75a048d1..18840e274b 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.h +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.h @@ -32,6 +32,7 @@ public: ReadBitstreamToTreeParams& args, EntityPropertyFlags& propertyFlags, bool overwriteLocalData); + virtual void render(RenderArgs* args); virtual bool contains(const glm::vec3& point) const; private: @@ -45,4 +46,4 @@ private: bool _needsInitialSimulation; }; -#endif // hifi_RenderableZoneEntityItem_h \ No newline at end of file +#endif // hifi_RenderableZoneEntityItem_h diff --git a/libraries/entities/src/ZoneEntityItem.cpp b/libraries/entities/src/ZoneEntityItem.cpp index 9ccb2697a0..4a8b60a28e 100644 --- a/libraries/entities/src/ZoneEntityItem.cpp +++ b/libraries/entities/src/ZoneEntityItem.cpp @@ -20,6 +20,7 @@ #include "EntityTreeElement.h" bool ZoneEntityItem::_zonesArePickable = false; +bool ZoneEntityItem::_drawZoneBoundaries = false; const xColor ZoneEntityItem::DEFAULT_KEYLIGHT_COLOR = { 255, 255, 255 }; const float ZoneEntityItem::DEFAULT_KEYLIGHT_INTENSITY = 1.0f; diff --git a/libraries/entities/src/ZoneEntityItem.h b/libraries/entities/src/ZoneEntityItem.h index 4f081969ad..0744abf475 100644 --- a/libraries/entities/src/ZoneEntityItem.h +++ b/libraries/entities/src/ZoneEntityItem.h @@ -91,6 +91,9 @@ public: static bool getZonesArePickable() { return _zonesArePickable; } static void setZonesArePickable(bool value) { _zonesArePickable = value; } + + static bool getDrawZoneBoundaries() { return _drawZoneBoundaries; } + static void setDrawZoneBoundaries(bool value) { _drawZoneBoundaries = value; } virtual bool isReadyToComputeShape() { return false; } void updateShapeType(ShapeType type) { _shapeType = type; } @@ -136,6 +139,7 @@ protected: ShapeType _shapeType = SHAPE_TYPE_NONE; QString _compoundShapeURL; + static bool _drawZoneBoundaries; static bool _zonesArePickable; }; From 8ed5284dfaffd119a056d9f82c26cc521c6ee6dc Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 1 May 2015 12:52:59 -0700 Subject: [PATCH 2/2] Add drawZoneBoundaries get/set to EntitiesScriptingInterface --- libraries/entities/src/EntityScriptingInterface.cpp | 8 ++++++++ libraries/entities/src/EntityScriptingInterface.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/libraries/entities/src/EntityScriptingInterface.cpp b/libraries/entities/src/EntityScriptingInterface.cpp index 1dbd67f3b2..6632574db8 100644 --- a/libraries/entities/src/EntityScriptingInterface.cpp +++ b/libraries/entities/src/EntityScriptingInterface.cpp @@ -324,6 +324,14 @@ bool EntityScriptingInterface::getZonesArePickable() const { return ZoneEntityItem::getZonesArePickable(); } +void EntityScriptingInterface::setDrawZoneBoundaries(bool value) { + ZoneEntityItem::setDrawZoneBoundaries(value); +} + +bool EntityScriptingInterface::getDrawZoneBoundaries() const { + return ZoneEntityItem::getDrawZoneBoundaries(); +} + void EntityScriptingInterface::setSendPhysicsUpdates(bool value) { EntityItem::setSendPhysicsUpdates(value); } diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h index 151036e926..bde369eaf2 100644 --- a/libraries/entities/src/EntityScriptingInterface.h +++ b/libraries/entities/src/EntityScriptingInterface.h @@ -114,6 +114,9 @@ public slots: Q_INVOKABLE void setZonesArePickable(bool value); Q_INVOKABLE bool getZonesArePickable() const; + Q_INVOKABLE void setDrawZoneBoundaries(bool value); + Q_INVOKABLE bool getDrawZoneBoundaries() const; + Q_INVOKABLE void setSendPhysicsUpdates(bool value); Q_INVOKABLE bool getSendPhysicsUpdates() const;