From 4df87ec4e833a1414d21a15304ab922c51b52b05 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 9 Jun 2015 17:23:37 -0700 Subject: [PATCH 1/6] fix rendering of simulation ownership debug info --- .../src/RenderableBoxEntityItem.cpp | 51 ++++++++++++++----- .../src/RenderableDebugableEntityItem.cpp | 44 ++++++++-------- .../src/RenderableDebugableEntityItem.h | 1 - .../src/RenderableModelEntityItem.cpp | 13 ----- 4 files changed, 59 insertions(+), 50 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp b/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp index b2400b797e..2d72897faf 100644 --- a/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include "RenderableBoxEntityItem.h" @@ -27,23 +28,45 @@ void RenderableBoxEntityItem::render(RenderArgs* args) { PerformanceTimer perfTimer("RenderableBoxEntityItem::render"); Q_ASSERT(getType() == EntityTypes::Box); glm::vec4 cubeColor(toGlm(getXColor()), getLocalRenderAlpha()); - - bool debugSimulationOwnership = args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP; - bool highlightSimulationOwnership = false; - if (debugSimulationOwnership) { - auto nodeList = DependencyManager::get(); - const QUuid& myNodeID = nodeList->getSessionUUID(); - highlightSimulationOwnership = (getSimulatorID() == myNodeID); - } Q_ASSERT(args->_batch); gpu::Batch& batch = *args->_batch; batch.setModelTransform(getTransformToCenter()); - if (highlightSimulationOwnership) { - DependencyManager::get()->renderWireCube(batch, 1.0f, cubeColor); - } else { - DependencyManager::get()->renderSolidCube(batch, 1.0f, cubeColor); - } + DependencyManager::get()->renderSolidCube(batch, 1.0f, cubeColor); - RenderableDebugableEntityItem::render(this, args); + // TODO: use RenderableDebugableEntityItem::render (instead of the hack below) + // when we fix the scaling bug that breaks RenderableDebugableEntityItem for boxes. + if (args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP) { + Q_ASSERT(args->_batch); + gpu::Batch& batch = *args->_batch; + Transform transform = getTransformToCenter(); + //transform.postScale(entity->getDimensions()); // HACK: this line breaks for BoxEntityItem + batch.setModelTransform(transform); + + auto nodeList = DependencyManager::get(); + const QUuid& myNodeID = nodeList->getSessionUUID(); + bool highlightSimulationOwnership = (getSimulatorID() == myNodeID); + if (highlightSimulationOwnership) { + glm::vec4 greenColor(0.0f, 1.0f, 0.2f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.08f, greenColor); + } + + quint64 now = usecTimestampNow(); + if (now - getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) { + glm::vec4 redColor(1.0f, 0.0f, 0.0f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.16f, redColor); + } + + if (now - getLastBroadcast() < 0.2f * USECS_PER_SECOND) { + glm::vec4 yellowColor(1.0f, 1.0f, 0.2f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.24f, yellowColor); + } + + ObjectMotionState* motionState = static_cast(getPhysicsInfo()); + if (motionState && motionState->isActive()) { + glm::vec4 blueColor(0.0f, 0.0f, 1.0f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.32f, blueColor); + } + } + //RenderableDebugableEntityItem::render(this, args); // TODO: use this instead of the hack above }; diff --git a/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp b/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp index ca81ae4f2b..53213eae51 100644 --- a/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp @@ -15,9 +15,8 @@ #include #include - #include -#include +#include #include "RenderableDebugableEntityItem.h" @@ -26,42 +25,43 @@ void RenderableDebugableEntityItem::renderBoundingBox(EntityItem* entity, Render float puffedOut, glm::vec4& color) { Q_ASSERT(args->_batch); gpu::Batch& batch = *args->_batch; - batch.setModelTransform(entity->getTransformToCenter()); + Transform transform = entity->getTransformToCenter(); + transform.postScale(entity->getDimensions()); + batch.setModelTransform(transform); DependencyManager::get()->renderWireCube(batch, 1.0f + puffedOut, color); } -void RenderableDebugableEntityItem::renderHoverDot(EntityItem* entity, RenderArgs* args) { - const int SLICES = 8, STACKS = 8; - float radius = 0.05f; - glm::vec4 blueColor(0.0f, 0.0f, 1.0f, 1.0f); - - Q_ASSERT(args->_batch); - gpu::Batch& batch = *args->_batch; - Transform transform = entity->getTransformToCenter(); - // Cancel true dimensions and set scale to 2 * radius (diameter) - transform.postScale(2.0f * glm::vec3(radius, radius, radius) / entity->getDimensions()); - batch.setModelTransform(transform); - DependencyManager::get()->renderSolidSphere(batch, 0.5f, SLICES, STACKS, blueColor); -} - void RenderableDebugableEntityItem::render(EntityItem* entity, RenderArgs* args) { - bool debugSimulationOwnership = args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP; + if (args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP) { + Q_ASSERT(args->_batch); + gpu::Batch& batch = *args->_batch; + Transform transform = entity->getTransformToCenter(); + transform.postScale(entity->getDimensions()); + batch.setModelTransform(transform); + + auto nodeList = DependencyManager::get(); + const QUuid& myNodeID = nodeList->getSessionUUID(); + bool highlightSimulationOwnership = (entity->getSimulatorID() == myNodeID); + if (highlightSimulationOwnership) { + glm::vec4 greenColor(0.0f, 1.0f, 0.2f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.08f, greenColor); + } - if (debugSimulationOwnership) { quint64 now = usecTimestampNow(); if (now - entity->getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) { glm::vec4 redColor(1.0f, 0.0f, 0.0f, 1.0f); - renderBoundingBox(entity, args, 0.2f, redColor); + DependencyManager::get()->renderWireCube(batch, 1.16f, redColor); } if (now - entity->getLastBroadcast() < 0.2f * USECS_PER_SECOND) { glm::vec4 yellowColor(1.0f, 1.0f, 0.2f, 1.0f); - renderBoundingBox(entity, args, 0.3f, yellowColor); + DependencyManager::get()->renderWireCube(batch, 1.24f, yellowColor); } ObjectMotionState* motionState = static_cast(entity->getPhysicsInfo()); if (motionState && motionState->isActive()) { - renderHoverDot(entity, args); + glm::vec4 blueColor(0.0f, 0.0f, 1.0f, 1.0f); + DependencyManager::get()->renderWireCube(batch, 1.32f, blueColor); } } } diff --git a/libraries/entities-renderer/src/RenderableDebugableEntityItem.h b/libraries/entities-renderer/src/RenderableDebugableEntityItem.h index 758bac353b..2680d882f5 100644 --- a/libraries/entities-renderer/src/RenderableDebugableEntityItem.h +++ b/libraries/entities-renderer/src/RenderableDebugableEntityItem.h @@ -17,7 +17,6 @@ class RenderableDebugableEntityItem { public: static void renderBoundingBox(EntityItem* entity, RenderArgs* args, float puffedOut, glm::vec4& color); - static void renderHoverDot(EntityItem* entity, RenderArgs* args); static void render(EntityItem* entity, RenderArgs* args); }; diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index e0bc493a5c..14a64d289e 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -201,14 +201,6 @@ void RenderableModelEntityItem::render(RenderArgs* args) { glm::vec3 position = getPosition(); glm::vec3 dimensions = getDimensions(); - bool debugSimulationOwnership = args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP; - bool highlightSimulationOwnership = false; - if (debugSimulationOwnership) { - auto nodeList = DependencyManager::get(); - const QUuid& myNodeID = nodeList->getSessionUUID(); - highlightSimulationOwnership = (getSimulatorID() == myNodeID); - } - if (hasModel()) { if (_model) { if (QUrl(getModelURL()) != _model->getURL()) { @@ -274,11 +266,6 @@ void RenderableModelEntityItem::render(RenderArgs* args) { } } } - - if (highlightSimulationOwnership) { - glm::vec4 greenColor(0.0f, 1.0f, 0.0f, 1.0f); - RenderableDebugableEntityItem::renderBoundingBox(this, args, 0.0f, greenColor); - } } else { glm::vec4 greenColor(0.0f, 1.0f, 0.0f, 1.0f); RenderableDebugableEntityItem::renderBoundingBox(this, args, 0.0f, greenColor); From 8d41960cc395b6e26ba9e8fd94218a1d2609be4e Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 10 Jun 2015 12:40:14 -0700 Subject: [PATCH 2/6] reset simulation bid counters on object activation --- libraries/physics/src/EntityMotionState.cpp | 8 ++++---- libraries/physics/src/ObjectMotionState.h | 2 -- libraries/physics/src/PhysicsEngine.cpp | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/libraries/physics/src/EntityMotionState.cpp b/libraries/physics/src/EntityMotionState.cpp index 23237cab32..186ff40f60 100644 --- a/libraries/physics/src/EntityMotionState.cpp +++ b/libraries/physics/src/EntityMotionState.cpp @@ -180,10 +180,6 @@ btCollisionShape* EntityMotionState::computeNewShape() { return nullptr; } -// RELIABLE_SEND_HACK: until we have truly reliable resends of non-moving updates -// we alwasy resend packets for objects that have stopped moving up to some max limit. -const int MAX_NUM_NON_MOVING_UPDATES = 5; - bool EntityMotionState::isCandidateForOwnership(const QUuid& sessionID) const { if (!_body || !_entity) { return false; @@ -495,6 +491,10 @@ void EntityMotionState::measureBodyAcceleration() { glm::vec3 velocity = bulletToGLM(_body->getLinearVelocity()); _measuredAcceleration = (velocity / powf(1.0f - _body->getLinearDamping(), dt) - _lastVelocity) * invDt; _lastVelocity = velocity; + if (numSubsteps > PHYSICS_ENGINE_MAX_NUM_SUBSTEPS && !_candidateForOwnership) { + _loopsSinceOwnershipBid = 0; + _loopsWithoutOwner = 0; + } } } glm::vec3 EntityMotionState::getObjectLinearVelocityChange() const { diff --git a/libraries/physics/src/ObjectMotionState.h b/libraries/physics/src/ObjectMotionState.h index b17dc67cff..561ce02d62 100644 --- a/libraries/physics/src/ObjectMotionState.h +++ b/libraries/physics/src/ObjectMotionState.h @@ -53,8 +53,6 @@ const uint32_t OUTGOING_DIRTY_PHYSICS_FLAGS = EntityItem::DIRTY_TRANSFORM | Enti class OctreeEditPacketSender; class PhysicsEngine; -extern const int MAX_NUM_NON_MOVING_UPDATES; - class ObjectMotionState : public btMotionState { public: // These poroperties of the PhysicsEngine are "global" within the context of all ObjectMotionStates diff --git a/libraries/physics/src/PhysicsEngine.cpp b/libraries/physics/src/PhysicsEngine.cpp index e5c974dfbc..55fc5e6295 100644 --- a/libraries/physics/src/PhysicsEngine.cpp +++ b/libraries/physics/src/PhysicsEngine.cpp @@ -227,8 +227,7 @@ void PhysicsEngine::stepSimulation() { // (3) synchronize outgoing motion states // (4) send outgoing packets - const int MAX_NUM_SUBSTEPS = 4; - const float MAX_TIMESTEP = (float)MAX_NUM_SUBSTEPS * PHYSICS_ENGINE_FIXED_SUBSTEP; + const float MAX_TIMESTEP = (float)PHYSICS_ENGINE_MAX_NUM_SUBSTEPS * PHYSICS_ENGINE_FIXED_SUBSTEP; float dt = 1.0e-6f * (float)(_clock.getTimeMicroseconds()); _clock.reset(); float timeStep = btMin(dt, MAX_TIMESTEP); @@ -245,7 +244,7 @@ void PhysicsEngine::stepSimulation() { _characterController->preSimulation(timeStep); } - int numSubsteps = _dynamicsWorld->stepSimulation(timeStep, MAX_NUM_SUBSTEPS, PHYSICS_ENGINE_FIXED_SUBSTEP); + int numSubsteps = _dynamicsWorld->stepSimulation(timeStep, PHYSICS_ENGINE_MAX_NUM_SUBSTEPS, PHYSICS_ENGINE_FIXED_SUBSTEP); if (numSubsteps > 0) { BT_PROFILE("postSimulation"); _numSubsteps += (uint32_t)numSubsteps; From 0e12cdc39e1d0932035ef0cc36b0e82de0e8b2ed Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 10 Jun 2015 12:41:15 -0700 Subject: [PATCH 3/6] woops, forgot to include this in last commit --- libraries/shared/src/PhysicsHelpers.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/shared/src/PhysicsHelpers.h b/libraries/shared/src/PhysicsHelpers.h index bef7275067..0e58ae99f0 100644 --- a/libraries/shared/src/PhysicsHelpers.h +++ b/libraries/shared/src/PhysicsHelpers.h @@ -15,6 +15,7 @@ #include #include +const int PHYSICS_ENGINE_MAX_NUM_SUBSTEPS = 4; const float PHYSICS_ENGINE_FIXED_SUBSTEP = 1.0f / 60.0f; // return incremental rotation (Bullet-style) caused by angularVelocity over timeStep From 1dfc9c89eb487906f940411c5434a6a9d1ead68d Mon Sep 17 00:00:00 2001 From: Bradley Austin Davis Date: Wed, 10 Jun 2015 13:57:48 -0700 Subject: [PATCH 4/6] Fix doubled cursor on OSX --- interface/src/Application.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 1763623fa6..3e993450c3 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -524,8 +524,16 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : _window->setVisible(true); _glWidget->setFocusPolicy(Qt::StrongFocus); _glWidget->setFocus(); +#ifdef Q_OS_MAC + // OSX doesn't seem to provide for hiding the cursor only on the GL widget + _window->setCursor(Qt::BlankCursor); +#else + // On windows and linux, hiding the top level cursor also means it's invisible + // when hovering over the window menu, which is a pain, so only hide it for + // the GL surface _glWidget->setCursor(Qt::BlankCursor); - +#endif + // enable mouse tracking; otherwise, we only get drag events _glWidget->setMouseTracking(true); From 6497ac6c8270a7528cd7efa536e4195d1488089b Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 10 Jun 2015 14:24:00 -0700 Subject: [PATCH 5/6] renderBoundingBox() for sim-ownership debug --- .../src/RenderableBoxEntityItem.cpp | 40 ++----------------- .../src/RenderableBoxEntityItem.h | 1 - .../src/RenderableDebugableEntityItem.cpp | 13 +++--- .../src/RenderableSphereEntityItem.cpp | 6 ++- 4 files changed, 15 insertions(+), 45 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp b/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp index 2d72897faf..6ddf44b82d 100644 --- a/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableBoxEntityItem.cpp @@ -9,6 +9,8 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include "RenderableBoxEntityItem.h" + #include #include @@ -18,7 +20,7 @@ #include #include -#include "RenderableBoxEntityItem.h" +#include "RenderableDebugableEntityItem.h" EntityItemPointer RenderableBoxEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) { return EntityItemPointer(new RenderableBoxEntityItem(entityID, properties)); @@ -34,39 +36,5 @@ void RenderableBoxEntityItem::render(RenderArgs* args) { batch.setModelTransform(getTransformToCenter()); DependencyManager::get()->renderSolidCube(batch, 1.0f, cubeColor); - // TODO: use RenderableDebugableEntityItem::render (instead of the hack below) - // when we fix the scaling bug that breaks RenderableDebugableEntityItem for boxes. - if (args->_debugFlags & RenderArgs::RENDER_DEBUG_SIMULATION_OWNERSHIP) { - Q_ASSERT(args->_batch); - gpu::Batch& batch = *args->_batch; - Transform transform = getTransformToCenter(); - //transform.postScale(entity->getDimensions()); // HACK: this line breaks for BoxEntityItem - batch.setModelTransform(transform); - - auto nodeList = DependencyManager::get(); - const QUuid& myNodeID = nodeList->getSessionUUID(); - bool highlightSimulationOwnership = (getSimulatorID() == myNodeID); - if (highlightSimulationOwnership) { - glm::vec4 greenColor(0.0f, 1.0f, 0.2f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.08f, greenColor); - } - - quint64 now = usecTimestampNow(); - if (now - getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) { - glm::vec4 redColor(1.0f, 0.0f, 0.0f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.16f, redColor); - } - - if (now - getLastBroadcast() < 0.2f * USECS_PER_SECOND) { - glm::vec4 yellowColor(1.0f, 1.0f, 0.2f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.24f, yellowColor); - } - - ObjectMotionState* motionState = static_cast(getPhysicsInfo()); - if (motionState && motionState->isActive()) { - glm::vec4 blueColor(0.0f, 0.0f, 1.0f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.32f, blueColor); - } - } - //RenderableDebugableEntityItem::render(this, args); // TODO: use this instead of the hack above + RenderableDebugableEntityItem::render(this, args); }; diff --git a/libraries/entities-renderer/src/RenderableBoxEntityItem.h b/libraries/entities-renderer/src/RenderableBoxEntityItem.h index 06a62706b9..b14da9ee22 100644 --- a/libraries/entities-renderer/src/RenderableBoxEntityItem.h +++ b/libraries/entities-renderer/src/RenderableBoxEntityItem.h @@ -13,7 +13,6 @@ #define hifi_RenderableBoxEntityItem_h #include -#include "RenderableDebugableEntityItem.h" #include "RenderableEntityItem.h" class RenderableBoxEntityItem : public BoxEntityItem { diff --git a/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp b/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp index 53213eae51..fecc574af2 100644 --- a/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableDebugableEntityItem.cpp @@ -10,6 +10,7 @@ // +#include "RenderableDebugableEntityItem.h" #include @@ -18,15 +19,13 @@ #include #include -#include "RenderableDebugableEntityItem.h" - void RenderableDebugableEntityItem::renderBoundingBox(EntityItem* entity, RenderArgs* args, float puffedOut, glm::vec4& color) { Q_ASSERT(args->_batch); gpu::Batch& batch = *args->_batch; Transform transform = entity->getTransformToCenter(); - transform.postScale(entity->getDimensions()); + //transform.postScale(entity->getDimensions()); batch.setModelTransform(transform); DependencyManager::get()->renderWireCube(batch, 1.0f + puffedOut, color); } @@ -44,24 +43,24 @@ void RenderableDebugableEntityItem::render(EntityItem* entity, RenderArgs* args) bool highlightSimulationOwnership = (entity->getSimulatorID() == myNodeID); if (highlightSimulationOwnership) { glm::vec4 greenColor(0.0f, 1.0f, 0.2f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.08f, greenColor); + renderBoundingBox(entity, args, 0.08f, greenColor); } quint64 now = usecTimestampNow(); if (now - entity->getLastEditedFromRemote() < 0.1f * USECS_PER_SECOND) { glm::vec4 redColor(1.0f, 0.0f, 0.0f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.16f, redColor); + renderBoundingBox(entity, args, 0.16f, redColor); } if (now - entity->getLastBroadcast() < 0.2f * USECS_PER_SECOND) { glm::vec4 yellowColor(1.0f, 1.0f, 0.2f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.24f, yellowColor); + renderBoundingBox(entity, args, 0.24f, yellowColor); } ObjectMotionState* motionState = static_cast(entity->getPhysicsInfo()); if (motionState && motionState->isActive()) { glm::vec4 blueColor(0.0f, 0.0f, 1.0f, 1.0f); - DependencyManager::get()->renderWireCube(batch, 1.32f, blueColor); + renderBoundingBox(entity, args, 0.32f, blueColor); } } } diff --git a/libraries/entities-renderer/src/RenderableSphereEntityItem.cpp b/libraries/entities-renderer/src/RenderableSphereEntityItem.cpp index d5cb7d11b8..b0aaebb2c8 100644 --- a/libraries/entities-renderer/src/RenderableSphereEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableSphereEntityItem.cpp @@ -9,6 +9,8 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include "RenderableSphereEntityItem.h" + #include #include @@ -18,7 +20,7 @@ #include #include -#include "RenderableSphereEntityItem.h" +#include "RenderableDebugableEntityItem.h" EntityItemPointer RenderableSphereEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) { return EntityItemPointer(new RenderableSphereEntityItem(entityID, properties)); @@ -39,4 +41,6 @@ void RenderableSphereEntityItem::render(RenderArgs* args) { gpu::Batch& batch = *args->_batch; batch.setModelTransform(getTransformToCenter()); DependencyManager::get()->renderSolidSphere(batch, 0.5f, SLICES, STACKS, sphereColor); + + RenderableDebugableEntityItem::render(this, args); }; From 9ed8daa97c4aca572fbe3de7afcb0b861b80da1b Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Wed, 10 Jun 2015 15:33:07 -0700 Subject: [PATCH 6/6] Removing unnecessary functions --- examples/html/entityProperties.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/html/entityProperties.html b/examples/html/entityProperties.html index 37f2d0085f..f029088b1a 100644 --- a/examples/html/entityProperties.html +++ b/examples/html/entityProperties.html @@ -859,10 +859,6 @@ elVoxelVolumeSizeZ.addEventListener('change', voxelVolumeSizeChangeFunction); elVoxelSurfaceStyle.addEventListener('change', createEmitTextPropertyUpdateFunction('voxelSurfaceStyle')); - var hyperlinkChangeFunction = createEmitGroupTextPropertyUpdateFunction('hyperlink','href'); - var hyperlinkChangeFunction = createEmitGroupTextPropertyUpdateFunction('hyperlink','description'); - - elMoveSelectionToGrid.addEventListener("click", function() { EventBridge.emitWebEvent(JSON.stringify({ type: "action",