Showing the changes to interface/src/Application.cpp (1 of 14 files). Show all
Unified · Split
| @@ -195,6 +195,7 @@ · 194 unmodified lines | ||
| 195 | 195 | |
| 196 | 196 | #include <raypick/RayPickScriptingInterface.h> |
| 197 | 197 | #include <raypick/LaserPointerScriptingInterface.h> |
| 198 | +#include <raypick/MouseRayPick.h> | |
| 198 | 199 | |
| 199 | 200 | #include <FadeEffect.h> |
| 200 | 201 | |
| @@ -750,8 +751,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 549 unmodified lines | ||
| 750 | 751 | _notifiedPacketVersionMismatchThisDomain(false), |
| 751 | 752 | _maxOctreePPS(maxOctreePacketsPerSecond.get()), |
| 752 | 753 | _lastFaceTrackerUpdate(0), |
| 753 | − _snapshotSound(nullptr) | |
| 754 | −{ | |
| 754 | + _snapshotSound(nullptr) { | |
| 755 | 755 | auto steamClient = PluginManager::getInstance()->getSteamClientPlugin(); |
| 756 | 756 | setProperty(hifi::properties::STEAM, (steamClient && steamClient->isRunning())); |
| 757 | 757 | setProperty(hifi::properties::CRASHED, _previousSessionCrashed); |
| @@ -795,7 +795,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 37 unmodified lines | ||
| 795 | 795 | installNativeEventFilter(&MyNativeEventFilter::getInstance()); |
| 796 | 796 | #endif |
| 797 | 797 | |
| 798 | − | |
| 798 | + | |
| 799 | 799 | _logger = new FileLogger(this); |
| 800 | 800 | qInstallMessageHandler(messageHandler); |
| 801 | 801 | |
| @@ -850,13 +850,13 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 48 unmodified lines | ||
| 850 | 850 | |
| 851 | 851 | |
| 852 | 852 | auto audioIO = DependencyManager::get<AudioClient>(); |
| 853 | − audioIO->setPositionGetter([]{ | |
| 853 | + audioIO->setPositionGetter([] { | |
| 854 | 854 | auto avatarManager = DependencyManager::get<AvatarManager>(); |
| 855 | 855 | auto myAvatar = avatarManager ? avatarManager->getMyAvatar() : nullptr; |
| 856 | 856 | |
| 857 | 857 | return myAvatar ? myAvatar->getPositionForAudio() : Vectors::ZERO; |
| 858 | 858 | }); |
| 859 | − audioIO->setOrientationGetter([]{ | |
| 859 | + audioIO->setOrientationGetter([] { | |
| 860 | 860 | auto avatarManager = DependencyManager::get<AvatarManager>(); |
| 861 | 861 | auto myAvatar = avatarManager ? avatarManager->getMyAvatar() : nullptr; |
| 862 | 862 | |
| @@ -867,7 +867,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 4 unmodified lines | ||
| 867 | 867 | audioIO->handleRecordedAudioInput(frame->data); |
| 868 | 868 | }); |
| 869 | 869 | |
| 870 | − connect(audioIO.data(), &AudioClient::inputReceived, [](const QByteArray& audio){ | |
| 870 | + connect(audioIO.data(), &AudioClient::inputReceived, [](const QByteArray& audio) { | |
| 871 | 871 | static auto recorder = DependencyManager::get<recording::Recorder>(); |
| 872 | 872 | if (recorder->isRecording()) { |
| 873 | 873 | static const recording::FrameType AUDIO_FRAME_TYPE = recording::Frame::registerFrameType(AudioConstants::getAudioFrameName()); |
| @@ -956,14 +956,14 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 82 unmodified lines | ||
| 956 | 956 | auto addressManager = DependencyManager::get<AddressManager>(); |
| 957 | 957 | |
| 958 | 958 | // use our MyAvatar position and quat for address manager path |
| 959 | − addressManager->setPositionGetter([this]{ return getMyAvatar()->getPosition(); }); | |
| 960 | − addressManager->setOrientationGetter([this]{ return getMyAvatar()->getOrientation(); }); | |
| 959 | + addressManager->setPositionGetter([this] { return getMyAvatar()->getPosition(); }); | |
| 960 | + addressManager->setOrientationGetter([this] { return getMyAvatar()->getOrientation(); }); | |
| 961 | 961 | |
| 962 | 962 | connect(addressManager.data(), &AddressManager::hostChanged, this, &Application::updateWindowTitle); |
| 963 | 963 | connect(this, &QCoreApplication::aboutToQuit, addressManager.data(), &AddressManager::storeCurrentAddress); |
| 964 | 964 | |
| 965 | 965 | connect(this, &Application::activeDisplayPluginChanged, this, &Application::updateThreadPoolCount); |
| 966 | − connect(this, &Application::activeDisplayPluginChanged, this, [](){ | |
| 966 | + connect(this, &Application::activeDisplayPluginChanged, this, []() { | |
| 967 | 967 | qApp->setProperty(hifi::properties::HMD, qApp->isHMDMode()); |
| 968 | 968 | }); |
| 969 | 969 | connect(this, &Application::activeDisplayPluginChanged, this, &Application::updateSystemTabletMode); |
| @@ -973,7 +973,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 3 unmodified lines | ||
| 973 | 973 | DependencyManager::get<AddressManager>().data(), &AddressManager::storeCurrentAddress); |
| 974 | 974 | |
| 975 | 975 | auto scriptEngines = DependencyManager::get<ScriptEngines>().data(); |
| 976 | − scriptEngines->registerScriptInitializer([this](ScriptEnginePointer engine){ | |
| 976 | + scriptEngines->registerScriptInitializer([this](ScriptEnginePointer engine) { | |
| 977 | 977 | registerScriptEngineWithApplicationServices(engine); |
| 978 | 978 | }); |
| 979 | 979 | |
| @@ -989,7 +989,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 9 unmodified lines | ||
| 989 | 989 | }, Qt::QueuedConnection); |
| 990 | 990 | |
| 991 | 991 | connect(scriptEngines, &ScriptEngines::scriptLoadError, |
| 992 | − scriptEngines, [](const QString& filename, const QString& error){ | |
| 992 | + scriptEngines, [](const QString& filename, const QString& error) { | |
| 993 | 993 | OffscreenUi::asyncWarning(nullptr, "Error Loading Script", filename + " failed to load."); |
| 994 | 994 | }, Qt::QueuedConnection); |
| 995 | 995 | |
| @@ -1101,7 +1101,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 105 unmodified lines | ||
| 1101 | 1101 | } |
| 1102 | 1102 | |
| 1103 | 1103 | // add firstRun flag from settings to launch event |
| 1104 | − Setting::Handle<bool> firstRun { Settings::firstRun, true }; | |
| 1104 | + Setting::Handle<bool> firstRun{ Settings::firstRun, true }; | |
| 1105 | 1105 | |
| 1106 | 1106 | // once the settings have been loaded, check if we need to flip the default for UserActivityLogger |
| 1107 | 1107 | auto& userActivityLogger = UserActivityLogger::getInstance(); |
| @@ -1202,42 +1202,42 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 94 unmodified lines | ||
| 1202 | 1202 | static int lastKey = Qt::Key_unknown; |
| 1203 | 1203 | bool navAxis = false; |
| 1204 | 1204 | switch (actionEnum) { |
| 1205 | − case Action::UI_NAV_VERTICAL: | |
| 1206 | − navAxis = true; | |
| 1207 | − if (state > 0.0f) { | |
| 1208 | − key = Qt::Key_Up; | |
| 1209 | − } else if (state < 0.0f) { | |
| 1210 | − key = Qt::Key_Down; | |
| 1211 | − } | |
| 1212 | − break; | |
| 1205 | + case Action::UI_NAV_VERTICAL: | |
| 1206 | + navAxis = true; | |
| 1207 | + if (state > 0.0f) { | |
| 1208 | + key = Qt::Key_Up; | |
| 1209 | + } else if (state < 0.0f) { | |
| 1210 | + key = Qt::Key_Down; | |
| 1211 | + } | |
| 1212 | + break; | |
| 1213 | 1213 | |
| 1214 | − case Action::UI_NAV_LATERAL: | |
| 1215 | − navAxis = true; | |
| 1216 | − if (state > 0.0f) { | |
| 1217 | − key = Qt::Key_Right; | |
| 1218 | − } else if (state < 0.0f) { | |
| 1219 | − key = Qt::Key_Left; | |
| 1220 | − } | |
| 1221 | − break; | |
| 1214 | + case Action::UI_NAV_LATERAL: | |
| 1215 | + navAxis = true; | |
| 1216 | + if (state > 0.0f) { | |
| 1217 | + key = Qt::Key_Right; | |
| 1218 | + } else if (state < 0.0f) { | |
| 1219 | + key = Qt::Key_Left; | |
| 1220 | + } | |
| 1221 | + break; | |
| 1222 | 1222 | |
| 1223 | − case Action::UI_NAV_GROUP: | |
| 1224 | − navAxis = true; | |
| 1225 | − if (state > 0.0f) { | |
| 1226 | − key = Qt::Key_Tab; | |
| 1227 | − } else if (state < 0.0f) { | |
| 1228 | − key = Qt::Key_Backtab; | |
| 1229 | − } | |
| 1230 | − break; | |
| 1223 | + case Action::UI_NAV_GROUP: | |
| 1224 | + navAxis = true; | |
| 1225 | + if (state > 0.0f) { | |
| 1226 | + key = Qt::Key_Tab; | |
| 1227 | + } else if (state < 0.0f) { | |
| 1228 | + key = Qt::Key_Backtab; | |
| 1229 | + } | |
| 1230 | + break; | |
| 1231 | 1231 | |
| 1232 | − case Action::UI_NAV_BACK: | |
| 1233 | − key = Qt::Key_Escape; | |
| 1234 | − break; | |
| 1232 | + case Action::UI_NAV_BACK: | |
| 1233 | + key = Qt::Key_Escape; | |
| 1234 | + break; | |
| 1235 | 1235 | |
| 1236 | − case Action::UI_NAV_SELECT: | |
| 1237 | − key = Qt::Key_Return; | |
| 1238 | − break; | |
| 1239 | − default: | |
| 1240 | − break; | |
| 1236 | + case Action::UI_NAV_SELECT: | |
| 1237 | + key = Qt::Key_Return; | |
| 1238 | + break; | |
| 1239 | + default: | |
| 1240 | + break; | |
| 1241 | 1241 | } |
| 1242 | 1242 | |
| 1243 | 1243 | auto window = tabletScriptingInterface->getTabletWindow(); |
| @@ -1376,8 +1376,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 132 unmodified lines | ||
| 1376 | 1376 | |
| 1377 | 1377 | |
| 1378 | 1378 | QTimer* settingsTimer = new QTimer(); |
| 1379 | − moveToNewNamedThread(settingsTimer, "Settings Thread", [this, settingsTimer]{ | |
| 1380 | − connect(qApp, &Application::beforeAboutToQuit, [this, settingsTimer]{ | |
| 1379 | + moveToNewNamedThread(settingsTimer, "Settings Thread", [this, settingsTimer] { | |
| 1380 | + connect(qApp, &Application::beforeAboutToQuit, [this, settingsTimer] { | |
| 1381 | 1381 | // Disconnect the signal from the save settings |
| 1382 | 1382 | QObject::disconnect(settingsTimer, &QTimer::timeout, this, &Application::saveSettings); |
| 1383 | 1383 | // Stop the settings timer |
| @@ -1439,7 +1439,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 55 unmodified lines | ||
| 1439 | 1439 | // Now that menu is initialized we can sync myAvatar with it's state. |
| 1440 | 1440 | myAvatar->updateMotionBehaviorFromMenu(); |
| 1441 | 1441 | |
| 1442 | −// FIXME spacemouse code still needs cleanup | |
| 1442 | + // FIXME spacemouse code still needs cleanup | |
| 1443 | 1443 | #if 0 |
| 1444 | 1444 | // the 3Dconnexion device wants to be initialized after a window is displayed. |
| 1445 | 1445 | SpacemouseManager::getInstance().init(); |
| @@ -1448,7 +1448,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 2 unmodified lines | ||
| 1448 | 1448 | // If the user clicks an an entity, we will check that it's an unlocked web entity, and if so, set the focus to it |
| 1449 | 1449 | auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>(); |
| 1450 | 1450 | connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickDownOnEntity, |
| 1451 | − [this](const EntityItemID& entityItemID, const PointerEvent& event) { | |
| 1451 | + [this](const EntityItemID& entityItemID, const PointerEvent& event) { | |
| 1452 | 1452 | if (getEntities()->wantsKeyboardFocus(entityItemID)) { |
| 1453 | 1453 | setKeyboardFocusOverlay(UNKNOWN_OVERLAY_ID); |
| 1454 | 1454 | setKeyboardFocusEntity(entityItemID); |
| @@ -1663,8 +1663,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 208 unmodified lines | ||
| 1663 | 1663 | totalServerOctreeElements += i->second.getTotalElements(); |
| 1664 | 1664 | } |
| 1665 | 1665 | |
| 1666 | − properties["local_octree_elements"] = (qint64) OctreeElement::getInternalNodeCount(); | |
| 1667 | − properties["server_octree_elements"] = (qint64) totalServerOctreeElements; | |
| 1666 | + properties["local_octree_elements"] = (qint64)OctreeElement::getInternalNodeCount(); | |
| 1667 | + properties["server_octree_elements"] = (qint64)totalServerOctreeElements; | |
| 1668 | 1668 | |
| 1669 | 1669 | properties["active_display_plugin"] = getActiveDisplayPlugin()->getName(); |
| 1670 | 1670 | properties["using_hmd"] = isHMDMode(); |
| @@ -1685,7 +1685,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 14 unmodified lines | ||
| 1685 | 1685 | if (_autoSwitchDisplayModeSupportedHMDPlugin) { |
| 1686 | 1686 | if (getActiveDisplayPlugin() != _autoSwitchDisplayModeSupportedHMDPlugin && |
| 1687 | 1687 | !_autoSwitchDisplayModeSupportedHMDPlugin->isSessionActive()) { |
| 1688 | − startHMDStandBySession(); | |
| 1688 | + startHMDStandBySession(); | |
| 1689 | 1689 | } |
| 1690 | 1690 | // Poll periodically to check whether the user has worn HMD or not. Switch Display mode accordingly. |
| 1691 | 1691 | // If the user wears HMD then switch to VR mode. If the user removes HMD then switch to Desktop mode. |
| @@ -1729,7 +1729,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 37 unmodified lines | ||
| 1729 | 1729 | connect(checkNearbyAvatarsTimer, &QTimer::timeout, this, [this]() { |
| 1730 | 1730 | auto avatarManager = DependencyManager::get<AvatarManager>(); |
| 1731 | 1731 | int nearbyAvatars = avatarManager->numberOfAvatarsInRange(avatarManager->getMyAvatar()->getPosition(), |
| 1732 | − NEARBY_AVATAR_RADIUS_METERS) - 1; | |
| 1732 | + NEARBY_AVATAR_RADIUS_METERS) - 1; | |
| 1733 | 1733 | if (nearbyAvatars != lastCountOfNearbyAvatars) { |
| 1734 | 1734 | lastCountOfNearbyAvatars = nearbyAvatars; |
| 1735 | 1735 | UserActivityLogger::getInstance().logAction("nearby_avatars", { { "count", nearbyAvatars } }); |
| @@ -1817,14 +1817,15 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 81 unmodified lines | ||
| 1817 | 1817 | |
| 1818 | 1818 | connect(&_myCamera, &Camera::modeUpdated, this, &Application::cameraModeChanged); |
| 1819 | 1819 | |
| 1820 | + _pickManager.setShouldPickHUDOperator([&]() { return DependencyManager::get<HMDScriptingInterface>()->isHMDMode(); }); | |
| 1821 | + | |
| 1820 | 1822 | // Setup the mouse ray pick and related operators |
| 1821 | − DependencyManager::get<EntityTreeRenderer>()->setMouseRayPickID(_rayPickManager.createRayPick( | |
| 1822 | − PickFilter(RayPickScriptingInterface::PICK_ENTITIES() | RayPickScriptingInterface::PICK_INCLUDE_NONCOLLIDABLE()), | |
| 1823 | − 0.0f, true)); | |
| 1823 | + DependencyManager::get<EntityTreeRenderer>()->setMouseRayPickID(_pickManager.addPick(RAY, std::make_shared<MouseRayPick>( | |
| 1824 | + PickFilter(RayPickScriptingInterface::PICK_ENTITIES() | RayPickScriptingInterface::PICK_INCLUDE_NONCOLLIDABLE()), 0.0f, true))); | |
| 1824 | 1825 | DependencyManager::get<EntityTreeRenderer>()->setMouseRayPickResultOperator([&](QUuid rayPickID) { |
| 1825 | 1826 | RayToEntityIntersectionResult entityResult; |
| 1826 | 1827 | entityResult.intersects = false; |
| 1827 | − QVariantMap result = _rayPickManager.getPrevPickResult(rayPickID); | |
| 1828 | + QVariantMap result = _pickManager.getPrevPickResult(rayPickID); | |
| 1828 | 1829 | if (result["type"].isValid()) { |
| 1829 | 1830 | entityResult.intersects = result["type"] != RayPickScriptingInterface::INTERSECTED_NONE(); |
| 1830 | 1831 | if (entityResult.intersects) { |
| @@ -1838,7 +1839,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 7 unmodified lines | ||
| 1838 | 1839 | return entityResult; |
| 1839 | 1840 | }); |
| 1840 | 1841 | DependencyManager::get<EntityTreeRenderer>()->setSetPrecisionPickingOperator([&](QUuid rayPickID, bool value) { |
| 1841 | − _rayPickManager.setPrecisionPicking(rayPickID, value); | |
| 1842 | + _pickManager.setPrecisionPicking(rayPickID, value); | |
| 1842 | 1843 | }); |
| 1843 | 1844 | |
| 1844 | 1845 | qCDebug(interfaceapp) << "Metaverse session ID is" << uuidStringWithoutCurlyBraces(accountManager->getSessionID()); |
| @@ -4910,8 +4911,8 @@ void Application::update(float deltaTime) { · 3065 unmodified lines | ||
| 4910 | 4911 | |
| 4911 | 4912 | // TODO: break these out into distinct perfTimers when they prove interesting |
| 4912 | 4913 | { |
| 4913 | − PROFILE_RANGE(app, "RayPickManager"); | |
| 4914 | − _rayPickManager.update(); | |
| 4914 | + PROFILE_RANGE(app, "PickManager"); | |
| 4915 | + _pickManager.update(); | |
| 4915 | 4916 | } |
| 4916 | 4917 | |
| 4917 | 4918 | { |