mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 19:22:57 +02:00
Merge pull request #936 from LionTurtle/master
Change nudge UI to be more consistent with classic editing UI.
This commit is contained in:
commit
5e143f17a8
4 changed files with 64 additions and 53 deletions
|
@ -111,6 +111,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) :
|
||||||
_isHoverVoxelSounding(false),
|
_isHoverVoxelSounding(false),
|
||||||
_mouseVoxelScale(1.0f / 1024.0f),
|
_mouseVoxelScale(1.0f / 1024.0f),
|
||||||
_justEditedVoxel(false),
|
_justEditedVoxel(false),
|
||||||
|
_nudgeStarted(false),
|
||||||
_isLookingAtOtherAvatar(false),
|
_isLookingAtOtherAvatar(false),
|
||||||
_lookatIndicatorScale(1.0f),
|
_lookatIndicatorScale(1.0f),
|
||||||
_perfStatsOn(false),
|
_perfStatsOn(false),
|
||||||
|
@ -128,8 +129,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) :
|
||||||
_bytesPerSecond(0),
|
_bytesPerSecond(0),
|
||||||
_bytesCount(0),
|
_bytesCount(0),
|
||||||
_swatch(NULL),
|
_swatch(NULL),
|
||||||
_pasteMode(false),
|
_pasteMode(false)
|
||||||
_finishedNudge(true)
|
|
||||||
{
|
{
|
||||||
_applicationStartupTime = startup_time;
|
_applicationStartupTime = startup_time;
|
||||||
_window->setWindowTitle("Interface");
|
_window->setWindowTitle("Interface");
|
||||||
|
@ -684,6 +684,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::Voxels);
|
Menu::getInstance()->triggerOption(MenuOption::Voxels);
|
||||||
} else {
|
} else {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::VoxelAddMode);
|
Menu::getInstance()->triggerOption(MenuOption::VoxelAddMode);
|
||||||
|
_nudgeStarted = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Qt::Key_P:
|
case Qt::Key_P:
|
||||||
|
@ -694,23 +695,24 @@ void Application::keyPressEvent(QKeyEvent* event) {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::FrustumRenderMode);
|
Menu::getInstance()->triggerOption(MenuOption::FrustumRenderMode);
|
||||||
} else {
|
} else {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::VoxelDeleteMode);
|
Menu::getInstance()->triggerOption(MenuOption::VoxelDeleteMode);
|
||||||
|
_nudgeStarted = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Qt::Key_B:
|
case Qt::Key_B:
|
||||||
Menu::getInstance()->triggerOption(MenuOption::VoxelColorMode);
|
Menu::getInstance()->triggerOption(MenuOption::VoxelColorMode);
|
||||||
|
_nudgeStarted = false;
|
||||||
break;
|
break;
|
||||||
case Qt::Key_O:
|
case Qt::Key_O:
|
||||||
Menu::getInstance()->triggerOption(MenuOption::VoxelSelectMode);
|
Menu::getInstance()->triggerOption(MenuOption::VoxelSelectMode);
|
||||||
break;
|
_nudgeStarted = false;
|
||||||
case Qt::Key_N:
|
|
||||||
Menu::getInstance()->triggerOption(MenuOption::VoxelNudgeMode);
|
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Slash:
|
case Qt::Key_Slash:
|
||||||
Menu::getInstance()->triggerOption(MenuOption::Stats);
|
Menu::getInstance()->triggerOption(MenuOption::Stats);
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Backspace:
|
case Qt::Key_Backspace:
|
||||||
case Qt::Key_Delete:
|
case Qt::Key_Delete:
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode) ||
|
||||||
|
Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) {
|
||||||
deleteVoxelUnderCursor();
|
deleteVoxelUnderCursor();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -845,14 +847,6 @@ void Application::mousePressEvent(QMouseEvent* event) {
|
||||||
pasteVoxels();
|
pasteVoxels();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
|
||||||
VoxelNode* clickedNode = _voxels.getVoxelAt(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s);
|
|
||||||
if (clickedNode) {
|
|
||||||
_nudgeVoxel = _mouseVoxel;
|
|
||||||
_finishedNudge = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MAKE_SOUND_ON_VOXEL_CLICK && _isHoverVoxel && !_isHoverVoxelSounding) {
|
if (MAKE_SOUND_ON_VOXEL_CLICK && _isHoverVoxel && !_isHoverVoxelSounding) {
|
||||||
_hoverVoxelOriginalColor[0] = _hoverVoxel.red;
|
_hoverVoxelOriginalColor[0] = _hoverVoxel.red;
|
||||||
_hoverVoxelOriginalColor[1] = _hoverVoxel.green;
|
_hoverVoxelOriginalColor[1] = _hoverVoxel.green;
|
||||||
|
@ -1160,11 +1154,11 @@ const glm::vec3 Application::getMouseVoxelWorldCoordinates(const VoxelDetail _mo
|
||||||
(_mouseVoxel.z + _mouseVoxel.s / 2.f) * TREE_SCALE);
|
(_mouseVoxel.z + _mouseVoxel.s / 2.f) * TREE_SCALE);
|
||||||
}
|
}
|
||||||
|
|
||||||
const float NUDGE_PRECISION_LIMIT = 1 / pow(2.0, 12.0);
|
const float NUDGE_PRECISION_MIN = 1 / pow(2.0, 12.0);
|
||||||
|
|
||||||
void Application::decreaseVoxelSize() {
|
void Application::decreaseVoxelSize() {
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
if (_nudgeStarted) {
|
||||||
if (_mouseVoxelScale >= NUDGE_PRECISION_LIMIT) {
|
if (_mouseVoxelScale >= NUDGE_PRECISION_MIN) {
|
||||||
_mouseVoxelScale /= 2;
|
_mouseVoxelScale /= 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1173,8 +1167,14 @@ void Application::decreaseVoxelSize() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::increaseVoxelSize() {
|
void Application::increaseVoxelSize() {
|
||||||
|
if (_nudgeStarted) {
|
||||||
|
if (_mouseVoxelScale < _nudgeVoxel.s) {
|
||||||
_mouseVoxelScale *= 2;
|
_mouseVoxelScale *= 2;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
_mouseVoxelScale *= 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const int MAXIMUM_EDIT_VOXEL_MESSAGE_SIZE = 1500;
|
const int MAXIMUM_EDIT_VOXEL_MESSAGE_SIZE = 1500;
|
||||||
struct SendVoxelsOperationArgs {
|
struct SendVoxelsOperationArgs {
|
||||||
|
@ -1300,7 +1300,11 @@ void Application::pasteVoxels() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::nudgeVoxels() {
|
void Application::nudgeVoxels() {
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) {
|
||||||
|
if (!_nudgeStarted) {
|
||||||
|
_nudgeVoxel = _mouseVoxel;
|
||||||
|
_nudgeStarted = true;
|
||||||
|
} else {
|
||||||
// calculate nudgeVec
|
// calculate nudgeVec
|
||||||
glm::vec3 nudgeVec(_mouseVoxel.x - _nudgeVoxel.x, _mouseVoxel.y - _nudgeVoxel.y, _mouseVoxel.z - _nudgeVoxel.z);
|
glm::vec3 nudgeVec(_mouseVoxel.x - _nudgeVoxel.x, _mouseVoxel.y - _nudgeVoxel.y, _mouseVoxel.z - _nudgeVoxel.z);
|
||||||
|
|
||||||
|
@ -1308,10 +1312,15 @@ void Application::nudgeVoxels() {
|
||||||
|
|
||||||
if (nodeToNudge) {
|
if (nodeToNudge) {
|
||||||
_voxels.getTree()->nudgeSubTree(nodeToNudge, nudgeVec, _voxelEditSender);
|
_voxels.getTree()->nudgeSubTree(nodeToNudge, nudgeVec, _voxelEditSender);
|
||||||
_finishedNudge = true;
|
_nudgeStarted = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::deleteVoxels() {
|
||||||
|
deleteVoxelUnderCursor();
|
||||||
|
}
|
||||||
|
|
||||||
void Application::setListenModeNormal() {
|
void Application::setListenModeNormal() {
|
||||||
_audio.setListenMode(AudioRingBuffer::NORMAL);
|
_audio.setListenMode(AudioRingBuffer::NORMAL);
|
||||||
|
@ -1409,7 +1418,6 @@ void Application::init() {
|
||||||
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelColorMode), 0, 2);
|
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelColorMode), 0, 2);
|
||||||
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelGetColorMode), 0, 3);
|
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelGetColorMode), 0, 3);
|
||||||
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelSelectMode), 0, 4);
|
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelSelectMode), 0, 4);
|
||||||
_palette.addAction(Menu::getInstance()->getActionForOption(MenuOption::VoxelNudgeMode), 0, 5);
|
|
||||||
|
|
||||||
_pieMenu.init("./resources/images/hifi-interface-tools-v2-pie.svg",
|
_pieMenu.init("./resources/images/hifi-interface-tools-v2-pie.svg",
|
||||||
_glWidget->width(),
|
_glWidget->width(),
|
||||||
|
@ -1685,8 +1693,7 @@ void Application::update(float deltaTime) {
|
||||||
_mouseVoxel.s = 0.0f;
|
_mouseVoxel.s = 0.0f;
|
||||||
}
|
}
|
||||||
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode)
|
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelAddMode)
|
||||||
|| Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)
|
|| Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) {
|
||||||
|| Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
|
||||||
// place the voxel a fixed distance away
|
// place the voxel a fixed distance away
|
||||||
float worldMouseVoxelScale = _mouseVoxelScale * TREE_SCALE;
|
float worldMouseVoxelScale = _mouseVoxelScale * TREE_SCALE;
|
||||||
glm::vec3 pt = mouseRayOrigin + mouseRayDirection * (2.0f + worldMouseVoxelScale * 0.5f);
|
glm::vec3 pt = mouseRayOrigin + mouseRayDirection * (2.0f + worldMouseVoxelScale * 0.5f);
|
||||||
|
@ -1701,11 +1708,13 @@ void Application::update(float deltaTime) {
|
||||||
_mouseVoxel.red = 255;
|
_mouseVoxel.red = 255;
|
||||||
_mouseVoxel.green = _mouseVoxel.blue = 0;
|
_mouseVoxel.green = _mouseVoxel.blue = 0;
|
||||||
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) {
|
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelSelectMode)) {
|
||||||
|
if (_nudgeStarted) {
|
||||||
|
_mouseVoxel.red = _mouseVoxel.green = _mouseVoxel.blue = 255;
|
||||||
|
} else {
|
||||||
// yellow indicates selection
|
// yellow indicates selection
|
||||||
_mouseVoxel.red = _mouseVoxel.green = 255;
|
_mouseVoxel.red = _mouseVoxel.green = 255;
|
||||||
_mouseVoxel.blue = 0;
|
_mouseVoxel.blue = 0;
|
||||||
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
}
|
||||||
_mouseVoxel.red = _mouseVoxel.green = _mouseVoxel.blue = 255;
|
|
||||||
} else { // _addVoxelMode->isChecked() || _colorVoxelMode->isChecked()
|
} else { // _addVoxelMode->isChecked() || _colorVoxelMode->isChecked()
|
||||||
QColor paintColor = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor)->data().value<QColor>();
|
QColor paintColor = Menu::getInstance()->getActionForOption(MenuOption::VoxelPaintColor)->data().value<QColor>();
|
||||||
_mouseVoxel.red = paintColor.red();
|
_mouseVoxel.red = paintColor.red();
|
||||||
|
@ -2300,8 +2309,7 @@ void Application::displaySide(Camera& whichCamera) {
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glScalef(TREE_SCALE, TREE_SCALE, TREE_SCALE);
|
glScalef(TREE_SCALE, TREE_SCALE, TREE_SCALE);
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
if (_nudgeStarted) {
|
||||||
if (!_finishedNudge) {
|
|
||||||
renderNudgeGuide(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _nudgeVoxel.s);
|
renderNudgeGuide(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _nudgeVoxel.s);
|
||||||
renderNudgeGrid(_nudgeVoxel.x, _nudgeVoxel.y, _nudgeVoxel.z, _nudgeVoxel.s, _mouseVoxel.s);
|
renderNudgeGrid(_nudgeVoxel.x, _nudgeVoxel.y, _nudgeVoxel.z, _nudgeVoxel.s, _mouseVoxel.s);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
@ -2312,7 +2320,6 @@ void Application::displaySide(Camera& whichCamera) {
|
||||||
glLineWidth(4.0f);
|
glLineWidth(4.0f);
|
||||||
glutWireCube(_nudgeVoxel.s);
|
glutWireCube(_nudgeVoxel.s);
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
renderMouseVoxelGrid(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s);
|
renderMouseVoxelGrid(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s);
|
||||||
}
|
}
|
||||||
|
@ -2324,7 +2331,7 @@ void Application::displaySide(Camera& whichCamera) {
|
||||||
glColor3ub(_mouseVoxel.red, _mouseVoxel.green, _mouseVoxel.blue);
|
glColor3ub(_mouseVoxel.red, _mouseVoxel.green, _mouseVoxel.blue);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VoxelNudgeMode)) {
|
if (_nudgeStarted) {
|
||||||
glTranslatef(_mouseVoxel.x + _nudgeVoxel.s*0.5f,
|
glTranslatef(_mouseVoxel.x + _nudgeVoxel.s*0.5f,
|
||||||
_mouseVoxel.y + _nudgeVoxel.s*0.5f,
|
_mouseVoxel.y + _nudgeVoxel.s*0.5f,
|
||||||
_mouseVoxel.z + _nudgeVoxel.s*0.5f);
|
_mouseVoxel.z + _nudgeVoxel.s*0.5f);
|
||||||
|
|
|
@ -151,6 +151,7 @@ public slots:
|
||||||
void copyVoxels();
|
void copyVoxels();
|
||||||
void pasteVoxels();
|
void pasteVoxels();
|
||||||
void nudgeVoxels();
|
void nudgeVoxels();
|
||||||
|
void deleteVoxels();
|
||||||
|
|
||||||
void setRenderVoxels(bool renderVoxels);
|
void setRenderVoxels(bool renderVoxels);
|
||||||
void doKillLocalVoxels();
|
void doKillLocalVoxels();
|
||||||
|
@ -308,6 +309,7 @@ private:
|
||||||
bool _justEditedVoxel; // set when we've just added/deleted/colored a voxel
|
bool _justEditedVoxel; // set when we've just added/deleted/colored a voxel
|
||||||
|
|
||||||
VoxelDetail _nudgeVoxel; // details of the voxel to be nudged
|
VoxelDetail _nudgeVoxel; // details of the voxel to be nudged
|
||||||
|
bool _nudgeStarted;
|
||||||
|
|
||||||
bool _isLookingAtOtherAvatar;
|
bool _isLookingAtOtherAvatar;
|
||||||
glm::vec3 _lookatOtherPosition;
|
glm::vec3 _lookatOtherPosition;
|
||||||
|
@ -361,7 +363,6 @@ private:
|
||||||
Swatch _swatch;
|
Swatch _swatch;
|
||||||
|
|
||||||
bool _pasteMode;
|
bool _pasteMode;
|
||||||
bool _finishedNudge;
|
|
||||||
|
|
||||||
PieMenu _pieMenu;
|
PieMenu _pieMenu;
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,12 @@ Menu::Menu() :
|
||||||
addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels()));
|
addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels()));
|
||||||
addActionToQMenuAndActionHash(editMenu, MenuOption::NudgeVoxels, Qt::CTRL | Qt::Key_N, appInstance, SLOT(nudgeVoxels()));
|
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");
|
addDisabledActionAndSeparator(editMenu, "Physics");
|
||||||
addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::Gravity, Qt::SHIFT | Qt::Key_G, true);
|
addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::Gravity, Qt::SHIFT | Qt::Key_G, true);
|
||||||
addCheckableActionToQMenuAndActionHash(editMenu,
|
addCheckableActionToQMenuAndActionHash(editMenu,
|
||||||
|
@ -133,9 +139,6 @@ Menu::Menu() :
|
||||||
QAction* colorVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelColorMode, Qt::Key_B);
|
QAction* colorVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelColorMode, Qt::Key_B);
|
||||||
_voxelModeActionsGroup->addAction(colorVoxelMode);
|
_voxelModeActionsGroup->addAction(colorVoxelMode);
|
||||||
|
|
||||||
QAction* nudgeVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelNudgeMode, Qt::Key_N);
|
|
||||||
_voxelModeActionsGroup->addAction(nudgeVoxelMode);
|
|
||||||
|
|
||||||
QAction* selectVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelSelectMode, Qt::Key_O);
|
QAction* selectVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelSelectMode, Qt::Key_O);
|
||||||
_voxelModeActionsGroup->addAction(selectVoxelMode);
|
_voxelModeActionsGroup->addAction(selectVoxelMode);
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,7 @@ namespace MenuOption {
|
||||||
const QString CutVoxels = "Cut";
|
const QString CutVoxels = "Cut";
|
||||||
const QString DecreaseAvatarSize = "Decrease Avatar Size";
|
const QString DecreaseAvatarSize = "Decrease Avatar Size";
|
||||||
const QString DecreaseVoxelSize = "Decrease Voxel Size";
|
const QString DecreaseVoxelSize = "Decrease Voxel Size";
|
||||||
|
const QString DeleteVoxels = "Delete";
|
||||||
const QString DestructiveAddVoxel = "Create Voxel is Destructive";
|
const QString DestructiveAddVoxel = "Create Voxel is Destructive";
|
||||||
const QString DeltaSending = "Delta Sending";
|
const QString DeltaSending = "Delta Sending";
|
||||||
const QString DisplayFrustum = "Display Frustum";
|
const QString DisplayFrustum = "Display Frustum";
|
||||||
|
@ -169,7 +170,7 @@ namespace MenuOption {
|
||||||
const QString LookAtVectors = "Look-at Vectors";
|
const QString LookAtVectors = "Look-at Vectors";
|
||||||
const QString LowRes = "Lower Resolution While Moving";
|
const QString LowRes = "Lower Resolution While Moving";
|
||||||
const QString Mirror = "Mirror";
|
const QString Mirror = "Mirror";
|
||||||
const QString NudgeVoxels = "Nudge Voxels";
|
const QString NudgeVoxels = "Nudge";
|
||||||
const QString OcclusionCulling = "Occlusion Culling";
|
const QString OcclusionCulling = "Occlusion Culling";
|
||||||
const QString OffAxisProjection = "Off-Axis Projection";
|
const QString OffAxisProjection = "Off-Axis Projection";
|
||||||
const QString Oscilloscope = "Audio Oscilloscope";
|
const QString Oscilloscope = "Audio Oscilloscope";
|
||||||
|
@ -205,7 +206,6 @@ namespace MenuOption {
|
||||||
const QString VoxelGetColorMode = "Get Color Mode";
|
const QString VoxelGetColorMode = "Get Color Mode";
|
||||||
const QString VoxelMode = "Cycle Voxel Mode";
|
const QString VoxelMode = "Cycle Voxel Mode";
|
||||||
const QString VoxelPaintColor = "Voxel Paint Color";
|
const QString VoxelPaintColor = "Voxel Paint Color";
|
||||||
const QString VoxelNudgeMode = "Nudge Voxel Mode";
|
|
||||||
const QString VoxelSelectMode = "Select Voxel Mode";
|
const QString VoxelSelectMode = "Select Voxel Mode";
|
||||||
const QString VoxelStats = "Voxel Stats";
|
const QString VoxelStats = "Voxel Stats";
|
||||||
const QString VoxelTextures = "Voxel Textures";
|
const QString VoxelTextures = "Voxel Textures";
|
||||||
|
|
Loading…
Reference in a new issue