From 9655e934323f51c1b683eef4a49fdba3fd1d0c9f Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Sat, 8 Feb 2014 19:13:43 -0800 Subject: [PATCH] Remove re-coloring of voxels on hover or click, anticipating switch to scripted behavior --- interface/src/Application.cpp | 80 +++-------------------------------- interface/src/Application.h | 2 - 2 files changed, 5 insertions(+), 77 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 6119c83e66..ea327094c2 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -135,7 +135,6 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _isTouchPressed(false), _mousePressed(false), _isHoverVoxel(false), - _isHoverVoxelSounding(false), _mouseVoxelScale(1.0f / 1024.0f), _mouseVoxelScaleInitialized(false), _justEditedVoxel(false), @@ -1219,11 +1218,6 @@ void Application::mouseMoveEvent(QMouseEvent* event) { } } -const bool MAKE_SOUND_ON_VOXEL_HOVER = false; -const bool MAKE_SOUND_ON_VOXEL_CLICK = true; -const float HOVER_VOXEL_FREQUENCY = 7040.f; -const float HOVER_VOXEL_DECAY = 0.999f; - void Application::mousePressEvent(QMouseEvent* event) { _controllerScriptingInterface.emitMousePressEvent(event); // send events to any registered scripts @@ -1263,37 +1257,6 @@ void Application::mousePressEvent(QMouseEvent* event) { pasteVoxels(); } - if (!Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode) && - MAKE_SOUND_ON_VOXEL_CLICK && _isHoverVoxel && !_isHoverVoxelSounding) { - _hoverVoxelOriginalColor[0] = _hoverVoxel.red; - _hoverVoxelOriginalColor[1] = _hoverVoxel.green; - _hoverVoxelOriginalColor[2] = _hoverVoxel.blue; - _hoverVoxelOriginalColor[3] = 1; - const float RED_CLICK_FREQUENCY = 1000.f; - const float GREEN_CLICK_FREQUENCY = 1250.f; - const float BLUE_CLICK_FREQUENCY = 1330.f; - const float MIDDLE_A_FREQUENCY = 440.f; - float frequency = MIDDLE_A_FREQUENCY + - (_hoverVoxel.red / 255.f * RED_CLICK_FREQUENCY + - _hoverVoxel.green / 255.f * GREEN_CLICK_FREQUENCY + - _hoverVoxel.blue / 255.f * BLUE_CLICK_FREQUENCY) / 3.f; - - _audio.startCollisionSound(1.0, frequency, 0.0, HOVER_VOXEL_DECAY, false); - _isHoverVoxelSounding = true; - - const float PERCENTAGE_TO_MOVE_TOWARD = 0.90f; - glm::vec3 newTarget = getMouseVoxelWorldCoordinates(_hoverVoxel); - glm::vec3 myPosition = _myAvatar->getPosition(); - - // If there is not an action tool set (add, delete, color), move to this voxel - if (Menu::getInstance()->isOptionChecked(MenuOption::ClickToFly) && - !(Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode) || - Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode) || - Menu::getInstance()->isOptionChecked(MenuOption::VoxelColorMode))) { - _myAvatar->setMoveTarget(myPosition + (newTarget - myPosition) * PERCENTAGE_TO_MOVE_TOWARD); - } - } - } else if (event->button() == Qt::RightButton && Menu::getInstance()->isVoxelModeActionChecked()) { deleteVoxelUnderCursor(); } @@ -2039,44 +2002,11 @@ void Application::updateHoverVoxels(float deltaTime, float& distance, BoxFace& f bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); PerformanceWarning warn(showWarnings, "Application::updateHoverVoxels()"); - // If we have clicked on a voxel, update it's color - if (_isHoverVoxelSounding) { - VoxelTreeElement* hoveredNode = _voxels.getVoxelAt(_hoverVoxel.x, _hoverVoxel.y, _hoverVoxel.z, _hoverVoxel.s); - if (hoveredNode) { - float bright = _audio.getCollisionSoundMagnitude(); - nodeColor clickColor = { 255 * bright + _hoverVoxelOriginalColor[0] * (1.f - bright), - _hoverVoxelOriginalColor[1] * (1.f - bright), - _hoverVoxelOriginalColor[2] * (1.f - bright), 1 }; - hoveredNode->setColor(clickColor); - if (bright < 0.01f) { - hoveredNode->setColor(_hoverVoxelOriginalColor); - _isHoverVoxelSounding = false; - } - } else { - // Voxel is not found, clear all - _isHoverVoxelSounding = false; - _isHoverVoxel = false; - } - } else { - // Check for a new hover voxel - glm::vec4 oldVoxel(_hoverVoxel.x, _hoverVoxel.y, _hoverVoxel.z, _hoverVoxel.s); - // only do this work if MAKE_SOUND_ON_VOXEL_HOVER or MAKE_SOUND_ON_VOXEL_CLICK is enabled, - // and make sure the tree is not already busy... because otherwise you'll have to wait. - if (!_mousePressed) { - { - PerformanceWarning warn(showWarnings, "Application::updateHoverVoxels() _voxels.findRayIntersection()"); - _isHoverVoxel = _voxels.findRayIntersection(_mouseRayOrigin, _mouseRayDirection, _hoverVoxel, distance, face); - } - if (MAKE_SOUND_ON_VOXEL_HOVER && _isHoverVoxel && - glm::vec4(_hoverVoxel.x, _hoverVoxel.y, _hoverVoxel.z, _hoverVoxel.s) != oldVoxel) { - - _hoverVoxelOriginalColor[0] = _hoverVoxel.red; - _hoverVoxelOriginalColor[1] = _hoverVoxel.green; - _hoverVoxelOriginalColor[2] = _hoverVoxel.blue; - _hoverVoxelOriginalColor[3] = 1; - _audio.startCollisionSound(1.0, HOVER_VOXEL_FREQUENCY * _hoverVoxel.s * TREE_SCALE, 0.0, HOVER_VOXEL_DECAY, false); - _isHoverVoxelSounding = true; - } + // Check for a new hover voxel + if (!_mousePressed) { + { + PerformanceWarning warn(showWarnings, "Application::updateHoverVoxels() _voxels.findRayIntersection()"); + _isHoverVoxel = _voxels.findRayIntersection(_mouseRayOrigin, _mouseRayDirection, _hoverVoxel, distance, face); } } } diff --git a/interface/src/Application.h b/interface/src/Application.h index 94b5601797..2a8ba2d1bf 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -419,8 +419,6 @@ private: VoxelDetail _hoverVoxel; // Stuff about the voxel I am hovering or clicking bool _isHoverVoxel; - bool _isHoverVoxelSounding; - nodeColor _hoverVoxelOriginalColor; VoxelDetail _mouseVoxel; // details of the voxel to be edited float _mouseVoxelScale; // the scale for adding/removing voxels