Merge branch 'master' into tony/grab-script-hand-animation

This commit is contained in:
Anthony J. Thibault 2016-01-11 10:16:51 -08:00
commit 8f78a0624c
10 changed files with 108 additions and 165 deletions

View file

@ -13,6 +13,12 @@
SpatiallyNestableWeakPointer AssignmentParentFinder::find(QUuid parentID, bool& success) const { SpatiallyNestableWeakPointer AssignmentParentFinder::find(QUuid parentID, bool& success) const {
SpatiallyNestableWeakPointer parent; SpatiallyNestableWeakPointer parent;
if (parentID.isNull()) {
success = true;
return parent;
}
// search entities // search entities
parent = _tree->findEntityByEntityItemID(parentID); parent = _tree->findEntityByEntityItemID(parentID);
if (parent.expired()) { if (parent.expired()) {

View file

@ -1026,9 +1026,8 @@ function setupModelMenus() {
// adj our menuitems // adj our menuitems
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "Edit", menuName: "Edit",
menuItemName: "Models", menuItemName: "Entities",
isSeparator: true, isSeparator: true,
beforeItem: "Physics",
grouping: "Advanced" grouping: "Advanced"
}); });
if (!Menu.menuItemExists("Edit", "Delete")) { if (!Menu.menuItemExists("Edit", "Delete")) {
@ -1039,7 +1038,7 @@ function setupModelMenus() {
shortcutKeyEvent: { shortcutKeyEvent: {
text: "backspace" text: "backspace"
}, },
afterItem: "Models", afterItem: "Entities",
grouping: "Advanced" grouping: "Advanced"
}); });
modelMenuAddedDelete = true; modelMenuAddedDelete = true;
@ -1051,7 +1050,7 @@ function setupModelMenus() {
menuName: "Edit", menuName: "Edit",
menuItemName: "Entity List...", menuItemName: "Entity List...",
shortcutKey: "CTRL+META+L", shortcutKey: "CTRL+META+L",
afterItem: "Models", afterItem: "Entities",
grouping: "Advanced" grouping: "Advanced"
}); });
Menu.addMenuItem({ Menu.addMenuItem({
@ -1096,28 +1095,21 @@ function setupModelMenus() {
}); });
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "File", menuName: "Edit",
menuItemName: "Models",
isSeparator: true,
beforeItem: "Settings",
grouping: "Advanced"
});
Menu.addMenuItem({
menuName: "File",
menuItemName: "Export Entities", menuItemName: "Export Entities",
shortcutKey: "CTRL+META+E", shortcutKey: "CTRL+META+E",
afterItem: "Models", afterItem: "Entities",
grouping: "Advanced" grouping: "Advanced"
}); });
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "File", menuName: "Edit",
menuItemName: "Import Entities", menuItemName: "Import Entities",
shortcutKey: "CTRL+META+I", shortcutKey: "CTRL+META+I",
afterItem: "Export Entities", afterItem: "Export Entities",
grouping: "Advanced" grouping: "Advanced"
}); });
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "File", menuName: "Edit",
menuItemName: "Import Entities from URL", menuItemName: "Import Entities from URL",
shortcutKey: "CTRL+META+U", shortcutKey: "CTRL+META+U",
afterItem: "Import Entities", afterItem: "Import Entities",
@ -1162,7 +1154,7 @@ function setupModelMenus() {
setupModelMenus(); // do this when first running our script. setupModelMenus(); // do this when first running our script.
function cleanupModelMenus() { function cleanupModelMenus() {
Menu.removeSeparator("Edit", "Models"); Menu.removeSeparator("Edit", "Entities");
if (modelMenuAddedDelete) { if (modelMenuAddedDelete) {
// delete our menuitems // delete our menuitems
Menu.removeMenuItem("Edit", "Delete"); Menu.removeMenuItem("Edit", "Delete");
@ -1175,10 +1167,9 @@ function cleanupModelMenus() {
Menu.removeMenuItem("Edit", "Select All Entities In Box"); Menu.removeMenuItem("Edit", "Select All Entities In Box");
Menu.removeMenuItem("Edit", "Select All Entities Touching Box"); Menu.removeMenuItem("Edit", "Select All Entities Touching Box");
Menu.removeSeparator("File", "Models"); Menu.removeMenuItem("Edit", "Export Entities");
Menu.removeMenuItem("File", "Export Entities"); Menu.removeMenuItem("Edit", "Import Entities");
Menu.removeMenuItem("File", "Import Entities"); Menu.removeMenuItem("Edit", "Import Entities from URL");
Menu.removeMenuItem("File", "Import Entities from URL");
Menu.removeMenuItem("Edit", MENU_AUTO_FOCUS_ON_SELECT); Menu.removeMenuItem("Edit", MENU_AUTO_FOCUS_ON_SELECT);
Menu.removeMenuItem("Edit", MENU_EASE_ON_FOCUS); Menu.removeMenuItem("Edit", MENU_EASE_ON_FOCUS);

View file

@ -48,8 +48,8 @@ var selectedInputMenu = "";
var selectedOutputMenu = ""; var selectedOutputMenu = "";
function setupAudioMenus() { function setupAudioMenus() {
Menu.addMenu("Tools > Audio"); Menu.addMenu("Audio > Devices", "Advanced");
Menu.addSeparator("Tools > Audio","Output Audio Device"); Menu.addSeparator("Audio > Devices","Output Audio Device");
var outputDeviceSetting = Settings.getValue(OUTPUT_DEVICE_SETTING); var outputDeviceSetting = Settings.getValue(OUTPUT_DEVICE_SETTING);
var outputDevices = AudioDevice.getOutputDevices(); var outputDevices = AudioDevice.getOutputDevices();
@ -63,7 +63,7 @@ function setupAudioMenus() {
var thisDeviceSelected = (outputDevices[i] == selectedOutputDevice); var thisDeviceSelected = (outputDevices[i] == selectedOutputDevice);
var menuItem = "Use " + outputDevices[i] + " for Output"; var menuItem = "Use " + outputDevices[i] + " for Output";
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "Tools > Audio", menuName: "Audio > Devices",
menuItemName: menuItem, menuItemName: menuItem,
isCheckable: true, isCheckable: true,
isChecked: thisDeviceSelected isChecked: thisDeviceSelected
@ -73,7 +73,7 @@ function setupAudioMenus() {
} }
} }
Menu.addSeparator("Tools > Audio","Input Audio Device"); Menu.addSeparator("Audio > Devices","Input Audio Device");
var inputDeviceSetting = Settings.getValue(INPUT_DEVICE_SETTING); var inputDeviceSetting = Settings.getValue(INPUT_DEVICE_SETTING);
var inputDevices = AudioDevice.getInputDevices(); var inputDevices = AudioDevice.getInputDevices();
@ -87,7 +87,7 @@ function setupAudioMenus() {
var thisDeviceSelected = (inputDevices[i] == selectedInputDevice); var thisDeviceSelected = (inputDevices[i] == selectedInputDevice);
var menuItem = "Use " + inputDevices[i] + " for Input"; var menuItem = "Use " + inputDevices[i] + " for Input";
Menu.addMenuItem({ Menu.addMenuItem({
menuName: "Tools > Audio", menuName: "Audio > Devices",
menuItemName: menuItem, menuItemName: menuItem,
isCheckable: true, isCheckable: true,
isChecked: thisDeviceSelected isChecked: thisDeviceSelected
@ -99,7 +99,7 @@ function setupAudioMenus() {
} }
function onDevicechanged() { function onDevicechanged() {
Menu.removeMenu("Tools > Audio"); Menu.removeMenu("Audio > Devices");
setupAudioMenus(); setupAudioMenus();
} }
@ -110,7 +110,7 @@ Script.setTimeout(function () {
}, 5000); }, 5000);
function scriptEnding() { function scriptEnding() {
Menu.removeMenu("Tools > Audio"); Menu.removeMenu("Audio > Devices");
} }
Script.scriptEnding.connect(scriptEnding); Script.scriptEnding.connect(scriptEnding);

View file

@ -1,4 +1,4 @@
<!-- Copyright 2015 High Fidelity, Inc. --> <!-- Copyright 2015 High Fidelity, Inc. -->
<html> <html>
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
@ -14,7 +14,7 @@
body { body {
background: white; background: white;
width: 839px; width: 100%;
overflow-x: hidden; overflow-x: hidden;
} }
@ -181,7 +181,7 @@
function overrideBodyWidth() { function overrideBodyWidth() {
document.body.style.width = "100%"; document.body.style.width = "100%";
<!-- Force reset layout after body resized--> <!-- Force reset layout after body resized-->
container.style.width = "0"; <!-- container.style.width = "0"; -->
} }
//]]></script> //]]></script>

View file

@ -51,6 +51,16 @@ Hifi.VrMenu {
VrMenuView { VrMenuView {
property int menuDepth: root.models.length - 1 property int menuDepth: root.models.length - 1
model: root.models[menuDepth] model: root.models[menuDepth]
function fit(position, size, maxposition) {
var padding = 8;
if (position < padding) {
position = padding;
} else if (position + size + padding > maxposition) {
position = maxposition - (size + padding);
}
return position;
}
Component.onCompleted: { Component.onCompleted: {
if (menuDepth === 0) { if (menuDepth === 0) {
@ -61,6 +71,8 @@ Hifi.VrMenu {
x = lastColumn.x + 64; x = lastColumn.x + 64;
y = lastMousePosition.y - height / 2; y = lastMousePosition.y - height / 2;
} }
x = fit(x, width, parent.width);
y = fit(y, height, parent.height);
} }
onSelected: { onSelected: {

View file

@ -57,9 +57,6 @@ Menu::Menu() {
// File/Application menu ---------------------------------- // File/Application menu ----------------------------------
MenuWrapper* fileMenu = addMenu("File"); MenuWrapper* fileMenu = addMenu("File");
// File > Quit
addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp,SLOT(quit()), QAction::QuitRole);
// File > Login menu items // File > Login menu items
{ {
addActionToQMenuAndActionHash(fileMenu, MenuOption::Login); addActionToQMenuAndActionHash(fileMenu, MenuOption::Login);
@ -85,6 +82,68 @@ Menu::Menu() {
// File > About // File > About
addActionToQMenuAndActionHash(fileMenu, MenuOption::AboutApp, 0, qApp, SLOT(aboutApp()), QAction::AboutRole); addActionToQMenuAndActionHash(fileMenu, MenuOption::AboutApp, 0, qApp, SLOT(aboutApp()), QAction::AboutRole);
// File > Quit
addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole);
// Edit menu ----------------------------------
MenuWrapper* editMenu = addMenu("Edit");
// Edit > Undo
QUndoStack* undoStack = qApp->getUndoStack();
QAction* undoAction = undoStack->createUndoAction(editMenu);
undoAction->setShortcut(Qt::CTRL | Qt::Key_Z);
addActionToQMenuAndActionHash(editMenu, undoAction);
// Edit > Redo
QAction* redoAction = undoStack->createRedoAction(editMenu);
redoAction->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_Z);
addActionToQMenuAndActionHash(editMenu, redoAction);
// Edit > Running Sccripts
addActionToQMenuAndActionHash(editMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J,
qApp, SLOT(toggleRunningScriptsWidget()));
// Edit > Open and Run Script from File... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::LoadScript, Qt::CTRL | Qt::Key_O,
qApp, SLOT(loadDialog()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Open and Run Script from Url... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::LoadScriptURL,
Qt::CTRL | Qt::SHIFT | Qt::Key_O, qApp, SLOT(loadScriptURLDialog()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Stop All Scripts... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::StopAllScripts, 0, qApp, SLOT(stopAllScripts()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Reload All Scripts... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadAllScripts, Qt::CTRL | Qt::Key_R,
qApp, SLOT(reloadAllScripts()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Scripts Editor... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ScriptEditor, Qt::ALT | Qt::Key_S,
dialogsManager.data(), SLOT(showScriptEditor()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Console... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::Console, Qt::CTRL | Qt::ALT | Qt::Key_J,
DependencyManager::get<StandAloneJSConsole>().data(),
SLOT(toggleConsole()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Reload All Content [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Package Model... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::PackageModel, 0,
qApp, SLOT(packageModel()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Audio menu ---------------------------------- // Audio menu ----------------------------------
MenuWrapper* audioMenu = addMenu("Audio"); MenuWrapper* audioMenu = addMenu("Audio");
@ -186,65 +245,6 @@ Menu::Menu() {
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MiniMirror, 0, false); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MiniMirror, 0, false);
// Edit menu ----------------------------------
MenuWrapper* editMenu = addMenu("Edit");
// Edit > Undo
QUndoStack* undoStack = qApp->getUndoStack();
QAction* undoAction = undoStack->createUndoAction(editMenu);
undoAction->setShortcut(Qt::CTRL | Qt::Key_Z);
addActionToQMenuAndActionHash(editMenu, undoAction);
// Edit > Redo
QAction* redoAction = undoStack->createRedoAction(editMenu);
redoAction->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_Z);
addActionToQMenuAndActionHash(editMenu, redoAction);
// Edit > Running Sccripts
addActionToQMenuAndActionHash(editMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J,
qApp, SLOT(toggleRunningScriptsWidget()));
// Edit > Open and Run Script from File... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::LoadScript, Qt::CTRL | Qt::Key_O,
qApp, SLOT(loadDialog()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Open and Run Script from Url... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::LoadScriptURL,
Qt::CTRL | Qt::SHIFT | Qt::Key_O, qApp, SLOT(loadScriptURLDialog()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Stop All Scripts... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::StopAllScripts, 0, qApp, SLOT(stopAllScripts()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Reload All Scripts... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadAllScripts, Qt::CTRL | Qt::Key_R,
qApp, SLOT(reloadAllScripts()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Scripts Editor... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ScriptEditor, Qt::ALT | Qt::Key_S,
dialogsManager.data(), SLOT(showScriptEditor()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Console... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::Console, Qt::CTRL | Qt::ALT | Qt::Key_J,
DependencyManager::get<StandAloneJSConsole>().data(),
SLOT(toggleConsole()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Reload All Content [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Edit > Package Model... [advanced]
addActionToQMenuAndActionHash(editMenu, MenuOption::PackageModel, 0,
qApp, SLOT(packageModel()),
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Navigate menu ---------------------------------- // Navigate menu ----------------------------------
MenuWrapper* navigateMenu = addMenu("Navigate"); MenuWrapper* navigateMenu = addMenu("Navigate");
@ -273,14 +273,6 @@ Menu::Menu() {
QAction::NoRole, UNSPECIFIED_POSITION, "Advanced"); QAction::NoRole, UNSPECIFIED_POSITION, "Advanced");
// Market menu ----------------------------------
MenuWrapper* marketMenu = addMenu("Market");
// Market > Marketplace... -- FIXME: needs implementation
auto marketplaceAction = addActionToQMenuAndActionHash(marketMenu, "Marketplace...");
marketplaceAction->setDisabled(true);
// Settings menu ---------------------------------- // Settings menu ----------------------------------
MenuWrapper* settingsMenu = addMenu("Settings"); MenuWrapper* settingsMenu = addMenu("Settings");

View file

@ -27,8 +27,8 @@ void MenuScriptingInterface::menuItemTriggered() {
} }
} }
void MenuScriptingInterface::addMenu(const QString& menu) { void MenuScriptingInterface::addMenu(const QString& menu, const QString& grouping) {
QMetaObject::invokeMethod(Menu::getInstance(), "addMenu", Q_ARG(const QString&, menu)); QMetaObject::invokeMethod(Menu::getInstance(), "addMenu", Q_ARG(const QString&, menu), Q_ARG(const QString&, grouping));
} }
void MenuScriptingInterface::removeMenu(const QString& menu) { void MenuScriptingInterface::removeMenu(const QString& menu) {

View file

@ -28,7 +28,7 @@ private slots:
void menuItemTriggered(); void menuItemTriggered();
public slots: public slots:
void addMenu(const QString& menuName); void addMenu(const QString& menuName, const QString& grouping = QString());
void removeMenu(const QString& menuName); void removeMenu(const QString& menuName);
bool menuExists(const QString& menuName); bool menuExists(const QString& menuName);

View file

@ -18,13 +18,6 @@
const QString Basic2DWindowOpenGLDisplayPlugin::NAME("2D Display"); const QString Basic2DWindowOpenGLDisplayPlugin::NAME("2D Display");
static const QString FULLSCREEN = "Fullscreen"; static const QString FULLSCREEN = "Fullscreen";
static const QString FRAMERATE = DisplayPlugin::MENU_PATH() + ">Framerate";
static const QString FRAMERATE_UNLIMITED = "Unlimited";
static const QString FRAMERATE_60 = "60";
static const QString FRAMERATE_50 = "50";
static const QString FRAMERATE_40 = "40";
static const QString FRAMERATE_30 = "30";
static const QString VSYNC_ON = "V-Sync On";
const QString& Basic2DWindowOpenGLDisplayPlugin::getName() const { const QString& Basic2DWindowOpenGLDisplayPlugin::getName() const {
return NAME; return NAME;
@ -42,38 +35,12 @@ void Basic2DWindowOpenGLDisplayPlugin::activate() {
_container->unsetFullscreen(); _container->unsetFullscreen();
} }
}, true, false); }, true, false);
_container->addMenu(FRAMERATE);
_framerateActions.push_back(
_container->addMenuItem(PluginType::DISPLAY_PLUGIN, FRAMERATE, FRAMERATE_UNLIMITED,
[this](bool) { updateFramerate(); }, true, true, FRAMERATE));
_framerateActions.push_back(
_container->addMenuItem(PluginType::DISPLAY_PLUGIN, FRAMERATE, FRAMERATE_60,
[this](bool) { updateFramerate(); }, true, false, FRAMERATE));
_framerateActions.push_back(
_container->addMenuItem(PluginType::DISPLAY_PLUGIN, FRAMERATE, FRAMERATE_50,
[this](bool) { updateFramerate(); }, true, false, FRAMERATE));
_framerateActions.push_back(
_container->addMenuItem(PluginType::DISPLAY_PLUGIN, FRAMERATE, FRAMERATE_40,
[this](bool) { updateFramerate(); }, true, false, FRAMERATE));
_framerateActions.push_back(
_container->addMenuItem(PluginType::DISPLAY_PLUGIN, FRAMERATE, FRAMERATE_30,
[this](bool) { updateFramerate(); }, true, false, FRAMERATE));
// Vsync detection happens in the parent class activate, so we need to check after that
if (_vsyncSupported) {
_vsyncAction = _container->addMenuItem(PluginType::DISPLAY_PLUGIN, MENU_PATH(), VSYNC_ON, [this](bool) {}, true, true);
} else {
_vsyncAction = nullptr;
}
updateFramerate(); updateFramerate();
} }
void Basic2DWindowOpenGLDisplayPlugin::submitSceneTexture(uint32_t frameIndex, uint32_t sceneTexture, const glm::uvec2& sceneSize) { void Basic2DWindowOpenGLDisplayPlugin::submitSceneTexture(uint32_t frameIndex, uint32_t sceneTexture, const glm::uvec2& sceneSize) {
if (_vsyncAction) { _wantVsync = true; // always
_wantVsync = _vsyncAction->isChecked();
}
WindowOpenGLDisplayPlugin::submitSceneTexture(frameIndex, sceneTexture, sceneSize); WindowOpenGLDisplayPlugin::submitSceneTexture(frameIndex, sceneTexture, sceneSize);
} }
@ -87,9 +54,7 @@ const uint32_t THROTTLED_FRAMERATE = 15;
int Basic2DWindowOpenGLDisplayPlugin::getDesiredInterval() const { int Basic2DWindowOpenGLDisplayPlugin::getDesiredInterval() const {
static const int ULIMIITED_PAINT_TIMER_DELAY_MS = 1; static const int ULIMIITED_PAINT_TIMER_DELAY_MS = 1;
int result = ULIMIITED_PAINT_TIMER_DELAY_MS; int result = ULIMIITED_PAINT_TIMER_DELAY_MS;
if (0 != _framerateTarget) { if (_isThrottled) {
result = MSECS_PER_SECOND / _framerateTarget;
} else if (_isThrottled) {
// This test wouldn't be necessary if we could depend on updateFramerate setting _framerateTarget. // This test wouldn't be necessary if we could depend on updateFramerate setting _framerateTarget.
// Alas, that gets complicated: isThrottled() is const and other stuff depends on it. // Alas, that gets complicated: isThrottled() is const and other stuff depends on it.
result = MSECS_PER_SECOND / THROTTLED_FRAMERATE; result = MSECS_PER_SECOND / THROTTLED_FRAMERATE;
@ -112,30 +77,6 @@ bool Basic2DWindowOpenGLDisplayPlugin::isThrottled() const {
} }
void Basic2DWindowOpenGLDisplayPlugin::updateFramerate() { void Basic2DWindowOpenGLDisplayPlugin::updateFramerate() {
QAction* checkedFramerate{ nullptr };
foreach(auto action, _framerateActions) {
if (action->isChecked()) {
checkedFramerate = action;
break;
}
}
_framerateTarget = 0;
if (checkedFramerate) {
QString actionText = checkedFramerate->text();
if (FRAMERATE_60 == actionText) {
_framerateTarget = 60;
} else if (FRAMERATE_50 == actionText) {
_framerateTarget = 50;
} else if (FRAMERATE_40 == actionText) {
_framerateTarget = 40;
} else if (FRAMERATE_30 == actionText) {
_framerateTarget = 30;
}
} else if (_isThrottled) {
_framerateTarget = THROTTLED_FRAMERATE;
}
int newInterval = getDesiredInterval(); int newInterval = getDesiredInterval();
_timer.start(newInterval); _timer.start(newInterval);
} }

View file

@ -598,7 +598,8 @@ AACube SpatiallyNestable::getQueryAACube(bool& success) const {
return _queryAACube; return _queryAACube;
} }
success = false; success = false;
return AACube(getPosition(success) - glm::vec3(defaultAACubeSize / 2.0f), defaultAACubeSize); bool getPositionSuccess;
return AACube(getPosition(getPositionSuccess) - glm::vec3(defaultAACubeSize / 2.0f), defaultAACubeSize);
} }
AACube SpatiallyNestable::getQueryAACube() const { AACube SpatiallyNestable::getQueryAACube() const {