History

Merge branch '19630' of github.com:huffman/hifi into 19630

Ryan Huffman committed 12 years ago

Commit 21819ce2 parents 7a3826b 186f77698 files · +3725 −933Browse files

Showing the changes to interface/src/Application.cpp (1 of 98 files). Show all

Unified · Split

interface/src/Application.cpp+91−117
@@ -152,6 +152,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : · 151 unmodified lines
152 _mirrorViewRect(QRect(MIRROR_VIEW_LEFT_PADDING, MIRROR_VIEW_TOP_PADDING, MIRROR_VIEW_WIDTH, MIRROR_VIEW_HEIGHT)),152 _mirrorViewRect(QRect(MIRROR_VIEW_LEFT_PADDING, MIRROR_VIEW_TOP_PADDING, MIRROR_VIEW_WIDTH, MIRROR_VIEW_HEIGHT)),
153 _cameraPushback(0.0f),153 _cameraPushback(0.0f),
154 _scaleMirror(1.0f),154 _scaleMirror(1.0f),
155 _rotateMirror(0.0f),
156 _raiseMirror(0.0f),
155 _mouseX(0),157 _mouseX(0),
156 _mouseY(0),158 _mouseY(0),
157 _lastMouseMove(usecTimestampNow()),159 _lastMouseMove(usecTimestampNow()),
@@ -685,11 +687,8 @@ void Application::resizeGL(int width, int height) { · 527 unmodified lines
685 glLoadIdentity();687 glLoadIdentity();
686 688
687 // update Stats width689 // update Stats width
688 int horizontalOffset = 0;690 // let's set horizontal offset to give stats some margin to mirror
689 if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {691 int horizontalOffset = MIRROR_VIEW_WIDTH + MIRROR_VIEW_LEFT_PADDING * 2;
690 // mirror is enabled, let's set horizontal offset to give stats some margin
691 horizontalOffset += MIRROR_VIEW_WIDTH + MIRROR_VIEW_LEFT_PADDING * 2;
692 }
693 Stats::getInstance()->resetWidth(width, horizontalOffset);692 Stats::getInstance()->resetWidth(width, horizontalOffset);
694}693}
695 694
@@ -1163,10 +1162,8 @@ void Application::mouseReleaseEvent(QMouseEvent* event) { · 467 unmodified lines
1163 _mousePressed = false;1162 _mousePressed = false;
1164 checkBandwidthMeterClick();1163 checkBandwidthMeterClick();
1165 if (Menu::getInstance()->isOptionChecked(MenuOption::Stats)) {1164 if (Menu::getInstance()->isOptionChecked(MenuOption::Stats)) {
1166 int horizontalOffset = 0;1165 // let's set horizontal offset to give stats some margin to mirror
1167 if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {1166 int horizontalOffset = MIRROR_VIEW_WIDTH;
1168 horizontalOffset = MIRROR_VIEW_WIDTH;
1169 }
1170 Stats::getInstance()->checkClick(_mouseX, _mouseY, _mouseDragStartedX, _mouseDragStartedY, horizontalOffset);1167 Stats::getInstance()->checkClick(_mouseX, _mouseY, _mouseDragStartedX, _mouseDragStartedY, horizontalOffset);
1171 }1168 }
1172 }1169 }
@@ -1218,10 +1215,6 @@ void Application::touchBeginEvent(QTouchEvent* event) { · 45 unmodified lines
1218 return;1215 return;
1219 }1216 }
1220 1217
1221 // put any application specific touch behavior below here..
1222 _lastTouchAvgX = _touchAvgX;
1223 _lastTouchAvgY = _touchAvgY;
1224
1225}1218}
1226 1219
1227void Application::touchEndEvent(QTouchEvent* event) {1220void Application::touchEndEvent(QTouchEvent* event) {
@@ -1876,34 +1869,6 @@ void Application::updateMyAvatarLookAtPosition() { · 648 unmodified lines
1876 _myAvatar->getHead()->setLookAtPosition(lookAtSpot);1869 _myAvatar->getHead()->setLookAtPosition(lookAtSpot);
1877}1870}
1878 1871
1879void Application::updateHandAndTouch(float deltaTime) {
1880 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
1881 PerformanceWarning warn(showWarnings, "Application::updateHandAndTouch()");
1882
1883 // Update from Touch
1884 if (_isTouchPressed) {
1885 _lastTouchAvgX = _touchAvgX;
1886 _lastTouchAvgY = _touchAvgY;
1887 }
1888}
1889
1890void Application::updateLeap(float deltaTime) {
1891 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
1892 PerformanceWarning warn(showWarnings, "Application::updateLeap()");
1893}
1894
1895void Application::updateSixense(float deltaTime) {
1896 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
1897 PerformanceWarning warn(showWarnings, "Application::updateSixense()");
1898
1899 _sixenseManager.update(deltaTime);
1900}
1901
1902void Application::updateSerialDevices(float deltaTime) {
1903 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
1904 PerformanceWarning warn(showWarnings, "Application::updateSerialDevices()");
1905}
1906
1907void Application::updateThreads(float deltaTime) {1872void Application::updateThreads(float deltaTime) {
1908 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);1873 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
1909 PerformanceWarning warn(showWarnings, "Application::updateThreads()");1874 PerformanceWarning warn(showWarnings, "Application::updateThreads()");
@@ -2017,11 +1982,8 @@ void Application::update(float deltaTime) { · 107 unmodified lines
2017 updateVisage();1982 updateVisage();
2018 _myAvatar->updateLookAtTargetAvatar();1983 _myAvatar->updateLookAtTargetAvatar();
2019 updateMyAvatarLookAtPosition();1984 updateMyAvatarLookAtPosition();
2020 1985 _sixenseManager.update(deltaTime);
2021 updateHandAndTouch(deltaTime); // Update state for touch sensors1986 _prioVR.update();
2022 updateLeap(deltaTime); // Leap finger-sensing device
2023 updateSixense(deltaTime); // Razer Hydra controllers
2024 updateSerialDevices(deltaTime); // Read serial port interface devices
2025 updateMyAvatar(deltaTime); // Sample hardware, update view frustum if needed, and send avatar data to mixer/nodes1987 updateMyAvatar(deltaTime); // Sample hardware, update view frustum if needed, and send avatar data to mixer/nodes
2026 updateThreads(deltaTime); // If running non-threaded, then give the threads some time to process...1988 updateThreads(deltaTime); // If running non-threaded, then give the threads some time to process...
2027 _avatarManager.updateOtherAvatars(deltaTime); //loop through all the other avatars and simulate them...1989 _avatarManager.updateOtherAvatars(deltaTime); //loop through all the other avatars and simulate them...
@@ -2770,11 +2732,8 @@ void Application::displayOverlay() { · 742 unmodified lines
2770 glPointSize(1.0f);2732 glPointSize(1.0f);
2771 2733
2772 if (Menu::getInstance()->isOptionChecked(MenuOption::Stats)) {2734 if (Menu::getInstance()->isOptionChecked(MenuOption::Stats)) {
2773 int horizontalOffset = 0;2735 // let's set horizontal offset to give stats some margin to mirror
2774 if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {2736 int horizontalOffset = MIRROR_VIEW_WIDTH + MIRROR_VIEW_LEFT_PADDING * 2;
2775 // mirror is enabled, let's set horizontal offset to give stats some margin
2776 horizontalOffset += MIRROR_VIEW_WIDTH + MIRROR_VIEW_LEFT_PADDING * 2;
2777 }
2778 int voxelPacketsToProcess = _voxelProcessor.packetsToProcessCount();2737 int voxelPacketsToProcess = _voxelProcessor.packetsToProcessCount();
2779 // Onscreen text about position, servers, etc2738 // Onscreen text about position, servers, etc
2780 Stats::getInstance()->display(WHITE_TEXT, horizontalOffset, _fps, _packetsPerSecond, _bytesPerSecond, voxelPacketsToProcess);2739 Stats::getInstance()->display(WHITE_TEXT, horizontalOffset, _fps, _packetsPerSecond, _bytesPerSecond, voxelPacketsToProcess);
@@ -2798,6 +2757,9 @@ void Application::displayOverlay() { · 17 unmodified lines
2798 }2757 }
2799 _nodeBoundsDisplay.drawOverlay();2758 _nodeBoundsDisplay.drawOverlay();
2800 2759
2760 // give external parties a change to hook in
2761 emit renderingOverlay();
2762
2801 _overlays.render2D();2763 _overlays.render2D();
2802 2764
2803 glPopMatrix();2765 glPopMatrix();
@@ -3106,6 +3068,8 @@ void Application::resetSensors() { · 302 unmodified lines
3106 OculusManager::reset();3068 OculusManager::reset();
3107 }3069 }
3108 3070
3071 _prioVR.reset();
3072
3109 QCursor::setPos(_mouseX, _mouseY);3073 QCursor::setPos(_mouseX, _mouseY);
3110 _myAvatar->reset();3074 _myAvatar->reset();
3111 3075
@@ -3415,71 +3379,6 @@ void Application::saveScripts() { · 303 unmodified lines
3415 _settings->endArray();3379 _settings->endArray();
3416}3380}
3417 3381
3418void Application::stopAllScripts() {
3419 // stops all current running scripts
3420 for (int i = 0; i < _scriptEnginesHash.size(); ++i) {
3421 _scriptEnginesHash.values().at(i)->stop();
3422 qDebug() << "stopping script..." << getRunningScripts().at(i);
3423 }
3424 _scriptEnginesHash.clear();
3425 _runningScriptsWidget->setRunningScripts(getRunningScripts());
3426 bumpSettings();
3427}
3428
3429void Application::stopScript(const QString &scriptName) {
3430 if (_scriptEnginesHash.contains(scriptName)) {
3431 _scriptEnginesHash.value(scriptName)->stop();
3432 qDebug() << "stopping script..." << scriptName;
3433 _scriptEnginesHash.remove(scriptName);
3434 _runningScriptsWidget->setRunningScripts(getRunningScripts());
3435 bumpSettings();
3436 }
3437}
3438
3439void Application::reloadAllScripts() {
3440 // remember all the current scripts so we can reload them
3441 QStringList reloadList = getRunningScripts();
3442 // reloads all current running scripts
3443 stopAllScripts();
3444
3445 foreach (QString scriptName, reloadList){
3446 qDebug() << "reloading script..." << scriptName;
3447 loadScript(scriptName);
3448 }
3449}
3450
3451void Application::manageRunningScriptsWidgetVisibility(bool shown) {
3452 if (_runningScriptsWidgetWasVisible && shown) {
3453 _runningScriptsWidget->show();
3454 } else if (_runningScriptsWidgetWasVisible && !shown) {
3455 _runningScriptsWidget->hide();
3456 }
3457}
3458
3459void Application::toggleRunningScriptsWidget() {
3460 if (_runningScriptsWidgetWasVisible) {
3461 _runningScriptsWidget->hide();
3462 _runningScriptsWidgetWasVisible = false;
3463 } else {
3464 _runningScriptsWidget->setBoundary(QRect(_window->geometry().topLeft(),
3465 _window->size()));
3466 _runningScriptsWidget->show();
3467 _runningScriptsWidgetWasVisible = true;
3468 }
3469}
3470
3471void Application::uploadHead() {
3472 uploadModel(HEAD_MODEL);
3473}
3474
3475void Application::uploadSkeleton() {
3476 uploadModel(SKELETON_MODEL);
3477}
3478
3479void Application::uploadAttachment() {
3480 uploadModel(ATTACHMENT_MODEL);
3481}
3482
3483ScriptEngine* Application::loadScript(const QString& scriptName, bool loadScriptFromEditor) {3382ScriptEngine* Application::loadScript(const QString& scriptName, bool loadScriptFromEditor) {
3484 if(loadScriptFromEditor && _scriptEnginesHash.contains(scriptName) && !_scriptEnginesHash[scriptName]->isFinished()){3383 if(loadScriptFromEditor && _scriptEnginesHash.contains(scriptName) && !_scriptEnginesHash[scriptName]->isFinished()){
3485 return _scriptEnginesHash[scriptName];3384 return _scriptEnginesHash[scriptName];
@@ -3517,6 +3416,8 @@ ScriptEngine* Application::loadScript(const QString& scriptName, bool loadScript · 31 unmodified lines
3517 scriptEngine->registerGlobalObject("Clipboard", clipboardScriptable);3416 scriptEngine->registerGlobalObject("Clipboard", clipboardScriptable);
3518 connect(scriptEngine, SIGNAL(finished(const QString&)), clipboardScriptable, SLOT(deleteLater()));3417 connect(scriptEngine, SIGNAL(finished(const QString&)), clipboardScriptable, SLOT(deleteLater()));
3519 3418
3419 connect(scriptEngine, SIGNAL(finished(const QString&)), this, SLOT(scriptFinished(const QString&)));
3420
3520 scriptEngine->registerGlobalObject("Overlays", &_overlays);3421 scriptEngine->registerGlobalObject("Overlays", &_overlays);
3521 3422
3522 QScriptValue windowValue = scriptEngine->registerGlobalObject("Window", WindowScriptingInterface::getInstance());3423 QScriptValue windowValue = scriptEngine->registerGlobalObject("Window", WindowScriptingInterface::getInstance());
@@ -3559,6 +3460,69 @@ ScriptEngine* Application::loadScript(const QString& scriptName, bool loadScript · 36 unmodified lines
3559 return scriptEngine;3460 return scriptEngine;
3560}3461}
3561 3462
3463void Application::scriptFinished(const QString& scriptName) {
3464 if (_scriptEnginesHash.remove(scriptName)) {
3465 _runningScriptsWidget->scriptStopped(scriptName);
3466 _runningScriptsWidget->setRunningScripts(getRunningScripts());
3467 bumpSettings();
3468 }
3469}
3470
3471void Application::stopAllScripts(bool restart) {
3472 // stops all current running scripts
3473 for (QHash<QString, ScriptEngine*>::const_iterator it = _scriptEnginesHash.constBegin();
3474 it != _scriptEnginesHash.constEnd(); it++) {
3475 if (restart) {
3476 connect(it.value(), SIGNAL(finished(const QString&)), SLOT(loadScript(const QString&)));
3477 }
3478 it.value()->stop();
3479 qDebug() << "stopping script..." << it.key();
3480 }
3481}
3482
3483void Application::stopScript(const QString &scriptName) {
3484 if (_scriptEnginesHash.contains(scriptName)) {
3485 _scriptEnginesHash.value(scriptName)->stop();
3486 qDebug() << "stopping script..." << scriptName;
3487 }
3488}
3489
3490void Application::reloadAllScripts() {
3491 stopAllScripts(true);
3492}
3493
3494void Application::manageRunningScriptsWidgetVisibility(bool shown) {
3495 if (_runningScriptsWidgetWasVisible && shown) {
3496 _runningScriptsWidget->show();
3497 } else if (_runningScriptsWidgetWasVisible && !shown) {
3498 _runningScriptsWidget->hide();
3499 }
3500}
3501
3502void Application::toggleRunningScriptsWidget() {
3503 if (_runningScriptsWidgetWasVisible) {
3504 _runningScriptsWidget->hide();
3505 _runningScriptsWidgetWasVisible = false;
3506 } else {
3507 _runningScriptsWidget->setBoundary(QRect(_window->geometry().topLeft(),
3508 _window->size()));
3509 _runningScriptsWidget->show();
3510 _runningScriptsWidgetWasVisible = true;
3511 }
3512}
3513
3514void Application::uploadHead() {
3515 uploadModel(HEAD_MODEL);
3516}
3517
3518void Application::uploadSkeleton() {
3519 uploadModel(SKELETON_MODEL);
3520}
3521
3522void Application::uploadAttachment() {
3523 uploadModel(ATTACHMENT_MODEL);
3524}
3525
3562QString Application::getPreviousScriptLocation() {3526QString Application::getPreviousScriptLocation() {
3563 QString suggestedName;3527 QString suggestedName;
3564 if (_previousScriptLocation.isEmpty()) {3528 if (_previousScriptLocation.isEmpty()) {
@@ -3698,7 +3662,17 @@ void Application::takeSnapshot() { · 133 unmodified lines
3698 player->setMedia(QUrl::fromLocalFile(inf.absoluteFilePath()));3662 player->setMedia(QUrl::fromLocalFile(inf.absoluteFilePath()));
3699 player->play();3663 player->play();
3700 3664
3701 Snapshot::saveSnapshot(_glWidget, _myAvatar);3665 QString fileName = Snapshot::saveSnapshot(_glWidget, _myAvatar);
3666
3667 AccountManager& accountManager = AccountManager::getInstance();
3668 if (!accountManager.isLoggedIn()) {
3669 return;
3670 }
3671
3672 if (!_snapshotShareDialog) {
3673 _snapshotShareDialog = new SnapshotShareDialog(fileName, _glWidget);
3674 }
3675 _snapshotShareDialog->show();
3702}3676}
3703 3677
3704void Application::urlGoTo(int argc, const char * constArgv[]) {3678void Application::urlGoTo(int argc, const char * constArgv[]) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t