From 869b35a7aac1114e2fb50e2c50d6f74b5b7f2a21 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 25 Feb 2014 21:38:10 -0800 Subject: [PATCH 1/4] remove old c++ implementation of voxel tools --- examples/editVoxels.js | 12 +- interface/src/Application.cpp | 681 +-------------------------------- interface/src/Application.h | 35 +- interface/src/Menu.cpp | 107 ------ interface/src/Menu.h | 20 - interface/src/Swatch.cpp | 183 --------- interface/src/Swatch.h | 45 --- interface/src/Tool.cpp | 51 --- interface/src/Tool.h | 55 --- interface/src/ToolsPalette.cpp | 88 ----- interface/src/ToolsPalette.h | 37 -- interface/src/avatar/Hand.cpp | 2 +- 12 files changed, 22 insertions(+), 1294 deletions(-) delete mode 100644 interface/src/Swatch.cpp delete mode 100644 interface/src/Swatch.h delete mode 100644 interface/src/Tool.cpp delete mode 100644 interface/src/Tool.h delete mode 100644 interface/src/ToolsPalette.cpp delete mode 100644 interface/src/ToolsPalette.h diff --git a/examples/editVoxels.js b/examples/editVoxels.js index 24f2e10067..a910601c20 100644 --- a/examples/editVoxels.js +++ b/examples/editVoxels.js @@ -1028,20 +1028,14 @@ function setupMenus() { Menu.menuItemEvent.connect(menuItemEvent); // delete the standard application menu item - Menu.removeMenuItem("Edit", "Cut"); - Menu.removeMenuItem("Edit", "Copy"); - Menu.removeMenuItem("Edit", "Paste"); - Menu.removeMenuItem("Edit", "Delete"); - Menu.removeMenuItem("Edit", "Nudge"); - Menu.removeMenuItem("File", "Export Voxels"); - Menu.removeMenuItem("File", "Import Voxels"); - - // delete the standard application menu item + Menu.addSeparator("Edit", "Voxels"); Menu.addMenuItem({ menuName: "Edit", menuItemName: "Cut", shortcutKey: "CTRL+X", afterItem: "Voxels" }); Menu.addMenuItem({ menuName: "Edit", menuItemName: "Copy", shortcutKey: "CTRL+C", afterItem: "Cut" }); Menu.addMenuItem({ menuName: "Edit", menuItemName: "Paste", shortcutKey: "CTRL+V", afterItem: "Copy" }); Menu.addMenuItem({ menuName: "Edit", menuItemName: "Nudge", shortcutKey: "CTRL+N", afterItem: "Paste" }); Menu.addMenuItem({ menuName: "Edit", menuItemName: "Delete", shortcutKeyEvent: { text: "backspace" }, afterItem: "Nudge" }); + + Menu.addSeparator("File", "Voxels"); Menu.addMenuItem({ menuName: "File", menuItemName: "Export Voxels", shortcutKey: "CTRL+E", afterItem: "Voxels" }); Menu.addMenuItem({ menuName: "File", menuItemName: "Import Voxels", shortcutKey: "CTRL+I", afterItem: "Export Voxels" }); } diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index efbbd04fc7..8af743fd96 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -66,7 +66,6 @@ #include "InterfaceVersion.h" #include "Menu.h" #include "MenuScriptingInterface.h" -#include "Swatch.h" #include "Util.h" #include "devices/OculusManager.h" #include "devices/TV3DManager.h" @@ -140,13 +139,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _isTouchPressed(false), _mousePressed(false), _isHoverVoxel(false), - _mouseVoxelScale(1.0f / 1024.0f), - _mouseVoxelScaleInitialized(false), - _justEditedVoxel(false), _isHighlightVoxel(false), - _nudgeStarted(false), - _lookingAlongX(false), - _lookingAwayFromOrigin(true), _chatEntryOn(false), _audio(&_audioScope, STARTUP_JITTER_SAMPLES), _enableProcessVoxelsThread(true), @@ -156,7 +149,6 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _bytesPerSecond(0), _recentMaxPackets(0), _resetRecentMaxPacketsSoon(true), - _swatch(NULL), _pasteMode(false), _logger(new FileLogger(this)) { @@ -704,11 +696,6 @@ void Application::keyPressEvent(QKeyEvent* event) { bool isMeta = event->modifiers().testFlag(Qt::ControlModifier); switch (event->key()) { break; - case Qt::Key_Shift: - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) { - _pasteMode = true; - } - break; case Qt::Key_BracketLeft: case Qt::Key_BracketRight: case Qt::Key_BraceLeft: @@ -733,14 +720,10 @@ void Application::keyPressEvent(QKeyEvent* event) { break; case Qt::Key_E: - if (_nudgeStarted) { - _nudgeGuidePosition.y += _mouseVoxel.s; - } else { - if (!_myAvatar->getDriveKeys(UP)) { - _myAvatar->jump(); - } - _myAvatar->setDriveKeys(UP, 1); + if (!_myAvatar->getDriveKeys(UP)) { + _myAvatar->jump(); } + _myAvatar->setDriveKeys(UP, 1); break; case Qt::Key_Asterisk: @@ -748,31 +731,11 @@ void Application::keyPressEvent(QKeyEvent* event) { break; case Qt::Key_C: - if (_nudgeStarted) { - _nudgeGuidePosition.y -= _mouseVoxel.s; - } else { - _myAvatar->setDriveKeys(DOWN, 1); - } + _myAvatar->setDriveKeys(DOWN, 1); break; case Qt::Key_W: - if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x += _mouseVoxel.s; - } else { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z += _mouseVoxel.s; - } else { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } - } - } else { - _myAvatar->setDriveKeys(FWD, 1); - } + _myAvatar->setDriveKeys(FWD, 1); break; case Qt::Key_S: @@ -782,20 +745,6 @@ void Application::keyPressEvent(QKeyEvent* event) { Menu::getInstance()->triggerOption(MenuOption::SuppressShortTimings); } else if (!isShifted && isMeta) { takeSnapshot(); - } else if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.x += _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.z += _mouseVoxel.s; - } - } } else { _myAvatar->setDriveKeys(BACK, 1); } @@ -808,147 +757,43 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_G: if (isShifted) { Menu::getInstance()->triggerOption(MenuOption::Gravity); - } else { - Menu::getInstance()->triggerOption(MenuOption::VoxelGetColorMode); } break; case Qt::Key_A: if (isShifted) { Menu::getInstance()->triggerOption(MenuOption::Atmosphere); - } else if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.z += _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x += _mouseVoxel.s; - } else { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } - } } else { _myAvatar->setDriveKeys(ROT_LEFT, 1); } break; case Qt::Key_D: - if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z += _mouseVoxel.s; - } else { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.x += _mouseVoxel.s; - } - } - } else { - _myAvatar->setDriveKeys(ROT_RIGHT, 1); - } + _myAvatar->setDriveKeys(ROT_RIGHT, 1); break; case Qt::Key_Return: case Qt::Key_Enter: - if (_nudgeStarted) { - nudgeVoxels(); - } else { - _chatEntryOn = true; - _myAvatar->setKeyState(NO_KEY_DOWN); - _myAvatar->setChatMessage(string()); - setMenuShortcutsEnabled(false); - } + _chatEntryOn = true; + _myAvatar->setKeyState(NO_KEY_DOWN); + _myAvatar->setChatMessage(string()); + setMenuShortcutsEnabled(false); break; case Qt::Key_Up: - if (_nudgeStarted && !isShifted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x += _mouseVoxel.s; - } else { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z += _mouseVoxel.s; - } else { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } - } - } else if (_nudgeStarted && isShifted) { - _nudgeGuidePosition.y += _mouseVoxel.s; - } else { - _myAvatar->setDriveKeys(isShifted ? UP : FWD, 1); - } + _myAvatar->setDriveKeys(isShifted ? UP : FWD, 1); break; case Qt::Key_Down: - if (_nudgeStarted && !isShifted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.x += _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.z += _mouseVoxel.s; - } - } - } else if (_nudgeStarted && isShifted) { - _nudgeGuidePosition.y -= _mouseVoxel.s; - } else { - _myAvatar->setDriveKeys(isShifted ? DOWN : BACK, 1); - } + _myAvatar->setDriveKeys(isShifted ? DOWN : BACK, 1); break; case Qt::Key_Left: - if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.z += _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x += _mouseVoxel.s; - } else { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } - } - } else { - _myAvatar->setDriveKeys(isShifted ? LEFT : ROT_LEFT, 1); - } + _myAvatar->setDriveKeys(isShifted ? LEFT : ROT_LEFT, 1); break; case Qt::Key_Right: - if (_nudgeStarted) { - if (_lookingAlongX) { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.z += _mouseVoxel.s; - } else { - _nudgeGuidePosition.z -= _mouseVoxel.s; - } - } else { - if (_lookingAwayFromOrigin) { - _nudgeGuidePosition.x -= _mouseVoxel.s; - } else { - _nudgeGuidePosition.x += _mouseVoxel.s; - } - } - } else { - _myAvatar->setDriveKeys(isShifted ? RIGHT : ROT_RIGHT, 1); - } + _myAvatar->setDriveKeys(isShifted ? RIGHT : ROT_RIGHT, 1); break; case Qt::Key_I: @@ -1030,9 +875,6 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_V: if (isShifted) { Menu::getInstance()->triggerOption(MenuOption::Voxels); - } else { - Menu::getInstance()->triggerOption(MenuOption::VoxelAddMode); - _nudgeStarted = false; } break; case Qt::Key_P: @@ -1041,29 +883,12 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_R: if (isShifted) { Menu::getInstance()->triggerOption(MenuOption::FrustumRenderMode); - } else { - Menu::getInstance()->triggerOption(MenuOption::VoxelDeleteMode); - _nudgeStarted = false; } break; - case Qt::Key_B: - Menu::getInstance()->triggerOption(MenuOption::VoxelColorMode); - _nudgeStarted = false; - break; - case Qt::Key_O: - Menu::getInstance()->triggerOption(MenuOption::VoxelSelectMode); - _nudgeStarted = false; break; case Qt::Key_Slash: Menu::getInstance()->triggerOption(MenuOption::Stats); break; - case Qt::Key_Backspace: - case Qt::Key_Delete: - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode) || - Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) { - deleteVoxelUnderCursor(); - } - break; case Qt::Key_Plus: _myAvatar->increaseSize(); break; @@ -1074,16 +899,6 @@ void Application::keyPressEvent(QKeyEvent* event) { _myAvatar->resetSize(); break; - case Qt::Key_1: - case Qt::Key_2: - case Qt::Key_3: - case Qt::Key_4: - case Qt::Key_5: - case Qt::Key_6: - case Qt::Key_7: - case Qt::Key_8: - _swatch.handleEvent(event->key(), Menu::getInstance()->isOptionChecked(MenuOption::VoxelGetColorMode)); - break; case Qt::Key_At: Menu::getInstance()->goTo(); break; @@ -1181,35 +996,10 @@ void Application::mouseMoveEvent(QMouseEvent* event) { _seenMouseMove = true; } - int deltaX = event->x() - _mouseX; - int deltaY = event->y() - _mouseY; _mouseX = event->x(); _mouseY = event->y(); if (activeWindow() == _window) { - // orbit behavior - if (_mousePressed && !Menu::getInstance()->isVoxelModeActionChecked()) { - if (_myAvatar->getLookAtTargetAvatar()) { - _myAvatar->orbit(_myAvatar->getLookAtTargetAvatar()->getPosition(), deltaX, deltaY); - return; - } - if (_isHoverVoxel) { - //_myAvatar->orbit(getMouseVoxelWorldCoordinates(_hoverVoxel), deltaX, deltaY); - return; - } - } - - // detect drag - glm::vec3 mouseVoxelPos(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z); - if (!_justEditedVoxel && mouseVoxelPos != _lastMouseVoxelPos) { - if (event->buttons().testFlag(Qt::LeftButton)) { - maybeEditVoxelUnderCursor(); - - } else if (event->buttons().testFlag(Qt::RightButton) && Menu::getInstance()->isVoxelModeActionChecked()) { - deleteVoxelUnderCursor(); - } - } - _pieMenu.mouseMoveEvent(_mouseX, _mouseY); } } @@ -1229,11 +1019,8 @@ void Application::mousePressEvent(QMouseEvent* event) { _mouseY = event->y(); _mouseDragStartedX = _mouseX; _mouseDragStartedY = _mouseY; - _mouseVoxelDragging = _mouseVoxel; _mousePressed = true; - maybeEditVoxelUnderCursor(); - if (_audio.mousePressEvent(_mouseX, _mouseY)) { // stop propagation return; @@ -1244,23 +1031,13 @@ void Application::mousePressEvent(QMouseEvent* event) { return; } - if (!_palette.isActive() && (!_isHoverVoxel || _myAvatar->getLookAtTargetAvatar())) { + if (!_isHoverVoxel || _myAvatar->getLookAtTargetAvatar()) { // disable for now // _pieMenu.mousePressEvent(_mouseX, _mouseY); } - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode) && _pasteMode) { - pasteVoxels(); - } - } else if (event->button() == Qt::RightButton) { - if (Menu::getInstance()->isVoxelModeActionChecked()) { - deleteVoxelUnderCursor(); - } - if (_pasteMode) { - _pasteMode = false; - } - + // right click items here } } } @@ -1365,19 +1142,6 @@ void Application::wheelEvent(QWheelEvent* event) { if (_controllerScriptingInterface.isWheelCaptured()) { return; } - - // Wheel Events disabled for now because they are also activated by touch look pitch up/down. - if (USE_MOUSEWHEEL && (activeWindow() == _window)) { - if (!Menu::getInstance()->isVoxelModeActionChecked()) { - event->ignore(); - return; - } - if (event->delta() > 0) { - increaseVoxelSize(); - } else { - decreaseVoxelSize(); - } - } } void Application::dropEvent(QDropEvent *event) { @@ -1438,29 +1202,6 @@ void Application::timer() { } -static glm::vec3 getFaceVector(BoxFace face) { - switch (face) { - case MIN_X_FACE: - return glm::vec3(-1, 0, 0); - - case MAX_X_FACE: - return glm::vec3(1, 0, 0); - - case MIN_Y_FACE: - return glm::vec3(0, -1, 0); - - case MAX_Y_FACE: - return glm::vec3(0, 1, 0); - - case MIN_Z_FACE: - return glm::vec3(0, 0, -1); - - default: // quiet windows warnings - case MAX_Z_FACE: - return glm::vec3(0, 0, 1); - } -} - void Application::idle() { // Normally we check PipelineWarnings, but since idle will often take more than 10ms we only show these idle timing // details if we're in ExtraDebugging mode. However, the ::update() and it's subcomponents will show their timing @@ -1582,28 +1323,6 @@ glm::vec3 Application::getMouseVoxelWorldCoordinates(const VoxelDetail& mouseVox (mouseVoxel.z + mouseVoxel.s / 2.f) * TREE_SCALE); } -const float NUDGE_PRECISION_MIN = 1 / pow(2.0, 12.0); - -void Application::decreaseVoxelSize() { - if (_nudgeStarted) { - if (_mouseVoxelScale >= NUDGE_PRECISION_MIN) { - _mouseVoxelScale /= 2; - } - } else { - _mouseVoxelScale /= 2; - } -} - -void Application::increaseVoxelSize() { - if (_nudgeStarted) { - if (_mouseVoxelScale < _nudgeVoxel.s) { - _mouseVoxelScale *= 2; - } - } else { - _mouseVoxelScale *= 2; - } -} - const int MAXIMUM_EDIT_VOXEL_MESSAGE_SIZE = 1500; struct SendVoxelsOperationArgs { const unsigned char* newBaseOctCode; @@ -1645,10 +1364,6 @@ bool Application::sendVoxelsOperation(OctreeElement* element, void* extraData) { return true; // keep going } -void Application::exportVoxels() { - exportVoxels(_mouseVoxel); -} - void Application::exportVoxels(const VoxelDetail& sourceVoxel) { QString desktopLocation = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); QString suggestedName = desktopLocation.append("/voxels.svo"); @@ -1668,41 +1383,11 @@ void Application::exportVoxels(const VoxelDetail& sourceVoxel) { _window->activateWindow(); } -void Application::importVoxels() { - if (!_voxelImporter) { - _voxelImporter = new VoxelImporter(_window); - _voxelImporter->loadSettings(_settings); - } - - if (!_voxelImporter->exec()) { - qDebug() << "[DEBUG] Import succeeded." << endl; - Menu::getInstance()->setIsOptionChecked(MenuOption::VoxelSelectMode, true); - _pasteMode = true; - } else { - qDebug() << "[DEBUG] Import failed." << endl; - if (_sharedVoxelSystem.getTree() == _voxelImporter->getVoxelTree()) { - _sharedVoxelSystem.killLocalVoxels(); - _sharedVoxelSystem.changeTree(&_clipboard); - } - } - - // restore the main window's active state - _window->activateWindow(); -} - -void Application::cutVoxels() { - cutVoxels(_mouseVoxel); -} - void Application::cutVoxels(const VoxelDetail& sourceVoxel) { copyVoxels(sourceVoxel); deleteVoxelAt(sourceVoxel); } -void Application::copyVoxels() { - copyVoxels(_mouseVoxel); -} - void Application::copyVoxels(const VoxelDetail& sourceVoxel) { // switch to and clear the clipboard first... _sharedVoxelSystem.killLocalVoxels(); @@ -1733,10 +1418,6 @@ void Application::pasteVoxelsToOctalCode(const unsigned char* octalCodeDestinati _voxelEditSender.releaseQueuedMessages(); } -void Application::pasteVoxels() { - pasteVoxels(_mouseVoxel); -} - void Application::pasteVoxels(const VoxelDetail& sourceVoxel) { unsigned char* calculatedOctCode = NULL; VoxelTreeElement* selectedNode = _voxels.getVoxelAt(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s); @@ -1759,44 +1440,6 @@ void Application::pasteVoxels(const VoxelDetail& sourceVoxel) { _pasteMode = false; } -void Application::findAxisAlignment() { - glm::vec3 direction = _myAvatar->getMouseRayDirection(); - if (fabs(direction.z) > fabs(direction.x)) { - _lookingAlongX = false; - if (direction.z < 0) { - _lookingAwayFromOrigin = false; - } else { - _lookingAwayFromOrigin = true; - } - } else { - _lookingAlongX = true; - if (direction.x < 0) { - _lookingAwayFromOrigin = false; - } else { - _lookingAwayFromOrigin = true; - } - } -} - -void Application::nudgeVoxels() { - VoxelTreeElement* selectedNode = _voxels.getVoxelAt(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s); - if (!Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode) && selectedNode) { - Menu::getInstance()->triggerOption(MenuOption::VoxelSelectMode); - } - - if (!_nudgeStarted && selectedNode) { - _nudgeVoxel = _mouseVoxel; - _nudgeStarted = true; - _nudgeGuidePosition = glm::vec3(_nudgeVoxel.x, _nudgeVoxel.y, _nudgeVoxel.z); - findAxisAlignment(); - } else { - // calculate nudgeVec - glm::vec3 nudgeVec(_nudgeGuidePosition.x - _nudgeVoxel.x, _nudgeGuidePosition.y - _nudgeVoxel.y, _nudgeGuidePosition.z - _nudgeVoxel.z); - - nudgeVoxelsByVector(_nudgeVoxel, nudgeVec); - } -} - void Application::nudgeVoxelsByVector(const VoxelDetail& sourceVoxel, const glm::vec3& nudgeVec) { VoxelTreeElement* nodeToNudge = _voxels.getVoxelAt(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s); if (nodeToNudge) { @@ -1804,10 +1447,6 @@ void Application::nudgeVoxelsByVector(const VoxelDetail& sourceVoxel, const glm: } } -void Application::deleteVoxels() { - deleteVoxelUnderCursor(); -} - void Application::initDisplay() { glEnable(GL_BLEND); glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_CONSTANT_ALPHA, GL_ONE); @@ -1907,14 +1546,6 @@ void Application::init() { ScriptEngine::getParticlesScriptingInterface(), SLOT(forwardParticleCollisionWithParticle(const ParticleID&, const ParticleID&))); - _palette.init(_glWidget->width(), _glWidget->height()); - _palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelAddMode), 0, 0); - _palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelDeleteMode), 0, 1); - _palette.addTool(&_swatch); - _palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelColorMode), 0, 2); - _palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelGetColorMode), 0, 3); - _palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelSelectMode), 0, 4); - _pieMenu.init("./resources/images/hifi-interface-tools-v2-pie.svg", _glWidget->width(), _glWidget->height()); @@ -2097,94 +1728,6 @@ void Application::updateHoverVoxels(float deltaTime, float& distance, BoxFace& f } } -void Application::updateMouseVoxels(float deltaTime, float& distance, BoxFace& face) { - - bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); - PerformanceWarning warn(showWarnings, "Application::updateMouseVoxels()"); - - _mouseVoxel.s = 0.0f; - bool wasInitialized = _mouseVoxelScaleInitialized; - if (Menu::getInstance()->isVoxelModeActionChecked() && - (fabs(_myAvatar->getVelocity().x) + - fabs(_myAvatar->getVelocity().y) + - fabs(_myAvatar->getVelocity().z)) / 3 < MAX_AVATAR_EDIT_VELOCITY) { - - if (_voxels.findRayIntersection(_mouseRayOrigin, _mouseRayDirection, _mouseVoxel, distance, face)) { - if (distance < MAX_VOXEL_EDIT_DISTANCE) { - // set the voxel scale to that of the first moused-over voxel - if (!wasInitialized) { - _mouseVoxelScale = _mouseVoxel.s; - } - _mouseVoxelScaleInitialized = true; - - // find the nearest voxel with the desired scale - if (_mouseVoxelScale > _mouseVoxel.s) { - // choose the larger voxel that encompasses the one selected - _mouseVoxel.x = _mouseVoxelScale * floorf(_mouseVoxel.x / _mouseVoxelScale); - _mouseVoxel.y = _mouseVoxelScale * floorf(_mouseVoxel.y / _mouseVoxelScale); - _mouseVoxel.z = _mouseVoxelScale * floorf(_mouseVoxel.z / _mouseVoxelScale); - _mouseVoxel.s = _mouseVoxelScale; - - } else { - glm::vec3 faceVector = getFaceVector(face); - if (_mouseVoxelScale < _mouseVoxel.s) { - // find the closest contained voxel - glm::vec3 pt = (_mouseRayOrigin + _mouseRayDirection * distance) / (float)TREE_SCALE - - faceVector * (_mouseVoxelScale * 0.5f); - _mouseVoxel.x = _mouseVoxelScale * floorf(pt.x / _mouseVoxelScale); - _mouseVoxel.y = _mouseVoxelScale * floorf(pt.y / _mouseVoxelScale); - _mouseVoxel.z = _mouseVoxelScale * floorf(pt.z / _mouseVoxelScale); - _mouseVoxel.s = _mouseVoxelScale; - } - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode)) { - // use the face to determine the side on which to create a neighbor - _mouseVoxel.x += faceVector.x * _mouseVoxel.s; - _mouseVoxel.y += faceVector.y * _mouseVoxel.s; - _mouseVoxel.z += faceVector.z * _mouseVoxel.s; - } - } - } else { - _mouseVoxel.s = 0.0f; - } - } else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode) - || Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) { - // place the voxel a fixed distance away - float worldMouseVoxelScale = _mouseVoxelScale * TREE_SCALE; - glm::vec3 pt = _mouseRayOrigin + _mouseRayDirection * (2.0f + worldMouseVoxelScale * 0.5f); - _mouseVoxel.x = _mouseVoxelScale * floorf(pt.x / worldMouseVoxelScale); - _mouseVoxel.y = _mouseVoxelScale * floorf(pt.y / worldMouseVoxelScale); - _mouseVoxel.z = _mouseVoxelScale * floorf(pt.z / worldMouseVoxelScale); - _mouseVoxel.s = _mouseVoxelScale; - } - - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode)) { - // red indicates deletion - _mouseVoxel.red = 255; - _mouseVoxel.green = _mouseVoxel.blue = 0; - } else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) { - if (_nudgeStarted) { - _mouseVoxel.red = _mouseVoxel.green = _mouseVoxel.blue = 255; - } else { - // yellow indicates selection - _mouseVoxel.red = _mouseVoxel.green = 255; - _mouseVoxel.blue = 0; - } - } else { // _addVoxelMode->isChecked() || _colorVoxelMode->isChecked() - QColor paintColor = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor)->data().value(); - _mouseVoxel.red = paintColor.red(); - _mouseVoxel.green = paintColor.green(); - _mouseVoxel.blue = paintColor.blue(); - } - - // if we just edited, use the currently selected voxel as the "last" for drag detection - if (_justEditedVoxel) { - _lastMouseVoxelPos = glm::vec3(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z); - _justEditedVoxel = false; - } - } -} - - void Application::updateHandAndTouch(float deltaTime) { bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); PerformanceWarning warn(showWarnings, "Application::updateHandAndTouch()"); @@ -2338,7 +1881,6 @@ void Application::update(float deltaTime) { BoxFace face; updateHoverVoxels(deltaTime, distance, face); // clicking on voxels and making sounds - updateMouseVoxels(deltaTime, distance, face); // UI/UX related to voxels updateHandAndTouch(deltaTime); // Update state for touch sensors updateLeap(deltaTime); // Leap finger-sensing device updateSixense(deltaTime); // Razer Hydra controllers @@ -2787,9 +2329,6 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { glEnable(GL_LIGHTING); glEnable(GL_DEPTH_TEST); - // Enable to show line from me to the voxel I am touching - //renderThrustAtVoxel(_voxelThrust); - if (!selfAvatarOnly) { // draw a red sphere float originSphereRadius = 0.05f; @@ -2850,72 +2389,6 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { if (_isHighlightVoxel) { renderHighlightVoxel(_highlightVoxel); } - - // indicate what we'll be adding/removing in mouse mode, if anything - if (_mouseVoxel.s != 0 && whichCamera.getMode() != CAMERA_MODE_MIRROR) { - PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings), - "Application::displaySide() ... voxels TOOLS UX..."); - - glDisable(GL_LIGHTING); - glPushMatrix(); - glScalef(TREE_SCALE, TREE_SCALE, TREE_SCALE); - const float CUBE_EXPANSION = 1.01f; - if (_nudgeStarted) { - renderNudgeGuide(_nudgeGuidePosition.x, _nudgeGuidePosition.y, _nudgeGuidePosition.z, _nudgeVoxel.s); - renderNudgeGrid(_nudgeVoxel.x, _nudgeVoxel.y, _nudgeVoxel.z, _nudgeVoxel.s, _mouseVoxel.s); - glPushMatrix(); - glTranslatef(_nudgeVoxel.x + _nudgeVoxel.s * 0.5f, - _nudgeVoxel.y + _nudgeVoxel.s * 0.5f, - _nudgeVoxel.z + _nudgeVoxel.s * 0.5f); - glColor3ub(255, 255, 255); - glLineWidth(4.0f); - glutWireCube(_nudgeVoxel.s * CUBE_EXPANSION); - glPopMatrix(); - } else { - renderMouseVoxelGrid(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s); - } - - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode)) { - // use a contrasting color so that we can see what we're doing - glColor3ub(_mouseVoxel.red + 128, _mouseVoxel.green + 128, _mouseVoxel.blue + 128); - } else { - glColor3ub(_mouseVoxel.red, _mouseVoxel.green, _mouseVoxel.blue); - } - - if (_nudgeStarted) { - // render nudge guide cube - glTranslatef(_nudgeGuidePosition.x + _nudgeVoxel.s*0.5f, - _nudgeGuidePosition.y + _nudgeVoxel.s*0.5f, - _nudgeGuidePosition.z + _nudgeVoxel.s*0.5f); - glLineWidth(4.0f); - glutWireCube(_nudgeVoxel.s * CUBE_EXPANSION); - } else { - glTranslatef(_mouseVoxel.x + _mouseVoxel.s*0.5f, - _mouseVoxel.y + _mouseVoxel.s*0.5f, - _mouseVoxel.z + _mouseVoxel.s*0.5f); - glLineWidth(4.0f); - glutWireCube(_mouseVoxel.s * CUBE_EXPANSION); - } - glLineWidth(1.0f); - glPopMatrix(); - glEnable(GL_LIGHTING); - } - - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode) && _pasteMode && whichCamera.getMode() != CAMERA_MODE_MIRROR) { - PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings), - "Application::displaySide() ... PASTE Preview..."); - - glPushMatrix(); - glTranslatef(_mouseVoxel.x * TREE_SCALE, - _mouseVoxel.y * TREE_SCALE, - _mouseVoxel.z * TREE_SCALE); - glScalef(_mouseVoxel.s, - _mouseVoxel.s, - _mouseVoxel.s); - - _sharedVoxelSystem.render(); - glPopMatrix(); - } } bool forceRenderMyHead = (whichCamera.getInterpolatedMode() == CAMERA_MODE_MIRROR); @@ -3054,54 +2527,6 @@ void Application::displayOverlay() { drawtext(_glWidget->width() - 102, _glWidget->height() - timerBottom - 2, 0.30f, 0, 1.0f, 0, frameTimer, 1, 1, 1); } - _palette.render(_glWidget->width(), _glWidget->height()); - - QAction* paintColorAction = NULL; - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelGetColorMode) - && (paintColorAction = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor))->data().value() - != _swatch.getColor()) { - QColor color = paintColorAction->data().value(); - TextRenderer textRenderer(SANS_FONT_FAMILY, 11, 50); - const char line1[] = "Assign this color to a swatch"; - const char line2[] = "by choosing a key from 1 to 8."; - - int left = (_glWidget->width() - POPUP_WIDTH - 2 * POPUP_MARGIN) / 2; - int top = _glWidget->height() / 40; - - glBegin(GL_POLYGON); - glColor3f(0.0f, 0.0f, 0.0f); - for (double a = M_PI; a < 1.5f * M_PI; a += POPUP_STEP) { - glVertex2f(left + POPUP_MARGIN * cos(a) , top + POPUP_MARGIN * sin(a)); - } - for (double a = 1.5f * M_PI; a < 2.0f * M_PI; a += POPUP_STEP) { - glVertex2f(left + POPUP_WIDTH + POPUP_MARGIN * cos(a), top + POPUP_MARGIN * sin(a)); - } - for (double a = 0.0f; a < 0.5f * M_PI; a += POPUP_STEP) { - glVertex2f(left + POPUP_WIDTH + POPUP_MARGIN * cos(a), top + POPUP_HEIGHT + POPUP_MARGIN * sin(a)); - } - for (double a = 0.5f * M_PI; a < 1.0f * M_PI; a += POPUP_STEP) { - glVertex2f(left + POPUP_MARGIN * cos(a) , top + POPUP_HEIGHT + POPUP_MARGIN * sin(a)); - } - glEnd(); - - glBegin(GL_QUADS); - glColor3f(color.redF(), - color.greenF(), - color.blueF()); - glVertex2f(left , top); - glVertex2f(left + SWATCH_WIDTH, top); - glVertex2f(left + SWATCH_WIDTH, top + SWATCH_HEIGHT); - glVertex2f(left , top + SWATCH_HEIGHT); - glEnd(); - - glColor3f(1.0f, 1.0f, 1.0f); - textRenderer.draw(left + SWATCH_WIDTH + POPUP_MARGIN, top + FIRST_LINE_OFFSET , line1); - textRenderer.draw(left + SWATCH_WIDTH + POPUP_MARGIN, top + SECOND_LINE_OFFSET, line2); - } - else { - _swatch.checkColor(); - } - if (_pieMenu.isDisplayed()) { _pieMenu.render(); } @@ -3489,19 +2914,6 @@ void Application::toggleStatsExpanded() { _statsExpanded = !_statsExpanded; } -void Application::renderThrustAtVoxel(const glm::vec3& thrust) { - if (_mousePressed) { - glColor3f(1, 0, 0); - glLineWidth(2.0f); - glBegin(GL_LINES); - glm::vec3 voxelTouched = getMouseVoxelWorldCoordinates(_mouseVoxelDragging); - glVertex3f(voxelTouched.x, voxelTouched.y, voxelTouched.z); - glVertex3f(voxelTouched.x + thrust.x, voxelTouched.y + thrust.y, voxelTouched.z + thrust.z); - glEnd(); - } -} - - glm::vec2 Application::getScaledScreenPoint(glm::vec2 projectedPoint) { float horizontalScale = _glWidget->width() / 2.0f; float verticalScale = _glWidget->height() / 2.0f; @@ -3876,47 +3288,6 @@ void Application::renderViewFrustum(ViewFrustum& viewFrustum) { } } -bool Application::maybeEditVoxelUnderCursor() { - if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode) - || Menu::getInstance()->isOptionChecked(MenuOption::VoxelColorMode)) { - if (_mouseVoxel.s != 0) { - makeVoxel(glm::vec3(_mouseVoxel.x * TREE_SCALE, - _mouseVoxel.y * TREE_SCALE, - _mouseVoxel.z * TREE_SCALE), - _mouseVoxel.s * TREE_SCALE, - _mouseVoxel.red, - _mouseVoxel.green, - _mouseVoxel.blue, - Menu::getInstance()->isOptionChecked(MenuOption::DestructiveAddVoxel)); - - // remember the position for drag detection - _justEditedVoxel = true; - - } - } else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode)) { - deleteVoxelUnderCursor(); - VoxelFade fade(VoxelFade::FADE_OUT, 1.0f, 1.0f, 1.0f); - const float VOXEL_BOUNDS_ADJUST = 0.01f; - float slightlyBigger = _mouseVoxel.s * VOXEL_BOUNDS_ADJUST; - fade.voxelDetails.x = _mouseVoxel.x - slightlyBigger; - fade.voxelDetails.y = _mouseVoxel.y - slightlyBigger; - fade.voxelDetails.z = _mouseVoxel.z - slightlyBigger; - fade.voxelDetails.s = _mouseVoxel.s + slightlyBigger + slightlyBigger; - _voxelFades.push_back(fade); - - } else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelGetColorMode)) { - eyedropperVoxelUnderCursor(); - } else { - return false; - } - - return true; -} - -void Application::deleteVoxelUnderCursor() { - deleteVoxelAt(_mouseVoxel); -} - void Application::deleteVoxels(const VoxelDetail& voxel) { deleteVoxelAt(voxel); } @@ -3928,28 +3299,10 @@ void Application::deleteVoxelAt(const VoxelDetail& voxel) { // delete it locally to see the effect immediately (and in case no voxel server is present) _voxels.deleteVoxelAt(voxel.x, voxel.y, voxel.z, voxel.s); - - } - // remember the position for drag detection - _justEditedVoxel = true; -} - - -void Application::eyedropperVoxelUnderCursor() { - VoxelTreeElement* selectedNode = _voxels.getVoxelAt(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s); - if (selectedNode && selectedNode->isColored()) { - QColor selectedColor(selectedNode->getColor()[RED_INDEX], - selectedNode->getColor()[GREEN_INDEX], - selectedNode->getColor()[BLUE_INDEX]); - - if (selectedColor.isValid()) { - QAction* voxelPaintColorAction = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor); - voxelPaintColorAction->setData(selectedColor); - voxelPaintColorAction->setIcon(Swatch::createIcon(selectedColor)); - } } } + void Application::resetSensors() { _mouseX = _glWidget->width() / 2; _mouseY = _glWidget->height() / 2; diff --git a/interface/src/Application.h b/interface/src/Application.h index 97233a092d..fcb6123eaf 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -42,8 +42,6 @@ #include "PacketHeaders.h" #include "PieMenu.h" #include "Stars.h" -#include "Swatch.h" -#include "ToolsPalette.h" #include "ViewFrustum.h" #include "VoxelFade.h" #include "VoxelEditPacketSender.h" @@ -170,7 +168,6 @@ public: SixenseManager* getSixenseManager() { return &_sixenseManager; } BandwidthMeter* getBandwidthMeter() { return &_bandwidthMeter; } QSettings* getSettings() { return _settings; } - Swatch* getSwatch() { return &_swatch; } QMainWindow* getWindow() { return _window; } NodeToVoxelSceneStats* getOcteeSceneStats() { return &_octreeServerSceneStats; } void lockVoxelSceneStats() { _voxelSceneStatsLock.lockForRead(); } @@ -237,14 +234,6 @@ public slots: void nodeAdded(SharedNodePointer node); void nodeKilled(SharedNodePointer node); void packetSent(quint64 length); - - void cutVoxels(); - void copyVoxels(); - void pasteVoxels(); - void deleteVoxels(); - void exportVoxels(); - void importVoxels(); - void nudgeVoxels(); void cutVoxels(const VoxelDetail& sourceVoxel); void copyVoxels(const VoxelDetail& sourceVoxel); @@ -255,8 +244,6 @@ public slots: void setRenderVoxels(bool renderVoxels); void doKillLocalVoxels(); - void decreaseVoxelSize(); - void increaseVoxelSize(); void loadDialog(); void toggleLogDialog(); void initAvatarAndViewFrustum(); @@ -273,8 +260,6 @@ private slots: void setEnable3DTVMode(bool enable3DTVMode); void cameraMenuChanged(); - void renderThrustAtVoxel(const glm::vec3& thrust); - void renderCoverageMap(); void renderCoverageMapsRecursively(CoverageMap* map); @@ -311,7 +296,6 @@ private: void updateVisage(); void updateMyAvatarLookAtPosition(); void updateHoverVoxels(float deltaTime, float& distance, BoxFace& face); - void updateMouseVoxels(float deltaTime, float& distance, BoxFace& face); void updateHandAndTouch(float deltaTime); void updateLeap(float deltaTime); void updateSixense(float deltaTime); @@ -346,8 +330,6 @@ private: void checkBandwidthMeterClick(); - bool maybeEditVoxelUnderCursor(); - void deleteVoxelUnderCursor(); void deleteVoxelAt(const VoxelDetail& voxel); void eyedropperVoxelUnderCursor(); @@ -448,27 +430,15 @@ private: float _touchDragStartedAvgY; bool _isTouchPressed; // true if multitouch has been pressed (clear when finished) - VoxelDetail _mouseVoxelDragging; + //VoxelDetail _mouseVoxelDragging; bool _mousePressed; // true if mouse has been pressed (clear when finished) VoxelDetail _hoverVoxel; // Stuff about the voxel I am hovering or clicking bool _isHoverVoxel; - VoxelDetail _mouseVoxel; // details of the voxel to be edited - float _mouseVoxelScale; // the scale for adding/removing voxels - bool _mouseVoxelScaleInitialized; - glm::vec3 _lastMouseVoxelPos; // the position of the last mouse voxel edit - bool _justEditedVoxel; // set when we've just added/deleted/colored a voxel - VoxelDetail _highlightVoxel; bool _isHighlightVoxel; - VoxelDetail _nudgeVoxel; // details of the voxel to be nudged - bool _nudgeStarted; - bool _lookingAlongX; - bool _lookingAwayFromOrigin; - glm::vec3 _nudgeGuidePosition; - ChatEntry _chatEntry; // chat entry field bool _chatEntryOn; // Whether to show the chat entry @@ -497,9 +467,6 @@ private: StDev _idleLoopStdev; float _idleLoopMeasuredJitter; - ToolsPalette _palette; - Swatch _swatch; - bool _pasteMode; PieMenu _pieMenu; diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 563d722152..bd9ac9e195 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -65,7 +65,6 @@ Menu::Menu() : _faceshiftEyeDeflection(DEFAULT_FACESHIFT_EYE_DEFLECTION), _frustumDrawMode(FRUSTUM_DRAW_MODE_ALL), _viewFrustumOffset(DEFAULT_FRUSTUM_OFFSET), - _voxelModeActionsGroup(NULL), _voxelStatsDialog(NULL), _lodToolsDialog(NULL), _maxVoxels(DEFAULT_MAX_VOXELS_PER_SYSTEM), @@ -105,10 +104,6 @@ Menu::Menu() : addActionToQMenuAndActionHash(fileMenu, MenuOption::ReloadAllScripts, 0, appInstance, SLOT(reloadAllScripts())); _activeScriptsMenu = fileMenu->addMenu("Running Scripts"); - addDisabledActionAndSeparator(fileMenu, "Voxels"); - addActionToQMenuAndActionHash(fileMenu, MenuOption::ExportVoxels, Qt::CTRL | Qt::Key_E, appInstance, SLOT(exportVoxels())); - addActionToQMenuAndActionHash(fileMenu, MenuOption::ImportVoxels, Qt::CTRL | Qt::Key_I, appInstance, SLOT(importVoxels())); - addDisabledActionAndSeparator(fileMenu, "Go"); addActionToQMenuAndActionHash(fileMenu, MenuOption::GoHome, @@ -153,19 +148,6 @@ Menu::Menu() : SLOT(editPreferences()), QAction::PreferencesRole); - addDisabledActionAndSeparator(editMenu, "Voxels"); - - addActionToQMenuAndActionHash(editMenu, MenuOption::CutVoxels, Qt::CTRL | Qt::Key_X, appInstance, SLOT(cutVoxels())); - addActionToQMenuAndActionHash(editMenu, MenuOption::CopyVoxels, Qt::CTRL | Qt::Key_C, appInstance, SLOT(copyVoxels())); - addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels())); - addActionToQMenuAndActionHash(editMenu, MenuOption::NudgeVoxels, Qt::CTRL | Qt::Key_N, appInstance, SLOT(nudgeVoxels())); - - #ifdef __APPLE__ - addActionToQMenuAndActionHash(editMenu, MenuOption::DeleteVoxels, Qt::Key_Backspace, appInstance, SLOT(deleteVoxels())); - #else - addActionToQMenuAndActionHash(editMenu, MenuOption::DeleteVoxels, Qt::Key_Delete, appInstance, SLOT(deleteVoxels())); - #endif - addDisabledActionAndSeparator(editMenu, "Physics"); addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::Gravity, Qt::SHIFT | Qt::Key_G, false); @@ -175,55 +157,6 @@ Menu::Menu() : addAvatarCollisionSubMenu(editMenu); QMenu* toolsMenu = addMenu("Tools"); - - _voxelModeActionsGroup = new QActionGroup(this); - _voxelModeActionsGroup->setExclusive(false); - - QAction* addVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelAddMode, Qt::Key_V); - _voxelModeActionsGroup->addAction(addVoxelMode); - - QAction* deleteVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelDeleteMode, Qt::Key_R); - _voxelModeActionsGroup->addAction(deleteVoxelMode); - - QAction* colorVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelColorMode, Qt::Key_B); - _voxelModeActionsGroup->addAction(colorVoxelMode); - - QAction* selectVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelSelectMode, Qt::Key_O); - _voxelModeActionsGroup->addAction(selectVoxelMode); - - QAction* getColorMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelGetColorMode, Qt::Key_G); - _voxelModeActionsGroup->addAction(getColorMode); - - - // connect each of the voxel mode actions to the updateVoxelModeActionsSlot - foreach (QAction* action, _voxelModeActionsGroup->actions()) { - connect(action, SIGNAL(triggered()), this, SLOT(updateVoxelModeActions())); - } - - QAction* voxelPaintColor = addActionToQMenuAndActionHash(toolsMenu, - MenuOption::VoxelPaintColor, - Qt::META | Qt::Key_C, - this, - SLOT(chooseVoxelPaintColor())); - - Application::getInstance()->getSwatch()->setAction(voxelPaintColor); - - QColor paintColor(128, 128, 128); - voxelPaintColor->setData(paintColor); - voxelPaintColor->setIcon(Swatch::createIcon(paintColor)); - - addActionToQMenuAndActionHash(toolsMenu, - MenuOption::DecreaseVoxelSize, - QKeySequence::ZoomOut, - appInstance, - SLOT(decreaseVoxelSize())); - addActionToQMenuAndActionHash(toolsMenu, - MenuOption::IncreaseVoxelSize, - QKeySequence::ZoomIn, - appInstance, - SLOT(increaseVoxelSize())); - addActionToQMenuAndActionHash(toolsMenu, MenuOption::ResetSwatchColors, 0, this, SLOT(resetSwatchColors())); - addActionToQMenuAndActionHash(toolsMenu, MenuOption::MetavoxelEditor, 0, this, SLOT(showMetavoxelEditor())); @@ -529,7 +462,6 @@ void Menu::loadSettings(QSettings* settings) { scanMenuBar(&loadAction, settings); Application::getInstance()->getAvatar()->loadData(settings); - Application::getInstance()->getSwatch()->loadData(settings); Application::getInstance()->updateWindowTitle(); NodeList::getInstance()->loadData(settings); @@ -561,7 +493,6 @@ void Menu::saveSettings(QSettings* settings) { scanMenuBar(&saveAction, settings); Application::getInstance()->getAvatar()->saveData(settings); - Application::getInstance()->getSwatch()->saveData(settings); NodeList::getInstance()->saveData(settings); } @@ -751,15 +682,6 @@ QAction* Menu::getActionForOption(const QString& menuOption) { return _actionHash.value(menuOption); } -bool Menu::isVoxelModeActionChecked() { - foreach (QAction* action, _voxelModeActionsGroup->actions()) { - if (action->isChecked()) { - return true; - } - } - return false; -} - void Menu::aboutApp() { InfoView::forcedShow(); } @@ -1254,39 +1176,10 @@ void Menu::cycleFrustumRenderMode() { updateFrustumRenderModeAction(); } -void Menu::updateVoxelModeActions() { - // only the sender can be checked - foreach (QAction* action, _voxelModeActionsGroup->actions()) { - if (action->isChecked() && action != sender()) { - action->setChecked(false); - } - } -} - -void Menu::chooseVoxelPaintColor() { - Application* appInstance = Application::getInstance(); - QAction* paintColor = _actionHash.value(MenuOption::VoxelPaintColor); - - QColor selected = QColorDialog::getColor(paintColor->data().value(), - appInstance->getGLWidget(), - "Voxel Paint Color"); - if (selected.isValid()) { - paintColor->setData(selected); - paintColor->setIcon(Swatch::createIcon(selected)); - } - - // restore the main window's active state - appInstance->getWindow()->activateWindow(); -} - void Menu::runTests() { runTimingTests(); } -void Menu::resetSwatchColors() { - Application::getInstance()->getSwatch()->reset(); -} - void Menu::updateFrustumRenderModeAction() { QAction* frustumRenderModeAction = _actionHash.value(MenuOption::FrustumRenderMode); switch (_frustumDrawMode) { diff --git a/interface/src/Menu.h b/interface/src/Menu.h index ffb2fdaf42..a23b2111de 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -67,7 +67,6 @@ public: void setIsOptionChecked(const QString& menuOption, bool isChecked); void triggerOption(const QString& menuOption); QAction* getActionForOption(const QString& menuOption); - bool isVoxelModeActionChecked(); float getAudioJitterBufferSamples() const { return _audioJitterBufferSamples; } float getFieldOfView() const { return _fieldOfView; } @@ -134,10 +133,7 @@ private slots: void voxelStatsDetailsClosed(); void lodToolsClosed(); void cycleFrustumRenderMode(); - void updateVoxelModeActions(); - void chooseVoxelPaintColor(); void runTests(); - void resetSwatchColors(); void showMetavoxelEditor(); void audioMuteToggled(); @@ -183,7 +179,6 @@ private: float _faceshiftEyeDeflection; FrustumDrawMode _frustumDrawMode; ViewFrustumOffset _viewFrustumOffset; - QActionGroup* _voxelModeActionsGroup; QPointer _MetavoxelEditor; VoxelStatsDialog* _voxelStatsDialog; LodToolsDialog* _lodToolsDialog; @@ -214,14 +209,11 @@ namespace MenuOption { const QString CollideWithParticles = "Collide With Particles"; const QString CollideWithVoxels = "Collide With Voxels"; const QString CollideWithEnvironment = "Collide With World Boundaries"; - const QString CopyVoxels = "Copy"; const QString CoverageMap = "Render Coverage Map"; const QString CoverageMapV2 = "Render Coverage Map V2"; const QString CullSharedFaces = "Cull Shared Voxel Faces"; - const QString CutVoxels = "Cut"; const QString DecreaseAvatarSize = "Decrease Avatar Size"; const QString DecreaseVoxelSize = "Decrease Voxel Size"; - const QString DeleteVoxels = "Delete"; const QString DestructiveAddVoxel = "Create Voxel is Destructive"; const QString DisableColorVoxels = "Disable Colored Voxels"; const QString DisableDeltaSending = "Disable Delta Sending"; @@ -239,7 +231,6 @@ namespace MenuOption { const QString EchoServerAudio = "Echo Server Audio"; const QString EchoLocalAudio = "Echo Local Audio"; const QString MuteAudio = "Mute Microphone"; - const QString ExportVoxels = "Export Voxels"; const QString DontFadeOnVoxelServerChanges = "Don't Fade In/Out on Voxel Server Changes"; const QString HeadMouse = "Head Mouse"; const QString HandsCollideWithSelf = "Collide With Self"; @@ -260,8 +251,6 @@ namespace MenuOption { const QString GoToDomain = "Go To Domain..."; const QString GoToLocation = "Go To Location..."; const QString GoTo = "Go To..."; - const QString ImportVoxels = "Import Voxels"; - const QString ImportVoxelsClipboard = "Import Voxels to Clipboard"; const QString IncreaseAvatarSize = "Increase Avatar Size"; const QString IncreaseVoxelSize = "Increase Voxel Size"; const QString KillLocalVoxels = "Kill Local Voxels"; @@ -277,7 +266,6 @@ namespace MenuOption { const QString Mirror = "Mirror"; const QString MoveWithLean = "Move with Lean"; const QString NewVoxelCullingMode = "New Voxel Culling Mode"; - const QString NudgeVoxels = "Nudge"; const QString OffAxisProjection = "Off-Axis Projection"; const QString OldVoxelCullingMode = "Old Voxel Culling Mode"; const QString TurnWithHead = "Turn using Head"; @@ -286,7 +274,6 @@ namespace MenuOption { const QString Oscilloscope = "Audio Oscilloscope"; const QString Pair = "Pair"; const QString Particles = "Particles"; - const QString PasteVoxels = "Paste"; const QString PasteToVoxel = "Paste to Voxel..."; const QString PipelineWarnings = "Show Render Pipeline Warnings"; const QString PlaySlaps = "Play Slaps"; @@ -296,7 +283,6 @@ namespace MenuOption { const QString RenderSkeletonCollisionProxies = "Skeleton Collision Proxies"; const QString RenderHeadCollisionProxies = "Head Collision Proxies"; const QString ResetAvatarSize = "Reset Avatar Size"; - const QString ResetSwatchColors = "Reset Swatch Colors"; const QString RunTimingTests = "Run Timing Tests"; const QString SettingsImport = "Import Settings"; const QString Shadows = "Shadows"; @@ -315,14 +301,8 @@ namespace MenuOption { const QString UseVoxelShader = "Use Voxel Shader"; const QString VoxelsAsPoints = "Draw Voxels as Points"; const QString Voxels = "Voxels"; - const QString VoxelAddMode = "Add Voxel Mode"; - const QString VoxelColorMode = "Color Voxel Mode"; - const QString VoxelDeleteMode = "Delete Voxel Mode"; const QString VoxelDrumming = "Voxel Drumming"; - const QString VoxelGetColorMode = "Get Color Mode"; const QString VoxelMode = "Cycle Voxel Mode"; - const QString VoxelPaintColor = "Voxel Paint Color"; - const QString VoxelSelectMode = "Select Voxel Mode"; const QString VoxelStats = "Voxel Stats"; const QString VoxelTextures = "Voxel Textures"; } diff --git a/interface/src/Swatch.cpp b/interface/src/Swatch.cpp deleted file mode 100644 index d3d2a2341b..0000000000 --- a/interface/src/Swatch.cpp +++ /dev/null @@ -1,183 +0,0 @@ -// -// Swatch.h -// interface -// -// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. -// - -#include "Swatch.h" -#include - -QIcon Swatch::createIcon(const QColor& color) { - QPixmap map(16, 16); - map.fill(color); - return QIcon(map); -} - - -Swatch::Swatch(QAction* action) : - Tool(action, 0, -1, -1), - _textRenderer(MONO_FONT_FAMILY, 10, 100), - _selected(1) { -} - -void Swatch::reset() { - for (int i = 0; i < 8; ++i) { - _colors[i].setRgb(colorBase[i][0], - colorBase[i][1], - colorBase[i][2]); - } -} - -QColor Swatch::getColor() { - return _colors[_selected - 1]; -} - -void Swatch::checkColor() { - if (_action->data().value() == _colors[_selected - 1]) { - return; - } - - QPixmap map(16, 16); - map.fill(_colors[_selected - 1]); - _action->setData(_colors[_selected - 1]) ; - _action->setIcon(map); -} - -void Swatch::saveData(QSettings* settings) { - settings->beginGroup("Swatch"); - - for (int i(0); i < SWATCH_SIZE; ++i) { - QString rx("R1"), gx("G1"), bx("B1"); - rx[1] = '1' + i; - gx[1] = rx[1]; - bx[1] = rx[1]; - settings->setValue(rx, _colors[i].red()); - settings->setValue(gx, _colors[i].green()); - settings->setValue(bx, _colors[i].blue()); - } - - settings->endGroup(); -} - -void Swatch::loadData(QSettings* settings) { - settings->beginGroup("Swatch"); - - for (int i = 0; i < SWATCH_SIZE; ++i) { - QString rx("R1"), gx("G1"), bx("B1"); - rx[1] = '1' + i; - gx[1] = rx[1]; - bx[1] = rx[1]; - _colors[i].setRgb(settings->value(rx, colorBase[i][0]).toInt(), - settings->value(gx, colorBase[i][1]).toInt(), - settings->value(bx, colorBase[i][2]).toInt()); - } - - settings->endGroup(); - - checkColor(); -} - -void Swatch::handleEvent(int key, bool getColor) { - int next(0); - - switch (key) { - case Qt::Key_1: - next = 1; - break; - case Qt::Key_2: - next = 2; - break; - case Qt::Key_3: - next = 3; - break; - case Qt::Key_4: - next = 4; - break; - case Qt::Key_5: - next = 5; - break; - case Qt::Key_6: - next = 6; - break; - case Qt::Key_7: - next = 7; - break; - case Qt::Key_8: - next = 8; - break; - default: - break; - } - - if (getColor) { - if (_action->data().value() != _colors[_selected - 1]) { - _selected = next; - _colors[_selected - 1] = _action->data().value(); - } - } else { - _selected = next; - QPixmap map(16, 16); - map.fill(_colors[_selected - 1]); - _action->setData(_colors[_selected - 1]) ; - _action->setIcon(map); - } -} - -void Swatch::render(int width, int height) { - char str[2]; - int margin = 0.10f * height; - height = 0.75f * height; - - glBegin(GL_QUADS); - glColor3f(0.0f, 0.0f, 0.0f); - glVertex2f(0, 8 * (height - margin) + margin); - glVertex2f(width, 8 * (height - margin) + margin); - glVertex2f(width, 0); - glVertex2f(0, 0); - glEnd(); - - for (unsigned int i = 0; i < SWATCH_SIZE; ++i) { - glBegin(GL_QUADS); - glColor3f(_colors[i].redF(), - _colors[i].greenF(), - _colors[i].blueF()); - glVertex2f(margin , (i + 1) * (height - margin)); - glVertex2f(width - margin, (i + 1) * (height - margin)); - glVertex2f(width - margin, i * (height - margin) + margin); - glVertex2f(margin , i * (height - margin) + margin); - glEnd(); - - if (_colors[i].lightness() < 50) { - glBegin(GL_LINES); - glColor3f(1.0f, 1.0f, 1.0f); - glVertex2f(margin , (i + 1) * (height - margin)); - glVertex2f(width - margin, (i + 1) * (height - margin)); - - glVertex2f(width - margin, (i + 1) * (height - margin)); - glVertex2f(width - margin, i * (height - margin) + margin); - - glVertex2f(width - margin, i * (height - margin) + margin); - glVertex2f(margin , i * (height - margin) + margin); - - glVertex2f(margin , i * (height - margin) + margin); - glVertex2f(margin , (i + 1) * (height - margin)); - glEnd(); - } else { - glColor3f(0.0f, 0.0f, 0.0f); - } - - if (_selected == i + 1) { - glBegin(GL_TRIANGLES); - glVertex2f(margin , (i + 1) * (height - margin) - margin); - glVertex2f(width/4 - margin, i * (height - margin) + height / 2.0f); - glVertex2f(margin , i * (height - margin) + margin + margin); - glEnd(); - } - - sprintf(str, "%d", i + 1); - _textRenderer.draw(3 * width/4, (i + 1) * (height - margin) - 0.2f * height, str); - } - - glTranslated(0, 8 * (height - margin) + margin + 0.075f * height, 0); -} diff --git a/interface/src/Swatch.h b/interface/src/Swatch.h deleted file mode 100644 index e1245fb4f3..0000000000 --- a/interface/src/Swatch.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// Swatch.h -// interface -// -// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. -// - -#ifndef __interface__Swatch__ -#define __interface__Swatch__ - -#include "Tool.h" -#include "ui/TextRenderer.h" - -static const int SWATCH_SIZE = 8; -static const int colorBase[8][3] = {{237, 175, 0}, - {61, 211, 72}, - {51, 204, 204}, - {63, 169, 245}, - {193, 99, 122}, - {255, 54, 69}, - {124, 36, 36}, - {63, 35, 19}}; - -class Swatch : public Tool { -public: - static QIcon createIcon(const QColor& color); - - Swatch(QAction* action); - - QColor getColor(); - void checkColor(); - void saveData(QSettings* settings); - void loadData(QSettings* settings); - void reset(); - - void render(int width, int height); - void handleEvent(int key, bool getColor); - -private: - TextRenderer _textRenderer; - QColor _colors[SWATCH_SIZE]; - int _selected; -}; - -#endif /* defined(__interface__Swatch__) */ diff --git a/interface/src/Tool.cpp b/interface/src/Tool.cpp deleted file mode 100644 index ccb42381dd..0000000000 --- a/interface/src/Tool.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "Tool.h" - -#include -#include -#include - -Tool::Tool(QAction *action, GLuint texture, int x, int y) : - _action(action), - _texture(texture), - _x(x), - _y(y) { -} - -void Tool::setAction(QAction* action) { - _action = action; -} - -bool Tool::isActive() { - return _action->isChecked(); -} - -void Tool::render(int width, int height) { - glEnable(GL_TEXTURE_2D); - - glBindTexture(GL_TEXTURE_2D, _texture); - - - if (_action == 0 || _action->isChecked()) { - glColor3f(1.0f, 1.0f, 1.0f); // reset gl color - } else { - glColor3f(0.3f, 0.3f, 0.3f); - } - - glBegin(GL_QUADS); - glTexCoord2f( _x / NUM_TOOLS_COLS, 1.0f - (_y + 1) / NUM_TOOLS_ROWS); - glVertex2f(0 , height); - - glTexCoord2f((_x + 1) / NUM_TOOLS_COLS, 1.0f - (_y + 1) / NUM_TOOLS_ROWS); - glVertex2f(width, height); - - glTexCoord2f((_x + 1) / NUM_TOOLS_COLS, 1.0f - _y / NUM_TOOLS_ROWS); - glVertex2f(width, 0); - - glTexCoord2f( _x / NUM_TOOLS_COLS, 1.0f - _y / NUM_TOOLS_ROWS); - glVertex2f(0 , 0); - glEnd(); - - glDisable(GL_TEXTURE_2D); - - glTranslated(0, 1.10f * height, 0); -} diff --git a/interface/src/Tool.h b/interface/src/Tool.h deleted file mode 100644 index f0e1bae4b0..0000000000 --- a/interface/src/Tool.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// Tool.h -// interface -// -// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. -// - -#ifndef __interface__Tool__ -#define __interface__Tool__ - -#include - -#include "InterfaceConfig.h" -#include "Util.h" - -class QAction; - - -// Number of rows and columns in the SVG file for the tool palette -static const int NUM_TOOLS_ROWS = 10; -static const int NUM_TOOLS_COLS = 2; -static const int SWATCHS_TOOLS_COUNT = 13; // 8 swatch + 5 tools - -static const int WIDTH_MIN = 47; // Minimal tools width -static const float TOOLS_RATIO = 40.0f / 60.0f; // ratio height/width of tools icons -static const float PAL_SCREEN_RATIO = 3.0f / 100.0f; // Percentage of the screeen width the palette is going to occupy - -// Swatch popup consts -static const float POPUP_STEP = 0.05f; -static const float POPUP_MARGIN = 10.0f; -static const int POPUP_WIDTH = 280; -static const int POPUP_HEIGHT = 30; -static const int SWATCH_WIDTH = 64; -static const int SWATCH_HEIGHT = 30; -static const int FIRST_LINE_OFFSET = 12; -static const int SECOND_LINE_OFFSET = 28; - -class Tool { -public: - Tool(QAction* action, GLuint texture, int x, int y); - - void setAction(QAction* action); - bool isActive(); - virtual void render(int width, int height); - -protected: - QAction* _action; - GLuint _texture; - - // position in the SVG grid - double _x; - double _y; -}; - -#endif /* defined(__interface__Tool__) */ diff --git a/interface/src/ToolsPalette.cpp b/interface/src/ToolsPalette.cpp deleted file mode 100644 index 58ec12dc92..0000000000 --- a/interface/src/ToolsPalette.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "ToolsPalette.h" - -#include -#include -#include -#include - -void ToolsPalette::init(int screenWidth, int screenHeight) { - _width = (PAL_SCREEN_RATIO * screenWidth < WIDTH_MIN) ? WIDTH_MIN : PAL_SCREEN_RATIO * screenWidth; - _height = TOOLS_RATIO * _width; - - _left = screenWidth / 150; - _top = (screenHeight - SWATCHS_TOOLS_COUNT * _height) / 2; - - // Load SVG - switchToResourcesParentIfRequired(); - QSvgRenderer renderer(QString("./resources/images/hifi-interface-tools.svg")); - - // Prepare a QImage with desired characteritisc - QImage image(NUM_TOOLS_COLS * _width, NUM_TOOLS_ROWS * _height, QImage::Format_ARGB32); - - // Get QPainter that paints to the image - QPainter painter(&image); - renderer.render(&painter); - - //get the OpenGL-friendly image - _textureImage = QGLWidget::convertToGLFormat(image); - - glGenTextures(1, &_textureID); - glBindTexture(GL_TEXTURE_2D, _textureID); - - //generate the texture - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, - _textureImage.width(), - _textureImage.height(), - 0, GL_RGBA, GL_UNSIGNED_BYTE, - _textureImage.bits()); - - //texture parameters - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); -} - - -void ToolsPalette::addAction(QAction* action, int x, int y) { - Tool* tmp = new Tool(action, _textureID, x, y); - _tools.push_back(tmp); -} - -void ToolsPalette::addTool(Tool* tool) { - _tools.push_back(tool); -} - -void ToolsPalette::render(int screenWidth, int screenHeight) { - _width = (PAL_SCREEN_RATIO * screenWidth < WIDTH_MIN) ? WIDTH_MIN : PAL_SCREEN_RATIO * screenWidth; - _height = TOOLS_RATIO * _width; - - _left = screenWidth / 150; - _top = (screenHeight - SWATCHS_TOOLS_COUNT * _height) / 2; - - glPushMatrix(); - glTranslated(_left, _top, 0); - - bool show = false; - for (unsigned int i = 0; i < _tools.size(); ++i) { - if (_tools[i]->isActive()) { - show = true; - break; - } - } - - if (show) { - for (unsigned int i = 0; i < _tools.size(); ++i) { - _tools[i]->render(_width, _height); - } - } - - glPopMatrix(); -} - -bool ToolsPalette::isActive() { - for (unsigned int i = 0; i < _tools.size(); ++i) { - if (_tools[i]->isActive()) { - return true; - } - } - return false; -} diff --git a/interface/src/ToolsPalette.h b/interface/src/ToolsPalette.h deleted file mode 100644 index b6d446f51d..0000000000 --- a/interface/src/ToolsPalette.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// ToolsPalette.h -// interface -// -// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. -// - -#ifndef __interface__ToolsPalette__ -#define __interface__ToolsPalette__ - -#include "Tool.h" -#include "Swatch.h" - -#include - -class ToolsPalette { -public: - void init(int screenWidth, int screenHeight); - void addAction(QAction* action, int x, int y); - void addTool(Tool* tool); - void render(int screenWidth, int screenHeight); - - bool isActive(); - -private: - QImage _textureImage; - GLuint _textureID; - std::vector _tools; - - int _top; - int _left; - - int _width; - int _height; -}; - -#endif /* defined(__interface__ToolsPalette__) */ diff --git a/interface/src/avatar/Hand.cpp b/interface/src/avatar/Hand.cpp index 9c62551b00..8b716c381d 100644 --- a/interface/src/avatar/Hand.cpp +++ b/interface/src/avatar/Hand.cpp @@ -68,7 +68,7 @@ void Hand::simulate(float deltaTime, bool isMine) { if (palm.getControllerButtons() & BUTTON_1) { if (glm::length(fingerTipPosition - _lastFingerAddVoxel) > (FINGERTIP_VOXEL_SIZE / 2.f)) { - QColor paintColor = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor)->data().value(); + QColor paintColor(128,128,128); Application::getInstance()->makeVoxel(fingerTipPosition, FINGERTIP_VOXEL_SIZE, paintColor.red(), From d61ba02a387d07de67aa9e57a37abf78b06f613a Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 25 Feb 2014 21:44:38 -0800 Subject: [PATCH 2/4] removed more cruft --- interface/src/Application.h | 1 - interface/src/Util.cpp | 91 ------------------------------------- interface/src/Util.h | 6 --- 3 files changed, 98 deletions(-) diff --git a/interface/src/Application.h b/interface/src/Application.h index fcb6123eaf..7fbdec6cf8 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -430,7 +430,6 @@ private: float _touchDragStartedAvgY; bool _isTouchPressed; // true if multitouch has been pressed (clear when finished) - //VoxelDetail _mouseVoxelDragging; bool _mousePressed; // true if mouse has been pressed (clear when finished) VoxelDetail _hoverVoxel; // Stuff about the voxel I am hovering or clicking diff --git a/interface/src/Util.cpp b/interface/src/Util.cpp index 183ef116e6..f601618eae 100644 --- a/interface/src/Util.cpp +++ b/interface/src/Util.cpp @@ -419,97 +419,6 @@ void renderCollisionOverlay(int width, int height, float magnitude) { } } -void renderMouseVoxelGrid(const float& mouseVoxelX, const float& mouseVoxelY, const float& mouseVoxelZ, const float& mouseVoxelS) { - glm::vec3 origin = glm::vec3(mouseVoxelX, mouseVoxelY, mouseVoxelZ); - - glLineWidth(3.0); - - const int HALF_GRID_DIMENSIONS = 4; - glBegin(GL_LINES); - - glm::vec3 xColor(0.0, 0.6, 0.0); - glColor3fv(&xColor.x); - - glVertex3f(origin.x + HALF_GRID_DIMENSIONS * mouseVoxelS, 0, origin.z); - glVertex3f(origin.x - HALF_GRID_DIMENSIONS * mouseVoxelS, 0, origin.z); - - glm::vec3 zColor(0.0, 0.0, 0.6); - glColor3fv(&zColor.x); - - glVertex3f(origin.x, 0, origin.z + HALF_GRID_DIMENSIONS * mouseVoxelS); - glVertex3f(origin.x, 0, origin.z - HALF_GRID_DIMENSIONS * mouseVoxelS); - - glm::vec3 yColor(0.6, 0.0, 0.0); - glColor3fv(&yColor.x); - - glVertex3f(origin.x, 0, origin.z); - glVertex3f(origin.x, origin.y, origin.z); - glEnd(); -} - -void renderNudgeGrid(float voxelX, float voxelY, float voxelZ, float voxelS, float voxelPrecision) { - glm::vec3 origin = glm::vec3(voxelX, voxelY, voxelZ); - - glLineWidth(1.0); - - const int GRID_DIMENSIONS = 4; - const int GRID_SCALER = voxelS / voxelPrecision; - const int GRID_SEGMENTS = GRID_DIMENSIONS * GRID_SCALER; - glBegin(GL_LINES); - - for (int xz = - (GRID_SEGMENTS / 2); xz <= GRID_SEGMENTS / 2 + GRID_SCALER; xz++) { - glm::vec3 xColor(0.0, 0.6, 0.0); - glColor3fv(&xColor.x); - - glVertex3f(origin.x + GRID_DIMENSIONS * voxelS, 0, origin.z + xz * voxelPrecision); - glVertex3f(origin.x - (GRID_DIMENSIONS - 1) * voxelS, 0, origin.z + xz * voxelPrecision); - - glm::vec3 zColor(0.0, 0.0, 0.6); - glColor3fv(&zColor.x); - - glVertex3f(origin.x + xz * voxelPrecision, 0, origin.z + GRID_DIMENSIONS * voxelS); - glVertex3f(origin.x + xz * voxelPrecision, 0, origin.z - (GRID_DIMENSIONS - 1) * voxelS); - } - glEnd(); - - glColor3f(1.0f,1.0f,1.0f); - - glBegin(GL_POLYGON);//begin drawing of square - glVertex3f(voxelX, 0.0f, voxelZ);//first vertex - glVertex3f(voxelX + voxelS, 0.0f, voxelZ);//second vertex - glVertex3f(voxelX + voxelS, 0.0f, voxelZ + voxelS);//third vertex - glVertex3f(voxelX, 0.0f, voxelZ + voxelS);//fourth vertex - glEnd();//end drawing of polygon -} - -void renderNudgeGuide(float voxelX, float voxelY, float voxelZ, float voxelS) { - glm::vec3 origin = glm::vec3(voxelX, voxelY, voxelZ); - - glLineWidth(3.0); - - glBegin(GL_LINES); - - glm::vec3 guideColor(1.0, 1.0, 1.0); - glColor3fv(&guideColor.x); - - glVertex3f(origin.x + voxelS, 0, origin.z); - glVertex3f(origin.x, 0, origin.z); - - glVertex3f(origin.x, 0, origin.z); - glVertex3f(origin.x, 0, origin.z + voxelS); - - glVertex3f(origin.x + voxelS, 0, origin.z); - glVertex3f(origin.x + voxelS, 0, origin.z + voxelS); - - glVertex3f(origin.x, 0, origin.z + voxelS); - glVertex3f(origin.x + voxelS, 0, origin.z + voxelS); - - glEnd(); -} - - - - void renderSphereOutline(glm::vec3 position, float radius, int numSides, glm::vec3 cameraPosition) { glm::vec3 vectorToPosition(glm::normalize(position - cameraPosition)); glm::vec3 right = glm::cross(vectorToPosition, glm::vec3(0.0f, 1.0f, 0.0f)); diff --git a/interface/src/Util.h b/interface/src/Util.h index 5710be5f2b..04403aea16 100644 --- a/interface/src/Util.h +++ b/interface/src/Util.h @@ -61,12 +61,6 @@ float extractUniformScale(const glm::vec3& scale); double diffclock(timeval *clock1,timeval *clock2); -void renderMouseVoxelGrid(const float& mouseVoxelX, const float& mouseVoxelY, const float& mouseVoxelZ, const float& mouseVoxelS); - -void renderNudgeGrid(float voxelX, float voxelY, float voxelZ, float voxelS, float voxelPrecision); - -void renderNudgeGuide(float voxelX, float voxelY, float voxelZ, float voxelS); - void renderCollisionOverlay(int width, int height, float magnitude); void renderOrientationDirections( glm::vec3 position, const glm::quat& orientation, float size ); From 5fdf114ff0bffcae643a90c14717afa131be47de Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 25 Feb 2014 21:53:20 -0800 Subject: [PATCH 3/4] removed more cruft --- interface/src/Application.cpp | 5 ----- interface/src/Application.h | 2 -- 2 files changed, 7 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 8af743fd96..6ca467816b 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -149,7 +149,6 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _bytesPerSecond(0), _recentMaxPackets(0), _resetRecentMaxPacketsSoon(true), - _pasteMode(false), _logger(new FileLogger(this)) { switchToResourcesParentIfRequired(); @@ -926,9 +925,6 @@ void Application::keyReleaseEvent(QKeyEvent* event) { } switch (event->key()) { - case Qt::Key_Shift: - _pasteMode = false; - break; case Qt::Key_E: _myAvatar->setDriveKeys(UP, 0); break; @@ -1437,7 +1433,6 @@ void Application::pasteVoxels(const VoxelDetail& sourceVoxel) { if (calculatedOctCode) { delete[] calculatedOctCode; } - _pasteMode = false; } void Application::nudgeVoxelsByVector(const VoxelDetail& sourceVoxel, const glm::vec3& nudgeVec) { diff --git a/interface/src/Application.h b/interface/src/Application.h index 7fbdec6cf8..636e56eaf2 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -466,8 +466,6 @@ private: StDev _idleLoopStdev; float _idleLoopMeasuredJitter; - bool _pasteMode; - PieMenu _pieMenu; int parseOctreeStats(const QByteArray& packet, const SharedNodePointer& sendingNode); From f2b95e0a0037533a7b095294a5f6b2db3611ba94 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 25 Feb 2014 21:54:52 -0800 Subject: [PATCH 4/4] added a comment --- interface/src/avatar/Hand.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/interface/src/avatar/Hand.cpp b/interface/src/avatar/Hand.cpp index 8b716c381d..51f919130b 100644 --- a/interface/src/avatar/Hand.cpp +++ b/interface/src/avatar/Hand.cpp @@ -68,6 +68,7 @@ void Hand::simulate(float deltaTime, bool isMine) { if (palm.getControllerButtons() & BUTTON_1) { if (glm::length(fingerTipPosition - _lastFingerAddVoxel) > (FINGERTIP_VOXEL_SIZE / 2.f)) { + // TODO: we need to move this code to JS so it can access the editVoxels.js color palette QColor paintColor(128,128,128); Application::getInstance()->makeVoxel(fingerTipPosition, FINGERTIP_VOXEL_SIZE,