diff options
Diffstat (limited to 'indra/newview/llfloaterpathfindingconsole.cpp')
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 1790 |
1 files changed, 895 insertions, 895 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index ccf3e723fd..f2dffb2b67 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -1,4 +1,4 @@ -/** +/** * @file llfloaterpathfindingconsole.cpp * @brief "Pathfinding console" floater, allowing for viewing and testing of the pathfinding navmesh through Havok AI utilities. * @author Stinson@lindenlab.com @@ -87,7 +87,7 @@ #define CONTROL_NAME_TEST_PATH_VALID_END "PathfindingTestPathValidEndColor" #define CONTROL_NAME_TEST_PATH_INVALID_END "PathfindingTestPathInvalidEndColor" #define CONTROL_NAME_TEST_PATH "PathfindingTestPathColor" -#define CONTROL_NAME_WATER "PathfindingWaterColor" +#define CONTROL_NAME_WATER "PathfindingWaterColor" LLHandle<LLFloaterPathfindingConsole> LLFloaterPathfindingConsole::sInstanceHandle; @@ -97,415 +97,415 @@ LLHandle<LLFloaterPathfindingConsole> LLFloaterPathfindingConsole::sInstanceHand BOOL LLFloaterPathfindingConsole::postBuild() { - mViewTestTabContainer = findChild<LLTabContainer>("view_test_tab_container"); - llassert(mViewTestTabContainer != NULL); - mViewTestTabContainer->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onTabSwitch, this)); + mViewTestTabContainer = findChild<LLTabContainer>("view_test_tab_container"); + llassert(mViewTestTabContainer != NULL); + mViewTestTabContainer->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onTabSwitch, this)); - mViewTab = findChild<LLPanel>("view_panel"); - llassert(mViewTab != NULL); + mViewTab = findChild<LLPanel>("view_panel"); + llassert(mViewTab != NULL); - mShowLabel = findChild<LLTextBase>("show_label"); - llassert(mShowLabel != NULL); + mShowLabel = findChild<LLTextBase>("show_label"); + llassert(mShowLabel != NULL); - mShowWorldCheckBox = findChild<LLCheckBoxCtrl>("show_world"); - llassert(mShowWorldCheckBox != NULL); - mShowWorldCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWorldSet, this)); - - mShowWorldMovablesOnlyCheckBox = findChild<LLCheckBoxCtrl>("show_world_movables_only"); - llassert(mShowWorldMovablesOnlyCheckBox != NULL); - mShowWorldMovablesOnlyCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWorldMovablesOnlySet, this)); + mShowWorldCheckBox = findChild<LLCheckBoxCtrl>("show_world"); + llassert(mShowWorldCheckBox != NULL); + mShowWorldCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWorldSet, this)); - mShowNavMeshCheckBox = findChild<LLCheckBoxCtrl>("show_navmesh"); - llassert(mShowNavMeshCheckBox != NULL); - mShowNavMeshCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowNavMeshSet, this)); + mShowWorldMovablesOnlyCheckBox = findChild<LLCheckBoxCtrl>("show_world_movables_only"); + llassert(mShowWorldMovablesOnlyCheckBox != NULL); + mShowWorldMovablesOnlyCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWorldMovablesOnlySet, this)); - mShowNavMeshWalkabilityLabel = findChild<LLTextBase>("show_walkability_label"); - llassert(mShowNavMeshWalkabilityLabel != NULL); + mShowNavMeshCheckBox = findChild<LLCheckBoxCtrl>("show_navmesh"); + llassert(mShowNavMeshCheckBox != NULL); + mShowNavMeshCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowNavMeshSet, this)); - mShowNavMeshWalkabilityComboBox = findChild<LLComboBox>("show_heatmap_mode"); - llassert(mShowNavMeshWalkabilityComboBox != NULL); - mShowNavMeshWalkabilityComboBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWalkabilitySet, this)); + mShowNavMeshWalkabilityLabel = findChild<LLTextBase>("show_walkability_label"); + llassert(mShowNavMeshWalkabilityLabel != NULL); - mShowWalkablesCheckBox = findChild<LLCheckBoxCtrl>("show_walkables"); - llassert(mShowWalkablesCheckBox != NULL); + mShowNavMeshWalkabilityComboBox = findChild<LLComboBox>("show_heatmap_mode"); + llassert(mShowNavMeshWalkabilityComboBox != NULL); + mShowNavMeshWalkabilityComboBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWalkabilitySet, this)); - mShowStaticObstaclesCheckBox = findChild<LLCheckBoxCtrl>("show_static_obstacles"); - llassert(mShowStaticObstaclesCheckBox != NULL); + mShowWalkablesCheckBox = findChild<LLCheckBoxCtrl>("show_walkables"); + llassert(mShowWalkablesCheckBox != NULL); - mShowMaterialVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_material_volumes"); - llassert(mShowMaterialVolumesCheckBox != NULL); + mShowStaticObstaclesCheckBox = findChild<LLCheckBoxCtrl>("show_static_obstacles"); + llassert(mShowStaticObstaclesCheckBox != NULL); - mShowExclusionVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_exclusion_volumes"); - llassert(mShowExclusionVolumesCheckBox != NULL); + mShowMaterialVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_material_volumes"); + llassert(mShowMaterialVolumesCheckBox != NULL); - mShowRenderWaterPlaneCheckBox = findChild<LLCheckBoxCtrl>("show_water_plane"); - llassert(mShowRenderWaterPlaneCheckBox != NULL); + mShowExclusionVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_exclusion_volumes"); + llassert(mShowExclusionVolumesCheckBox != NULL); - mShowXRayCheckBox = findChild<LLCheckBoxCtrl>("show_xray"); - llassert(mShowXRayCheckBox != NULL); + mShowRenderWaterPlaneCheckBox = findChild<LLCheckBoxCtrl>("show_water_plane"); + llassert(mShowRenderWaterPlaneCheckBox != NULL); - mTestTab = findChild<LLPanel>("test_panel"); - llassert(mTestTab != NULL); + mShowXRayCheckBox = findChild<LLCheckBoxCtrl>("show_xray"); + llassert(mShowXRayCheckBox != NULL); - mPathfindingViewerStatus = findChild<LLTextBase>("pathfinding_viewer_status"); - llassert(mPathfindingViewerStatus != NULL); + mTestTab = findChild<LLPanel>("test_panel"); + llassert(mTestTab != NULL); - mPathfindingSimulatorStatus = findChild<LLTextBase>("pathfinding_simulator_status"); - llassert(mPathfindingSimulatorStatus != NULL); + mPathfindingViewerStatus = findChild<LLTextBase>("pathfinding_viewer_status"); + llassert(mPathfindingViewerStatus != NULL); - mCtrlClickLabel = findChild<LLTextBase>("ctrl_click_label"); - llassert(mCtrlClickLabel != NULL); + mPathfindingSimulatorStatus = findChild<LLTextBase>("pathfinding_simulator_status"); + llassert(mPathfindingSimulatorStatus != NULL); - mShiftClickLabel = findChild<LLTextBase>("shift_click_label"); - llassert(mShiftClickLabel != NULL); + mCtrlClickLabel = findChild<LLTextBase>("ctrl_click_label"); + llassert(mCtrlClickLabel != NULL); - mCharacterWidthLabel = findChild<LLTextBase>("character_width_label"); - llassert(mCharacterWidthLabel != NULL); + mShiftClickLabel = findChild<LLTextBase>("shift_click_label"); + llassert(mShiftClickLabel != NULL); - mCharacterWidthSlider = findChild<LLSliderCtrl>("character_width"); - llassert(mCharacterWidthSlider != NULL); - mCharacterWidthSlider->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onCharacterWidthSet, this)); + mCharacterWidthLabel = findChild<LLTextBase>("character_width_label"); + llassert(mCharacterWidthLabel != NULL); - mCharacterWidthUnitLabel = findChild<LLTextBase>("character_width_unit_label"); - llassert(mCharacterWidthUnitLabel != NULL); + mCharacterWidthSlider = findChild<LLSliderCtrl>("character_width"); + llassert(mCharacterWidthSlider != NULL); + mCharacterWidthSlider->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onCharacterWidthSet, this)); - mCharacterTypeLabel = findChild<LLTextBase>("character_type_label"); - llassert(mCharacterTypeLabel != NULL); + mCharacterWidthUnitLabel = findChild<LLTextBase>("character_width_unit_label"); + llassert(mCharacterWidthUnitLabel != NULL); - mCharacterTypeComboBox = findChild<LLComboBox>("path_character_type"); - llassert(mCharacterTypeComboBox != NULL); - mCharacterTypeComboBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onCharacterTypeSwitch, this)); + mCharacterTypeLabel = findChild<LLTextBase>("character_type_label"); + llassert(mCharacterTypeLabel != NULL); - mPathTestingStatus = findChild<LLTextBase>("path_test_status"); - llassert(mPathTestingStatus != NULL); + mCharacterTypeComboBox = findChild<LLComboBox>("path_character_type"); + llassert(mCharacterTypeComboBox != NULL); + mCharacterTypeComboBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onCharacterTypeSwitch, this)); - mClearPathButton = findChild<LLButton>("clear_path"); - llassert(mClearPathButton != NULL); - mClearPathButton->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onClearPathClicked, this)); + mPathTestingStatus = findChild<LLTextBase>("path_test_status"); + llassert(mPathTestingStatus != NULL); - mErrorColor = LLUIColorTable::instance().getColor("PathfindingErrorColor"); - mWarningColor = LLUIColorTable::instance().getColor("PathfindingWarningColor"); + mClearPathButton = findChild<LLButton>("clear_path"); + llassert(mClearPathButton != NULL); + mClearPathButton->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onClearPathClicked, this)); - if (LLPathingLib::getInstance() != NULL) - { - mPathfindingToolset = new LLToolset(); - mPathfindingToolset->addTool(LLPathfindingPathTool::getInstance()); - mPathfindingToolset->addTool(LLToolCamera::getInstance()); - mPathfindingToolset->setShowFloaterTools(false); - } + mErrorColor = LLUIColorTable::instance().getColor("PathfindingErrorColor"); + mWarningColor = LLUIColorTable::instance().getColor("PathfindingWarningColor"); - updateCharacterWidth(); - updateCharacterType(); + if (LLPathingLib::getInstance() != NULL) + { + mPathfindingToolset = new LLToolset(); + mPathfindingToolset->addTool(LLPathfindingPathTool::getInstance()); + mPathfindingToolset->addTool(LLToolCamera::getInstance()); + mPathfindingToolset->setShowFloaterTools(false); + } - return LLFloater::postBuild(); + updateCharacterWidth(); + updateCharacterType(); + + return LLFloater::postBuild(); } void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) { - LLFloater::onOpen(pKey); - //make sure we have a pathing system - if ( LLPathingLib::getInstance() == NULL ) - { - setConsoleState(kConsoleStateLibraryNotImplemented); - LL_WARNS() <<"Errror: cannot find pathing library implementation."<<LL_ENDL; - } - else - { - if (!mNavMeshZoneSlot.connected()) - { - mNavMeshZoneSlot = mNavMeshZone.registerNavMeshZoneListener(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshZoneStatus, this, _1)); - } - - mIsNavMeshUpdating = false; - initializeNavMeshZoneForCurrentRegion(); - registerSavedSettingsListeners(); - fillInColorsForNavMeshVisualization(); - } - - if (!mRegionBoundarySlot.connected()) - { - mRegionBoundarySlot = gAgent.addRegionChangedCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this)); - } - - if (!mTeleportFailedSlot.connected()) - { - mTeleportFailedSlot = LLViewerParcelMgr::getInstance()->setTeleportFailedCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this)); - } - - if (!mPathEventSlot.connected()) - { - mPathEventSlot = LLPathfindingPathTool::getInstance()->registerPathEventListener(boost::bind(&LLFloaterPathfindingConsole::onPathEvent, this)); - } - - setDefaultInputs(); - updatePathTestStatus(); - - if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) - { - switchIntoTestPathMode(); - } + LLFloater::onOpen(pKey); + //make sure we have a pathing system + if ( LLPathingLib::getInstance() == NULL ) + { + setConsoleState(kConsoleStateLibraryNotImplemented); + LL_WARNS() <<"Errror: cannot find pathing library implementation."<<LL_ENDL; + } + else + { + if (!mNavMeshZoneSlot.connected()) + { + mNavMeshZoneSlot = mNavMeshZone.registerNavMeshZoneListener(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshZoneStatus, this, _1)); + } + + mIsNavMeshUpdating = false; + initializeNavMeshZoneForCurrentRegion(); + registerSavedSettingsListeners(); + fillInColorsForNavMeshVisualization(); + } + + if (!mRegionBoundarySlot.connected()) + { + mRegionBoundarySlot = gAgent.addRegionChangedCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this)); + } + + if (!mTeleportFailedSlot.connected()) + { + mTeleportFailedSlot = LLViewerParcelMgr::getInstance()->setTeleportFailedCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this)); + } + + if (!mPathEventSlot.connected()) + { + mPathEventSlot = LLPathfindingPathTool::getInstance()->registerPathEventListener(boost::bind(&LLFloaterPathfindingConsole::onPathEvent, this)); + } + + setDefaultInputs(); + updatePathTestStatus(); + + if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) + { + switchIntoTestPathMode(); + } } void LLFloaterPathfindingConsole::onClose(bool pIsAppQuitting) { - switchOutOfTestPathMode(); - - if (mPathEventSlot.connected()) - { - mPathEventSlot.disconnect(); - } - - if (mTeleportFailedSlot.connected()) - { - mTeleportFailedSlot.disconnect(); - } - - if (mRegionBoundarySlot.connected()) - { - mRegionBoundarySlot.disconnect(); - } - - if (mNavMeshZoneSlot.connected()) - { - mNavMeshZoneSlot.disconnect(); - } - - if (LLPathingLib::getInstance() != NULL) - { - mNavMeshZone.disable(); - } - deregisterSavedSettingsListeners(); - - setDefaultInputs(); - setConsoleState(kConsoleStateUnknown); - cleanupRenderableRestoreItems(); - - LLFloater::onClose(pIsAppQuitting); + switchOutOfTestPathMode(); + + if (mPathEventSlot.connected()) + { + mPathEventSlot.disconnect(); + } + + if (mTeleportFailedSlot.connected()) + { + mTeleportFailedSlot.disconnect(); + } + + if (mRegionBoundarySlot.connected()) + { + mRegionBoundarySlot.disconnect(); + } + + if (mNavMeshZoneSlot.connected()) + { + mNavMeshZoneSlot.disconnect(); + } + + if (LLPathingLib::getInstance() != NULL) + { + mNavMeshZone.disable(); + } + deregisterSavedSettingsListeners(); + + setDefaultInputs(); + setConsoleState(kConsoleStateUnknown); + cleanupRenderableRestoreItems(); + + LLFloater::onClose(pIsAppQuitting); } LLHandle<LLFloaterPathfindingConsole> LLFloaterPathfindingConsole::getInstanceHandle() { - if (sInstanceHandle.isDead()) - { - LLFloaterPathfindingConsole *floaterInstance = LLFloaterReg::findTypedInstance<LLFloaterPathfindingConsole>("pathfinding_console"); - if (floaterInstance != NULL) - { - sInstanceHandle = floaterInstance->mSelfHandle; - } - } - - return sInstanceHandle; + if (sInstanceHandle.isDead()) + { + LLFloaterPathfindingConsole *floaterInstance = LLFloaterReg::findTypedInstance<LLFloaterPathfindingConsole>("pathfinding_console"); + if (floaterInstance != NULL) + { + sInstanceHandle = floaterInstance->mSelfHandle; + } + } + + return sInstanceHandle; } BOOL LLFloaterPathfindingConsole::isRenderNavMesh() const { - return mShowNavMeshCheckBox->get(); + return mShowNavMeshCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderNavMesh(BOOL pIsRenderNavMesh) { - mShowNavMeshCheckBox->set(pIsRenderNavMesh); - setNavMeshRenderState(); + mShowNavMeshCheckBox->set(pIsRenderNavMesh); + setNavMeshRenderState(); } BOOL LLFloaterPathfindingConsole::isRenderWalkables() const { - return mShowWalkablesCheckBox->get(); + return mShowWalkablesCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderWalkables(BOOL pIsRenderWalkables) { - mShowWalkablesCheckBox->set(pIsRenderWalkables); + mShowWalkablesCheckBox->set(pIsRenderWalkables); } BOOL LLFloaterPathfindingConsole::isRenderStaticObstacles() const { - return mShowStaticObstaclesCheckBox->get(); + return mShowStaticObstaclesCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderStaticObstacles(BOOL pIsRenderStaticObstacles) { - mShowStaticObstaclesCheckBox->set(pIsRenderStaticObstacles); + mShowStaticObstaclesCheckBox->set(pIsRenderStaticObstacles); } BOOL LLFloaterPathfindingConsole::isRenderMaterialVolumes() const { - return mShowMaterialVolumesCheckBox->get(); + return mShowMaterialVolumesCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderMaterialVolumes(BOOL pIsRenderMaterialVolumes) { - mShowMaterialVolumesCheckBox->set(pIsRenderMaterialVolumes); + mShowMaterialVolumesCheckBox->set(pIsRenderMaterialVolumes); } BOOL LLFloaterPathfindingConsole::isRenderExclusionVolumes() const { - return mShowExclusionVolumesCheckBox->get(); + return mShowExclusionVolumesCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderExclusionVolumes(BOOL pIsRenderExclusionVolumes) { - mShowExclusionVolumesCheckBox->set(pIsRenderExclusionVolumes); + mShowExclusionVolumesCheckBox->set(pIsRenderExclusionVolumes); } BOOL LLFloaterPathfindingConsole::isRenderWorld() const { - return mShowWorldCheckBox->get(); + return mShowWorldCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderWorld(BOOL pIsRenderWorld) { - mShowWorldCheckBox->set(pIsRenderWorld); - setWorldRenderState(); + mShowWorldCheckBox->set(pIsRenderWorld); + setWorldRenderState(); } BOOL LLFloaterPathfindingConsole::isRenderWorldMovablesOnly() const { - return (mShowWorldCheckBox->get() && mShowWorldMovablesOnlyCheckBox->get()); + return (mShowWorldCheckBox->get() && mShowWorldMovablesOnlyCheckBox->get()); } void LLFloaterPathfindingConsole::setRenderWorldMovablesOnly(BOOL pIsRenderWorldMovablesOnly) { - mShowWorldMovablesOnlyCheckBox->set(pIsRenderWorldMovablesOnly); + mShowWorldMovablesOnlyCheckBox->set(pIsRenderWorldMovablesOnly); } BOOL LLFloaterPathfindingConsole::isRenderWaterPlane() const { - return mShowRenderWaterPlaneCheckBox->get(); + return mShowRenderWaterPlaneCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderWaterPlane(BOOL pIsRenderWaterPlane) { - mShowRenderWaterPlaneCheckBox->set(pIsRenderWaterPlane); + mShowRenderWaterPlaneCheckBox->set(pIsRenderWaterPlane); } BOOL LLFloaterPathfindingConsole::isRenderXRay() const { - return mShowXRayCheckBox->get(); + return mShowXRayCheckBox->get(); } void LLFloaterPathfindingConsole::setRenderXRay(BOOL pIsRenderXRay) { - mShowXRayCheckBox->set(pIsRenderXRay); + mShowXRayCheckBox->set(pIsRenderXRay); } LLPathingLib::LLPLCharacterType LLFloaterPathfindingConsole::getRenderHeatmapType() const { - LLPathingLib::LLPLCharacterType renderHeatmapType; - - switch (mShowNavMeshWalkabilityComboBox->getValue().asInteger()) - { - case XUI_RENDER_HEATMAP_NONE : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_NONE; - break; - case XUI_RENDER_HEATMAP_A : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_A; - break; - case XUI_RENDER_HEATMAP_B : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_B; - break; - case XUI_RENDER_HEATMAP_C : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_C; - break; - case XUI_RENDER_HEATMAP_D : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_D; - break; - default : - renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_NONE; - llassert(0); - break; - } - - return renderHeatmapType; + LLPathingLib::LLPLCharacterType renderHeatmapType; + + switch (mShowNavMeshWalkabilityComboBox->getValue().asInteger()) + { + case XUI_RENDER_HEATMAP_NONE : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_NONE; + break; + case XUI_RENDER_HEATMAP_A : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_A; + break; + case XUI_RENDER_HEATMAP_B : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_B; + break; + case XUI_RENDER_HEATMAP_C : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_C; + break; + case XUI_RENDER_HEATMAP_D : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_D; + break; + default : + renderHeatmapType = LLPathingLib::LLPL_CHARACTER_TYPE_NONE; + llassert(0); + break; + } + + return renderHeatmapType; } void LLFloaterPathfindingConsole::setRenderHeatmapType(LLPathingLib::LLPLCharacterType pRenderHeatmapType) { - LLSD comboBoxValue; - - switch (pRenderHeatmapType) - { - case LLPathingLib::LLPL_CHARACTER_TYPE_NONE : - comboBoxValue = XUI_RENDER_HEATMAP_NONE; - break; - case LLPathingLib::LLPL_CHARACTER_TYPE_A : - comboBoxValue = XUI_RENDER_HEATMAP_A; - break; - case LLPathingLib::LLPL_CHARACTER_TYPE_B : - comboBoxValue = XUI_RENDER_HEATMAP_B; - break; - case LLPathingLib::LLPL_CHARACTER_TYPE_C : - comboBoxValue = XUI_RENDER_HEATMAP_C; - break; - case LLPathingLib::LLPL_CHARACTER_TYPE_D : - comboBoxValue = XUI_RENDER_HEATMAP_D; - break; - default : - comboBoxValue = XUI_RENDER_HEATMAP_NONE; - llassert(0); - break; - } - - mShowNavMeshWalkabilityComboBox->setValue(comboBoxValue); + LLSD comboBoxValue; + + switch (pRenderHeatmapType) + { + case LLPathingLib::LLPL_CHARACTER_TYPE_NONE : + comboBoxValue = XUI_RENDER_HEATMAP_NONE; + break; + case LLPathingLib::LLPL_CHARACTER_TYPE_A : + comboBoxValue = XUI_RENDER_HEATMAP_A; + break; + case LLPathingLib::LLPL_CHARACTER_TYPE_B : + comboBoxValue = XUI_RENDER_HEATMAP_B; + break; + case LLPathingLib::LLPL_CHARACTER_TYPE_C : + comboBoxValue = XUI_RENDER_HEATMAP_C; + break; + case LLPathingLib::LLPL_CHARACTER_TYPE_D : + comboBoxValue = XUI_RENDER_HEATMAP_D; + break; + default : + comboBoxValue = XUI_RENDER_HEATMAP_NONE; + llassert(0); + break; + } + + mShowNavMeshWalkabilityComboBox->setValue(comboBoxValue); } LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed) - : LLFloater(pSeed), - mSelfHandle(), - mViewTestTabContainer(NULL), - mViewTab(NULL), - mShowLabel(NULL), - mShowWorldCheckBox(NULL), - mShowWorldMovablesOnlyCheckBox(NULL), - mShowNavMeshCheckBox(NULL), - mShowNavMeshWalkabilityLabel(NULL), - mShowNavMeshWalkabilityComboBox(NULL), - mShowWalkablesCheckBox(NULL), - mShowStaticObstaclesCheckBox(NULL), - mShowMaterialVolumesCheckBox(NULL), - mShowExclusionVolumesCheckBox(NULL), - mShowRenderWaterPlaneCheckBox(NULL), - mShowXRayCheckBox(NULL), - mPathfindingViewerStatus(NULL), - mPathfindingSimulatorStatus(NULL), - mTestTab(NULL), - mCtrlClickLabel(), - mShiftClickLabel(), - mCharacterWidthLabel(), - mCharacterWidthUnitLabel(), - mCharacterWidthSlider(NULL), - mCharacterTypeLabel(), - mCharacterTypeComboBox(NULL), - mPathTestingStatus(NULL), - mClearPathButton(NULL), - mErrorColor(), - mWarningColor(), - mNavMeshZoneSlot(), - mNavMeshZone(), - mIsNavMeshUpdating(false), - mRegionBoundarySlot(), - mTeleportFailedSlot(), - mPathEventSlot(), - mPathfindingToolset(NULL), - mSavedToolset(NULL), - mSavedSettingRetrieveNeighborSlot(), - mSavedSettingWalkableSlot(), - mSavedSettingStaticObstacleSlot(), - mSavedSettingMaterialVolumeSlot(), - mSavedSettingExclusionVolumeSlot(), - mSavedSettingInteriorEdgeSlot(), - mSavedSettingExteriorEdgeSlot(), - mSavedSettingHeatmapMinSlot(), - mSavedSettingHeatmapMaxSlot(), - mSavedSettingNavMeshFaceSlot(), - mSavedSettingTestPathValidEndSlot(), - mSavedSettingTestPathInvalidEndSlot(), - mSavedSettingTestPathSlot(), - mSavedSettingWaterSlot(), - mConsoleState(kConsoleStateUnknown), - mRenderableRestoreList() + : LLFloater(pSeed), + mSelfHandle(), + mViewTestTabContainer(NULL), + mViewTab(NULL), + mShowLabel(NULL), + mShowWorldCheckBox(NULL), + mShowWorldMovablesOnlyCheckBox(NULL), + mShowNavMeshCheckBox(NULL), + mShowNavMeshWalkabilityLabel(NULL), + mShowNavMeshWalkabilityComboBox(NULL), + mShowWalkablesCheckBox(NULL), + mShowStaticObstaclesCheckBox(NULL), + mShowMaterialVolumesCheckBox(NULL), + mShowExclusionVolumesCheckBox(NULL), + mShowRenderWaterPlaneCheckBox(NULL), + mShowXRayCheckBox(NULL), + mPathfindingViewerStatus(NULL), + mPathfindingSimulatorStatus(NULL), + mTestTab(NULL), + mCtrlClickLabel(), + mShiftClickLabel(), + mCharacterWidthLabel(), + mCharacterWidthUnitLabel(), + mCharacterWidthSlider(NULL), + mCharacterTypeLabel(), + mCharacterTypeComboBox(NULL), + mPathTestingStatus(NULL), + mClearPathButton(NULL), + mErrorColor(), + mWarningColor(), + mNavMeshZoneSlot(), + mNavMeshZone(), + mIsNavMeshUpdating(false), + mRegionBoundarySlot(), + mTeleportFailedSlot(), + mPathEventSlot(), + mPathfindingToolset(NULL), + mSavedToolset(NULL), + mSavedSettingRetrieveNeighborSlot(), + mSavedSettingWalkableSlot(), + mSavedSettingStaticObstacleSlot(), + mSavedSettingMaterialVolumeSlot(), + mSavedSettingExclusionVolumeSlot(), + mSavedSettingInteriorEdgeSlot(), + mSavedSettingExteriorEdgeSlot(), + mSavedSettingHeatmapMinSlot(), + mSavedSettingHeatmapMaxSlot(), + mSavedSettingNavMeshFaceSlot(), + mSavedSettingTestPathValidEndSlot(), + mSavedSettingTestPathInvalidEndSlot(), + mSavedSettingTestPathSlot(), + mSavedSettingWaterSlot(), + mConsoleState(kConsoleStateUnknown), + mRenderableRestoreList() { - mSelfHandle.bind(this); + mSelfHandle.bind(this); } LLFloaterPathfindingConsole::~LLFloaterPathfindingConsole() @@ -514,760 +514,760 @@ LLFloaterPathfindingConsole::~LLFloaterPathfindingConsole() void LLFloaterPathfindingConsole::onTabSwitch() { - if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) - { - switchIntoTestPathMode(); - } - else - { - switchOutOfTestPathMode(); - } + if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) + { + switchIntoTestPathMode(); + } + else + { + switchOutOfTestPathMode(); + } } void LLFloaterPathfindingConsole::onShowWorldSet() { - setWorldRenderState(); - updateRenderablesObjects(); + setWorldRenderState(); + updateRenderablesObjects(); } void LLFloaterPathfindingConsole::onShowWorldMovablesOnlySet() { - updateRenderablesObjects(); + updateRenderablesObjects(); } void LLFloaterPathfindingConsole::onShowNavMeshSet() { - setNavMeshRenderState(); + setNavMeshRenderState(); } void LLFloaterPathfindingConsole::onShowWalkabilitySet() { - if (LLPathingLib::getInstance() != NULL) - { - LLPathingLib::getInstance()->setNavMeshMaterialType(getRenderHeatmapType()); - } + if (LLPathingLib::getInstance() != NULL) + { + LLPathingLib::getInstance()->setNavMeshMaterialType(getRenderHeatmapType()); + } } void LLFloaterPathfindingConsole::onCharacterWidthSet() { - updateCharacterWidth(); + updateCharacterWidth(); } void LLFloaterPathfindingConsole::onCharacterTypeSwitch() { - updateCharacterType(); + updateCharacterType(); } void LLFloaterPathfindingConsole::onClearPathClicked() { - clearPath(); + clearPath(); } void LLFloaterPathfindingConsole::handleNavMeshZoneStatus(LLPathfindingNavMeshZone::ENavMeshZoneRequestStatus pNavMeshZoneRequestStatus) { - switch (pNavMeshZoneRequestStatus) - { - case LLPathfindingNavMeshZone::kNavMeshZoneRequestUnknown : - setConsoleState(kConsoleStateUnknown); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestWaiting : - setConsoleState(kConsoleStateRegionLoading); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestChecking : - setConsoleState(kConsoleStateCheckingVersion); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestNeedsUpdate : - mIsNavMeshUpdating = true; - mNavMeshZone.refresh(); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestStarted : - setConsoleState(kConsoleStateDownloading); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestCompleted : - mIsNavMeshUpdating = false; - setConsoleState(kConsoleStateHasNavMesh); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestNotEnabled : - setConsoleState(kConsoleStateRegionNotEnabled); - break; - case LLPathfindingNavMeshZone::kNavMeshZoneRequestError : - setConsoleState(kConsoleStateError); - break; - default: - setConsoleState(kConsoleStateUnknown); - llassert(0); - break; - } + switch (pNavMeshZoneRequestStatus) + { + case LLPathfindingNavMeshZone::kNavMeshZoneRequestUnknown : + setConsoleState(kConsoleStateUnknown); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestWaiting : + setConsoleState(kConsoleStateRegionLoading); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestChecking : + setConsoleState(kConsoleStateCheckingVersion); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestNeedsUpdate : + mIsNavMeshUpdating = true; + mNavMeshZone.refresh(); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestStarted : + setConsoleState(kConsoleStateDownloading); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestCompleted : + mIsNavMeshUpdating = false; + setConsoleState(kConsoleStateHasNavMesh); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestNotEnabled : + setConsoleState(kConsoleStateRegionNotEnabled); + break; + case LLPathfindingNavMeshZone::kNavMeshZoneRequestError : + setConsoleState(kConsoleStateError); + break; + default: + setConsoleState(kConsoleStateUnknown); + llassert(0); + break; + } } void LLFloaterPathfindingConsole::onRegionBoundaryCross() -{ - initializeNavMeshZoneForCurrentRegion(); - setRenderWorld(TRUE); - setRenderWorldMovablesOnly(FALSE); +{ + initializeNavMeshZoneForCurrentRegion(); + setRenderWorld(TRUE); + setRenderWorldMovablesOnly(FALSE); } void LLFloaterPathfindingConsole::onPathEvent() { - const LLPathfindingPathTool *pathToolInstance = LLPathfindingPathTool::getInstance(); - - mCharacterWidthSlider->setValue(LLSD(pathToolInstance->getCharacterWidth())); - - LLSD characterType; - switch (pathToolInstance->getCharacterType()) - { - case LLPathfindingPathTool::kCharacterTypeNone : - characterType = XUI_CHARACTER_TYPE_NONE; - break; - case LLPathfindingPathTool::kCharacterTypeA : - characterType = XUI_CHARACTER_TYPE_A; - break; - case LLPathfindingPathTool::kCharacterTypeB : - characterType = XUI_CHARACTER_TYPE_B; - break; - case LLPathfindingPathTool::kCharacterTypeC : - characterType = XUI_CHARACTER_TYPE_C; - break; - case LLPathfindingPathTool::kCharacterTypeD : - characterType = XUI_CHARACTER_TYPE_D; - break; - default : - characterType = XUI_CHARACTER_TYPE_NONE; - llassert(0); - break; - } - mCharacterTypeComboBox->setValue(characterType); - - updatePathTestStatus(); + const LLPathfindingPathTool *pathToolInstance = LLPathfindingPathTool::getInstance(); + + mCharacterWidthSlider->setValue(LLSD(pathToolInstance->getCharacterWidth())); + + LLSD characterType; + switch (pathToolInstance->getCharacterType()) + { + case LLPathfindingPathTool::kCharacterTypeNone : + characterType = XUI_CHARACTER_TYPE_NONE; + break; + case LLPathfindingPathTool::kCharacterTypeA : + characterType = XUI_CHARACTER_TYPE_A; + break; + case LLPathfindingPathTool::kCharacterTypeB : + characterType = XUI_CHARACTER_TYPE_B; + break; + case LLPathfindingPathTool::kCharacterTypeC : + characterType = XUI_CHARACTER_TYPE_C; + break; + case LLPathfindingPathTool::kCharacterTypeD : + characterType = XUI_CHARACTER_TYPE_D; + break; + default : + characterType = XUI_CHARACTER_TYPE_NONE; + llassert(0); + break; + } + mCharacterTypeComboBox->setValue(characterType); + + updatePathTestStatus(); } void LLFloaterPathfindingConsole::setDefaultInputs() { - mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); - setRenderWorld(TRUE); - setRenderWorldMovablesOnly(FALSE); - setRenderNavMesh(FALSE); - setRenderWalkables(FALSE); - setRenderMaterialVolumes(FALSE); - setRenderStaticObstacles(FALSE); - setRenderExclusionVolumes(FALSE); - setRenderWaterPlane(FALSE); - setRenderXRay(FALSE); + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + setRenderWorld(TRUE); + setRenderWorldMovablesOnly(FALSE); + setRenderNavMesh(FALSE); + setRenderWalkables(FALSE); + setRenderMaterialVolumes(FALSE); + setRenderStaticObstacles(FALSE); + setRenderExclusionVolumes(FALSE); + setRenderWaterPlane(FALSE); + setRenderXRay(FALSE); } void LLFloaterPathfindingConsole::setConsoleState(EConsoleState pConsoleState) { - mConsoleState = pConsoleState; - updateControlsOnConsoleState(); - updateViewerStatusOnConsoleState(); - updateSimulatorStatusOnConsoleState(); + mConsoleState = pConsoleState; + updateControlsOnConsoleState(); + updateViewerStatusOnConsoleState(); + updateSimulatorStatusOnConsoleState(); } void LLFloaterPathfindingConsole::setWorldRenderState() { - BOOL renderWorld = isRenderWorld(); + BOOL renderWorld = isRenderWorld(); - mShowWorldMovablesOnlyCheckBox->setEnabled(renderWorld && mShowWorldCheckBox->getEnabled()); - if (!renderWorld) - { - mShowWorldMovablesOnlyCheckBox->set(FALSE); - } + mShowWorldMovablesOnlyCheckBox->setEnabled(renderWorld && mShowWorldCheckBox->getEnabled()); + if (!renderWorld) + { + mShowWorldMovablesOnlyCheckBox->set(FALSE); + } } void LLFloaterPathfindingConsole::setNavMeshRenderState() { - BOOL renderNavMesh = isRenderNavMesh(); + BOOL renderNavMesh = isRenderNavMesh(); - mShowNavMeshWalkabilityLabel->setEnabled(renderNavMesh); - mShowNavMeshWalkabilityComboBox->setEnabled(renderNavMesh); + mShowNavMeshWalkabilityLabel->setEnabled(renderNavMesh); + mShowNavMeshWalkabilityComboBox->setEnabled(renderNavMesh); } void LLFloaterPathfindingConsole::updateRenderablesObjects() { - if ( isRenderWorldMovablesOnly() ) - { - gPipeline.hidePermanentObjects( mRenderableRestoreList ); - } - else - { - cleanupRenderableRestoreItems(); - } + if ( isRenderWorldMovablesOnly() ) + { + gPipeline.hidePermanentObjects( mRenderableRestoreList ); + } + else + { + cleanupRenderableRestoreItems(); + } } void LLFloaterPathfindingConsole::updateControlsOnConsoleState() { - switch (mConsoleState) - { - case kConsoleStateUnknown : - case kConsoleStateRegionNotEnabled : - case kConsoleStateRegionLoading : - mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); - mViewTab->setEnabled(FALSE); - mShowLabel->setEnabled(FALSE); - mShowWorldCheckBox->setEnabled(FALSE); - mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); - mShowNavMeshCheckBox->setEnabled(FALSE); - mShowNavMeshWalkabilityLabel->setEnabled(FALSE); - mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); - mShowWalkablesCheckBox->setEnabled(FALSE); - mShowStaticObstaclesCheckBox->setEnabled(FALSE); - mShowMaterialVolumesCheckBox->setEnabled(FALSE); - mShowExclusionVolumesCheckBox->setEnabled(FALSE); - mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); - mShowXRayCheckBox->setEnabled(FALSE); - mTestTab->setEnabled(FALSE); - mCtrlClickLabel->setEnabled(FALSE); - mShiftClickLabel->setEnabled(FALSE); - mCharacterWidthLabel->setEnabled(FALSE); - mCharacterWidthUnitLabel->setEnabled(FALSE); - mCharacterWidthSlider->setEnabled(FALSE); - mCharacterTypeLabel->setEnabled(FALSE); - mCharacterTypeComboBox->setEnabled(FALSE); - mClearPathButton->setEnabled(FALSE); - clearPath(); - break; - case kConsoleStateLibraryNotImplemented : - mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); - mViewTab->setEnabled(FALSE); - mShowLabel->setEnabled(FALSE); - mShowWorldCheckBox->setEnabled(FALSE); - mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); - mShowNavMeshCheckBox->setEnabled(FALSE); - mShowNavMeshWalkabilityLabel->setEnabled(FALSE); - mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); - mShowWalkablesCheckBox->setEnabled(FALSE); - mShowStaticObstaclesCheckBox->setEnabled(FALSE); - mShowMaterialVolumesCheckBox->setEnabled(FALSE); - mShowExclusionVolumesCheckBox->setEnabled(FALSE); - mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); - mShowXRayCheckBox->setEnabled(FALSE); - mTestTab->setEnabled(FALSE); - mCtrlClickLabel->setEnabled(FALSE); - mShiftClickLabel->setEnabled(FALSE); - mCharacterWidthLabel->setEnabled(FALSE); - mCharacterWidthUnitLabel->setEnabled(FALSE); - mCharacterWidthSlider->setEnabled(FALSE); - mCharacterTypeLabel->setEnabled(FALSE); - mCharacterTypeComboBox->setEnabled(FALSE); - mClearPathButton->setEnabled(FALSE); - clearPath(); - break; - case kConsoleStateCheckingVersion : - case kConsoleStateDownloading : - case kConsoleStateError : - mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); - mViewTab->setEnabled(FALSE); - mShowLabel->setEnabled(FALSE); - mShowWorldCheckBox->setEnabled(FALSE); - mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); - mShowNavMeshCheckBox->setEnabled(FALSE); - mShowNavMeshWalkabilityLabel->setEnabled(FALSE); - mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); - mShowWalkablesCheckBox->setEnabled(FALSE); - mShowStaticObstaclesCheckBox->setEnabled(FALSE); - mShowMaterialVolumesCheckBox->setEnabled(FALSE); - mShowExclusionVolumesCheckBox->setEnabled(FALSE); - mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); - mShowXRayCheckBox->setEnabled(FALSE); - mTestTab->setEnabled(FALSE); - mCtrlClickLabel->setEnabled(FALSE); - mShiftClickLabel->setEnabled(FALSE); - mCharacterWidthLabel->setEnabled(FALSE); - mCharacterWidthUnitLabel->setEnabled(FALSE); - mCharacterWidthSlider->setEnabled(FALSE); - mCharacterTypeLabel->setEnabled(FALSE); - mCharacterTypeComboBox->setEnabled(FALSE); - mClearPathButton->setEnabled(FALSE); - clearPath(); - break; - case kConsoleStateHasNavMesh : - mViewTab->setEnabled(TRUE); - mShowLabel->setEnabled(TRUE); - mShowWorldCheckBox->setEnabled(TRUE); - setWorldRenderState(); - mShowNavMeshCheckBox->setEnabled(TRUE); - setNavMeshRenderState(); - mShowWalkablesCheckBox->setEnabled(TRUE); - mShowStaticObstaclesCheckBox->setEnabled(TRUE); - mShowMaterialVolumesCheckBox->setEnabled(TRUE); - mShowExclusionVolumesCheckBox->setEnabled(TRUE); - mShowRenderWaterPlaneCheckBox->setEnabled(TRUE); - mShowXRayCheckBox->setEnabled(TRUE); - mTestTab->setEnabled(TRUE); - mCtrlClickLabel->setEnabled(TRUE); - mShiftClickLabel->setEnabled(TRUE); - mCharacterWidthLabel->setEnabled(TRUE); - mCharacterWidthUnitLabel->setEnabled(TRUE); - mCharacterWidthSlider->setEnabled(TRUE); - mCharacterTypeLabel->setEnabled(TRUE); - mCharacterTypeComboBox->setEnabled(TRUE); - mClearPathButton->setEnabled(TRUE); - break; - default : - llassert(0); - break; - } + switch (mConsoleState) + { + case kConsoleStateUnknown : + case kConsoleStateRegionNotEnabled : + case kConsoleStateRegionLoading : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); + mShowLabel->setEnabled(FALSE); + mShowWorldCheckBox->setEnabled(FALSE); + mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); + mShowNavMeshCheckBox->setEnabled(FALSE); + mShowNavMeshWalkabilityLabel->setEnabled(FALSE); + mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); + mShowWalkablesCheckBox->setEnabled(FALSE); + mShowStaticObstaclesCheckBox->setEnabled(FALSE); + mShowMaterialVolumesCheckBox->setEnabled(FALSE); + mShowExclusionVolumesCheckBox->setEnabled(FALSE); + mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); + mShowXRayCheckBox->setEnabled(FALSE); + mTestTab->setEnabled(FALSE); + mCtrlClickLabel->setEnabled(FALSE); + mShiftClickLabel->setEnabled(FALSE); + mCharacterWidthLabel->setEnabled(FALSE); + mCharacterWidthUnitLabel->setEnabled(FALSE); + mCharacterWidthSlider->setEnabled(FALSE); + mCharacterTypeLabel->setEnabled(FALSE); + mCharacterTypeComboBox->setEnabled(FALSE); + mClearPathButton->setEnabled(FALSE); + clearPath(); + break; + case kConsoleStateLibraryNotImplemented : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); + mShowLabel->setEnabled(FALSE); + mShowWorldCheckBox->setEnabled(FALSE); + mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); + mShowNavMeshCheckBox->setEnabled(FALSE); + mShowNavMeshWalkabilityLabel->setEnabled(FALSE); + mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); + mShowWalkablesCheckBox->setEnabled(FALSE); + mShowStaticObstaclesCheckBox->setEnabled(FALSE); + mShowMaterialVolumesCheckBox->setEnabled(FALSE); + mShowExclusionVolumesCheckBox->setEnabled(FALSE); + mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); + mShowXRayCheckBox->setEnabled(FALSE); + mTestTab->setEnabled(FALSE); + mCtrlClickLabel->setEnabled(FALSE); + mShiftClickLabel->setEnabled(FALSE); + mCharacterWidthLabel->setEnabled(FALSE); + mCharacterWidthUnitLabel->setEnabled(FALSE); + mCharacterWidthSlider->setEnabled(FALSE); + mCharacterTypeLabel->setEnabled(FALSE); + mCharacterTypeComboBox->setEnabled(FALSE); + mClearPathButton->setEnabled(FALSE); + clearPath(); + break; + case kConsoleStateCheckingVersion : + case kConsoleStateDownloading : + case kConsoleStateError : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); + mShowLabel->setEnabled(FALSE); + mShowWorldCheckBox->setEnabled(FALSE); + mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); + mShowNavMeshCheckBox->setEnabled(FALSE); + mShowNavMeshWalkabilityLabel->setEnabled(FALSE); + mShowNavMeshWalkabilityComboBox->setEnabled(FALSE); + mShowWalkablesCheckBox->setEnabled(FALSE); + mShowStaticObstaclesCheckBox->setEnabled(FALSE); + mShowMaterialVolumesCheckBox->setEnabled(FALSE); + mShowExclusionVolumesCheckBox->setEnabled(FALSE); + mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); + mShowXRayCheckBox->setEnabled(FALSE); + mTestTab->setEnabled(FALSE); + mCtrlClickLabel->setEnabled(FALSE); + mShiftClickLabel->setEnabled(FALSE); + mCharacterWidthLabel->setEnabled(FALSE); + mCharacterWidthUnitLabel->setEnabled(FALSE); + mCharacterWidthSlider->setEnabled(FALSE); + mCharacterTypeLabel->setEnabled(FALSE); + mCharacterTypeComboBox->setEnabled(FALSE); + mClearPathButton->setEnabled(FALSE); + clearPath(); + break; + case kConsoleStateHasNavMesh : + mViewTab->setEnabled(TRUE); + mShowLabel->setEnabled(TRUE); + mShowWorldCheckBox->setEnabled(TRUE); + setWorldRenderState(); + mShowNavMeshCheckBox->setEnabled(TRUE); + setNavMeshRenderState(); + mShowWalkablesCheckBox->setEnabled(TRUE); + mShowStaticObstaclesCheckBox->setEnabled(TRUE); + mShowMaterialVolumesCheckBox->setEnabled(TRUE); + mShowExclusionVolumesCheckBox->setEnabled(TRUE); + mShowRenderWaterPlaneCheckBox->setEnabled(TRUE); + mShowXRayCheckBox->setEnabled(TRUE); + mTestTab->setEnabled(TRUE); + mCtrlClickLabel->setEnabled(TRUE); + mShiftClickLabel->setEnabled(TRUE); + mCharacterWidthLabel->setEnabled(TRUE); + mCharacterWidthUnitLabel->setEnabled(TRUE); + mCharacterWidthSlider->setEnabled(TRUE); + mCharacterTypeLabel->setEnabled(TRUE); + mCharacterTypeComboBox->setEnabled(TRUE); + mClearPathButton->setEnabled(TRUE); + break; + default : + llassert(0); + break; + } } void LLFloaterPathfindingConsole::updateViewerStatusOnConsoleState() { - std::string viewerStatusText(""); - LLStyle::Params viewerStyleParams; - - switch (mConsoleState) - { - case kConsoleStateUnknown : - viewerStatusText = getString("navmesh_viewer_status_unknown"); - viewerStyleParams.color = mErrorColor; - break; - case kConsoleStateLibraryNotImplemented : - viewerStatusText = getString("navmesh_viewer_status_library_not_implemented"); - viewerStyleParams.color = mErrorColor; - break; - case kConsoleStateRegionNotEnabled : - viewerStatusText = getString("navmesh_viewer_status_region_not_enabled"); - viewerStyleParams.color = mErrorColor; - break; - case kConsoleStateRegionLoading : - viewerStatusText = getString("navmesh_viewer_status_region_loading"); - viewerStyleParams.color = mWarningColor; - break; - case kConsoleStateCheckingVersion : - viewerStatusText = getString("navmesh_viewer_status_checking_version"); - viewerStyleParams.color = mWarningColor; - break; - case kConsoleStateDownloading : - if (mIsNavMeshUpdating) - { - viewerStatusText = getString("navmesh_viewer_status_updating"); - } - else - { - viewerStatusText = getString("navmesh_viewer_status_downloading"); - } - viewerStyleParams.color = mWarningColor; - break; - case kConsoleStateHasNavMesh : - viewerStatusText = getString("navmesh_viewer_status_has_navmesh"); - break; - case kConsoleStateError : - viewerStatusText = getString("navmesh_viewer_status_error"); - viewerStyleParams.color = mErrorColor; - break; - default : - viewerStatusText = getString("navmesh_viewer_status_unknown"); - viewerStyleParams.color = mErrorColor; - llassert(0); - break; - } - - mPathfindingViewerStatus->setText((LLStringExplicit)viewerStatusText, viewerStyleParams); + std::string viewerStatusText(""); + LLStyle::Params viewerStyleParams; + + switch (mConsoleState) + { + case kConsoleStateUnknown : + viewerStatusText = getString("navmesh_viewer_status_unknown"); + viewerStyleParams.color = mErrorColor; + break; + case kConsoleStateLibraryNotImplemented : + viewerStatusText = getString("navmesh_viewer_status_library_not_implemented"); + viewerStyleParams.color = mErrorColor; + break; + case kConsoleStateRegionNotEnabled : + viewerStatusText = getString("navmesh_viewer_status_region_not_enabled"); + viewerStyleParams.color = mErrorColor; + break; + case kConsoleStateRegionLoading : + viewerStatusText = getString("navmesh_viewer_status_region_loading"); + viewerStyleParams.color = mWarningColor; + break; + case kConsoleStateCheckingVersion : + viewerStatusText = getString("navmesh_viewer_status_checking_version"); + viewerStyleParams.color = mWarningColor; + break; + case kConsoleStateDownloading : + if (mIsNavMeshUpdating) + { + viewerStatusText = getString("navmesh_viewer_status_updating"); + } + else + { + viewerStatusText = getString("navmesh_viewer_status_downloading"); + } + viewerStyleParams.color = mWarningColor; + break; + case kConsoleStateHasNavMesh : + viewerStatusText = getString("navmesh_viewer_status_has_navmesh"); + break; + case kConsoleStateError : + viewerStatusText = getString("navmesh_viewer_status_error"); + viewerStyleParams.color = mErrorColor; + break; + default : + viewerStatusText = getString("navmesh_viewer_status_unknown"); + viewerStyleParams.color = mErrorColor; + llassert(0); + break; + } + + mPathfindingViewerStatus->setText((LLStringExplicit)viewerStatusText, viewerStyleParams); } void LLFloaterPathfindingConsole::updateSimulatorStatusOnConsoleState() { - std::string simulatorStatusText(""); - LLStyle::Params simulatorStyleParams; - - switch (mConsoleState) - { - case kConsoleStateUnknown : - case kConsoleStateLibraryNotImplemented : - case kConsoleStateRegionNotEnabled : - case kConsoleStateRegionLoading : - case kConsoleStateCheckingVersion : - case kConsoleStateError : - simulatorStatusText = getString("navmesh_simulator_status_unknown"); - simulatorStyleParams.color = mErrorColor; - break; - case kConsoleStateDownloading : - case kConsoleStateHasNavMesh : - switch (mNavMeshZone.getNavMeshZoneStatus()) - { - case LLPathfindingNavMeshZone::kNavMeshZonePending : - simulatorStatusText = getString("navmesh_simulator_status_pending"); - simulatorStyleParams.color = mWarningColor; - break; - case LLPathfindingNavMeshZone::kNavMeshZoneBuilding : - simulatorStatusText = getString("navmesh_simulator_status_building"); - simulatorStyleParams.color = mWarningColor; - break; - case LLPathfindingNavMeshZone::kNavMeshZoneSomePending : - simulatorStatusText = getString("navmesh_simulator_status_some_pending"); - simulatorStyleParams.color = mWarningColor; - break; - case LLPathfindingNavMeshZone::kNavMeshZoneSomeBuilding : - simulatorStatusText = getString("navmesh_simulator_status_some_building"); - simulatorStyleParams.color = mWarningColor; - break; - case LLPathfindingNavMeshZone::kNavMeshZonePendingAndBuilding : - simulatorStatusText = getString("navmesh_simulator_status_pending_and_building"); - simulatorStyleParams.color = mWarningColor; - break; - case LLPathfindingNavMeshZone::kNavMeshZoneComplete : - simulatorStatusText = getString("navmesh_simulator_status_complete"); - break; - default : - simulatorStatusText = getString("navmesh_simulator_status_unknown"); - simulatorStyleParams.color = mErrorColor; - break; - } - break; - default : - simulatorStatusText = getString("navmesh_simulator_status_unknown"); - simulatorStyleParams.color = mErrorColor; - llassert(0); - break; - } - - mPathfindingSimulatorStatus->setText((LLStringExplicit)simulatorStatusText, simulatorStyleParams); + std::string simulatorStatusText(""); + LLStyle::Params simulatorStyleParams; + + switch (mConsoleState) + { + case kConsoleStateUnknown : + case kConsoleStateLibraryNotImplemented : + case kConsoleStateRegionNotEnabled : + case kConsoleStateRegionLoading : + case kConsoleStateCheckingVersion : + case kConsoleStateError : + simulatorStatusText = getString("navmesh_simulator_status_unknown"); + simulatorStyleParams.color = mErrorColor; + break; + case kConsoleStateDownloading : + case kConsoleStateHasNavMesh : + switch (mNavMeshZone.getNavMeshZoneStatus()) + { + case LLPathfindingNavMeshZone::kNavMeshZonePending : + simulatorStatusText = getString("navmesh_simulator_status_pending"); + simulatorStyleParams.color = mWarningColor; + break; + case LLPathfindingNavMeshZone::kNavMeshZoneBuilding : + simulatorStatusText = getString("navmesh_simulator_status_building"); + simulatorStyleParams.color = mWarningColor; + break; + case LLPathfindingNavMeshZone::kNavMeshZoneSomePending : + simulatorStatusText = getString("navmesh_simulator_status_some_pending"); + simulatorStyleParams.color = mWarningColor; + break; + case LLPathfindingNavMeshZone::kNavMeshZoneSomeBuilding : + simulatorStatusText = getString("navmesh_simulator_status_some_building"); + simulatorStyleParams.color = mWarningColor; + break; + case LLPathfindingNavMeshZone::kNavMeshZonePendingAndBuilding : + simulatorStatusText = getString("navmesh_simulator_status_pending_and_building"); + simulatorStyleParams.color = mWarningColor; + break; + case LLPathfindingNavMeshZone::kNavMeshZoneComplete : + simulatorStatusText = getString("navmesh_simulator_status_complete"); + break; + default : + simulatorStatusText = getString("navmesh_simulator_status_unknown"); + simulatorStyleParams.color = mErrorColor; + break; + } + break; + default : + simulatorStatusText = getString("navmesh_simulator_status_unknown"); + simulatorStyleParams.color = mErrorColor; + llassert(0); + break; + } + + mPathfindingSimulatorStatus->setText((LLStringExplicit)simulatorStatusText, simulatorStyleParams); } void LLFloaterPathfindingConsole::initializeNavMeshZoneForCurrentRegion() { - mNavMeshZone.disable(); - mNavMeshZone.initialize(); - mNavMeshZone.enable(); - mNavMeshZone.refresh(); - cleanupRenderableRestoreItems(); + mNavMeshZone.disable(); + mNavMeshZone.initialize(); + mNavMeshZone.enable(); + mNavMeshZone.refresh(); + cleanupRenderableRestoreItems(); } void LLFloaterPathfindingConsole::cleanupRenderableRestoreItems() { - if ( !mRenderableRestoreList.empty() ) - { - gPipeline.restorePermanentObjects( mRenderableRestoreList ); - mRenderableRestoreList.clear(); - } - else - { - gPipeline.skipRenderingOfTerrain( false ); - } + if ( !mRenderableRestoreList.empty() ) + { + gPipeline.restorePermanentObjects( mRenderableRestoreList ); + mRenderableRestoreList.clear(); + } + else + { + gPipeline.skipRenderingOfTerrain( false ); + } } void LLFloaterPathfindingConsole::switchIntoTestPathMode() { - if (LLPathingLib::getInstance() != NULL) - { - llassert(mPathfindingToolset != NULL); - LLToolMgr *toolMgrInstance = LLToolMgr::getInstance(); - if (toolMgrInstance->getCurrentToolset() != mPathfindingToolset) - { - mSavedToolset = toolMgrInstance->getCurrentToolset(); - toolMgrInstance->setCurrentToolset(mPathfindingToolset); - } - } + if (LLPathingLib::getInstance() != NULL) + { + llassert(mPathfindingToolset != NULL); + LLToolMgr *toolMgrInstance = LLToolMgr::getInstance(); + if (toolMgrInstance->getCurrentToolset() != mPathfindingToolset) + { + mSavedToolset = toolMgrInstance->getCurrentToolset(); + toolMgrInstance->setCurrentToolset(mPathfindingToolset); + } + } } void LLFloaterPathfindingConsole::switchOutOfTestPathMode() { - if (LLPathingLib::getInstance() != NULL) - { - llassert(mPathfindingToolset != NULL); - LLToolMgr *toolMgrInstance = LLToolMgr::getInstance(); - if (toolMgrInstance->getCurrentToolset() == mPathfindingToolset) - { - toolMgrInstance->setCurrentToolset(mSavedToolset); - mSavedToolset = NULL; - } - } + if (LLPathingLib::getInstance() != NULL) + { + llassert(mPathfindingToolset != NULL); + LLToolMgr *toolMgrInstance = LLToolMgr::getInstance(); + if (toolMgrInstance->getCurrentToolset() == mPathfindingToolset) + { + toolMgrInstance->setCurrentToolset(mSavedToolset); + mSavedToolset = NULL; + } + } } void LLFloaterPathfindingConsole::updateCharacterWidth() { - LLPathfindingPathTool::getInstance()->setCharacterWidth(mCharacterWidthSlider->getValueF32()); + LLPathfindingPathTool::getInstance()->setCharacterWidth(mCharacterWidthSlider->getValueF32()); } void LLFloaterPathfindingConsole::updateCharacterType() { - LLPathfindingPathTool::ECharacterType characterType; - - switch (mCharacterTypeComboBox->getValue().asInteger()) - { - case XUI_CHARACTER_TYPE_NONE : - characterType = LLPathfindingPathTool::kCharacterTypeNone; - break; - case XUI_CHARACTER_TYPE_A : - characterType = LLPathfindingPathTool::kCharacterTypeA; - break; - case XUI_CHARACTER_TYPE_B : - characterType = LLPathfindingPathTool::kCharacterTypeB; - break; - case XUI_CHARACTER_TYPE_C : - characterType = LLPathfindingPathTool::kCharacterTypeC; - break; - case XUI_CHARACTER_TYPE_D : - characterType = LLPathfindingPathTool::kCharacterTypeD; - break; - default : - characterType = LLPathfindingPathTool::kCharacterTypeNone; - llassert(0); - break; - } - - LLPathfindingPathTool::getInstance()->setCharacterType(characterType); + LLPathfindingPathTool::ECharacterType characterType; + + switch (mCharacterTypeComboBox->getValue().asInteger()) + { + case XUI_CHARACTER_TYPE_NONE : + characterType = LLPathfindingPathTool::kCharacterTypeNone; + break; + case XUI_CHARACTER_TYPE_A : + characterType = LLPathfindingPathTool::kCharacterTypeA; + break; + case XUI_CHARACTER_TYPE_B : + characterType = LLPathfindingPathTool::kCharacterTypeB; + break; + case XUI_CHARACTER_TYPE_C : + characterType = LLPathfindingPathTool::kCharacterTypeC; + break; + case XUI_CHARACTER_TYPE_D : + characterType = LLPathfindingPathTool::kCharacterTypeD; + break; + default : + characterType = LLPathfindingPathTool::kCharacterTypeNone; + llassert(0); + break; + } + + LLPathfindingPathTool::getInstance()->setCharacterType(characterType); } void LLFloaterPathfindingConsole::clearPath() { - LLPathfindingPathTool::getInstance()->clearPath(); + LLPathfindingPathTool::getInstance()->clearPath(); } void LLFloaterPathfindingConsole::updatePathTestStatus() { - std::string statusText(""); - LLStyle::Params styleParams; - - switch (LLPathfindingPathTool::getInstance()->getPathStatus()) - { - case LLPathfindingPathTool::kPathStatusUnknown : - statusText = getString("pathing_unknown"); - styleParams.color = mErrorColor; - break; - case LLPathfindingPathTool::kPathStatusChooseStartAndEndPoints : - statusText = getString("pathing_choose_start_and_end_points"); - styleParams.color = mWarningColor; - break; - case LLPathfindingPathTool::kPathStatusChooseStartPoint : - statusText = getString("pathing_choose_start_point"); - styleParams.color = mWarningColor; - break; - case LLPathfindingPathTool::kPathStatusChooseEndPoint : - statusText = getString("pathing_choose_end_point"); - styleParams.color = mWarningColor; - break; - case LLPathfindingPathTool::kPathStatusHasValidPath : - statusText = getString("pathing_path_valid"); - break; - case LLPathfindingPathTool::kPathStatusHasInvalidPath : - statusText = getString("pathing_path_invalid"); - styleParams.color = mErrorColor; - break; - case LLPathfindingPathTool::kPathStatusNotEnabled : - statusText = getString("pathing_region_not_enabled"); - styleParams.color = mErrorColor; - break; - case LLPathfindingPathTool::kPathStatusNotImplemented : - statusText = getString("pathing_library_not_implemented"); - styleParams.color = mErrorColor; - break; - case LLPathfindingPathTool::kPathStatusError : - statusText = getString("pathing_error"); - styleParams.color = mErrorColor; - break; - default : - statusText = getString("pathing_unknown"); - styleParams.color = mErrorColor; - break; - } - - mPathTestingStatus->setText((LLStringExplicit)statusText, styleParams); + std::string statusText(""); + LLStyle::Params styleParams; + + switch (LLPathfindingPathTool::getInstance()->getPathStatus()) + { + case LLPathfindingPathTool::kPathStatusUnknown : + statusText = getString("pathing_unknown"); + styleParams.color = mErrorColor; + break; + case LLPathfindingPathTool::kPathStatusChooseStartAndEndPoints : + statusText = getString("pathing_choose_start_and_end_points"); + styleParams.color = mWarningColor; + break; + case LLPathfindingPathTool::kPathStatusChooseStartPoint : + statusText = getString("pathing_choose_start_point"); + styleParams.color = mWarningColor; + break; + case LLPathfindingPathTool::kPathStatusChooseEndPoint : + statusText = getString("pathing_choose_end_point"); + styleParams.color = mWarningColor; + break; + case LLPathfindingPathTool::kPathStatusHasValidPath : + statusText = getString("pathing_path_valid"); + break; + case LLPathfindingPathTool::kPathStatusHasInvalidPath : + statusText = getString("pathing_path_invalid"); + styleParams.color = mErrorColor; + break; + case LLPathfindingPathTool::kPathStatusNotEnabled : + statusText = getString("pathing_region_not_enabled"); + styleParams.color = mErrorColor; + break; + case LLPathfindingPathTool::kPathStatusNotImplemented : + statusText = getString("pathing_library_not_implemented"); + styleParams.color = mErrorColor; + break; + case LLPathfindingPathTool::kPathStatusError : + statusText = getString("pathing_error"); + styleParams.color = mErrorColor; + break; + default : + statusText = getString("pathing_unknown"); + styleParams.color = mErrorColor; + break; + } + + mPathTestingStatus->setText((LLStringExplicit)statusText, styleParams); } BOOL LLFloaterPathfindingConsole::isRenderAnyShapes() const { - return (isRenderWalkables() || isRenderStaticObstacles() || - isRenderMaterialVolumes() || isRenderExclusionVolumes()); + return (isRenderWalkables() || isRenderStaticObstacles() || + isRenderMaterialVolumes() || isRenderExclusionVolumes()); } U32 LLFloaterPathfindingConsole::getRenderShapeFlags() { - U32 shapeRenderFlag = 0U; - - if (isRenderWalkables()) - { - SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_WalkableObjects); - } - if (isRenderStaticObstacles()) - { - SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_ObstacleObjects); - } - if (isRenderMaterialVolumes()) - { - SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_MaterialPhantoms); - } - if (isRenderExclusionVolumes()) - { - SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_ExclusionPhantoms); - } - - return shapeRenderFlag; + U32 shapeRenderFlag = 0U; + + if (isRenderWalkables()) + { + SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_WalkableObjects); + } + if (isRenderStaticObstacles()) + { + SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_ObstacleObjects); + } + if (isRenderMaterialVolumes()) + { + SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_MaterialPhantoms); + } + if (isRenderExclusionVolumes()) + { + SET_SHAPE_RENDER_FLAG(shapeRenderFlag, LLPathingLib::LLST_ExclusionPhantoms); + } + + return shapeRenderFlag; } void LLFloaterPathfindingConsole::registerSavedSettingsListeners() { - if (!mSavedSettingRetrieveNeighborSlot.connected()) - { - mSavedSettingRetrieveNeighborSlot = gSavedSettings.getControl(CONTROL_NAME_RETRIEVE_NEIGHBOR)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleRetrieveNeighborChange, this, _1, _2)); - } - if (!mSavedSettingWalkableSlot.connected()) - { - mSavedSettingWalkableSlot = gSavedSettings.getControl(CONTROL_NAME_WALKABLE_OBJECTS)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingStaticObstacleSlot.connected()) - { - mSavedSettingStaticObstacleSlot = gSavedSettings.getControl(CONTROL_NAME_STATIC_OBSTACLE_OBJECTS)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingMaterialVolumeSlot.connected()) - { - mSavedSettingMaterialVolumeSlot = gSavedSettings.getControl(CONTROL_NAME_MATERIAL_VOLUMES)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingExclusionVolumeSlot.connected()) - { - mSavedSettingExclusionVolumeSlot = gSavedSettings.getControl(CONTROL_NAME_EXCLUSION_VOLUMES)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingInteriorEdgeSlot.connected()) - { - mSavedSettingInteriorEdgeSlot = gSavedSettings.getControl(CONTROL_NAME_INTERIOR_EDGE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingExteriorEdgeSlot.connected()) - { - mSavedSettingExteriorEdgeSlot = gSavedSettings.getControl(CONTROL_NAME_EXTERIOR_EDGE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingHeatmapMinSlot.connected()) - { - mSavedSettingHeatmapMinSlot = gSavedSettings.getControl(CONTROL_NAME_HEATMAP_MIN)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingHeatmapMaxSlot.connected()) - { - mSavedSettingHeatmapMaxSlot = gSavedSettings.getControl(CONTROL_NAME_HEATMAP_MAX)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingNavMeshFaceSlot.connected()) - { - mSavedSettingNavMeshFaceSlot = gSavedSettings.getControl(CONTROL_NAME_NAVMESH_FACE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingTestPathValidEndSlot.connected()) - { - mSavedSettingTestPathValidEndSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH_VALID_END)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingTestPathInvalidEndSlot.connected()) - { - mSavedSettingTestPathInvalidEndSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH_INVALID_END)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingTestPathSlot.connected()) - { - mSavedSettingTestPathSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } - if (!mSavedSettingWaterSlot.connected()) - { - mSavedSettingWaterSlot = gSavedSettings.getControl(CONTROL_NAME_WATER)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); - } + if (!mSavedSettingRetrieveNeighborSlot.connected()) + { + mSavedSettingRetrieveNeighborSlot = gSavedSettings.getControl(CONTROL_NAME_RETRIEVE_NEIGHBOR)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleRetrieveNeighborChange, this, _1, _2)); + } + if (!mSavedSettingWalkableSlot.connected()) + { + mSavedSettingWalkableSlot = gSavedSettings.getControl(CONTROL_NAME_WALKABLE_OBJECTS)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingStaticObstacleSlot.connected()) + { + mSavedSettingStaticObstacleSlot = gSavedSettings.getControl(CONTROL_NAME_STATIC_OBSTACLE_OBJECTS)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingMaterialVolumeSlot.connected()) + { + mSavedSettingMaterialVolumeSlot = gSavedSettings.getControl(CONTROL_NAME_MATERIAL_VOLUMES)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingExclusionVolumeSlot.connected()) + { + mSavedSettingExclusionVolumeSlot = gSavedSettings.getControl(CONTROL_NAME_EXCLUSION_VOLUMES)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingInteriorEdgeSlot.connected()) + { + mSavedSettingInteriorEdgeSlot = gSavedSettings.getControl(CONTROL_NAME_INTERIOR_EDGE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingExteriorEdgeSlot.connected()) + { + mSavedSettingExteriorEdgeSlot = gSavedSettings.getControl(CONTROL_NAME_EXTERIOR_EDGE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingHeatmapMinSlot.connected()) + { + mSavedSettingHeatmapMinSlot = gSavedSettings.getControl(CONTROL_NAME_HEATMAP_MIN)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingHeatmapMaxSlot.connected()) + { + mSavedSettingHeatmapMaxSlot = gSavedSettings.getControl(CONTROL_NAME_HEATMAP_MAX)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingNavMeshFaceSlot.connected()) + { + mSavedSettingNavMeshFaceSlot = gSavedSettings.getControl(CONTROL_NAME_NAVMESH_FACE)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingTestPathValidEndSlot.connected()) + { + mSavedSettingTestPathValidEndSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH_VALID_END)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingTestPathInvalidEndSlot.connected()) + { + mSavedSettingTestPathInvalidEndSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH_INVALID_END)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingTestPathSlot.connected()) + { + mSavedSettingTestPathSlot = gSavedSettings.getControl(CONTROL_NAME_TEST_PATH)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } + if (!mSavedSettingWaterSlot.connected()) + { + mSavedSettingWaterSlot = gSavedSettings.getControl(CONTROL_NAME_WATER)->getSignal()->connect(boost::bind(&LLFloaterPathfindingConsole::handleNavMeshColorChange, this, _1, _2)); + } } void LLFloaterPathfindingConsole::deregisterSavedSettingsListeners() { - if (mSavedSettingRetrieveNeighborSlot.connected()) - { - mSavedSettingRetrieveNeighborSlot.disconnect(); - } - if (mSavedSettingWalkableSlot.connected()) - { - mSavedSettingWalkableSlot.disconnect(); - } - if (mSavedSettingStaticObstacleSlot.connected()) - { - mSavedSettingStaticObstacleSlot.disconnect(); - } - if (mSavedSettingMaterialVolumeSlot.connected()) - { - mSavedSettingMaterialVolumeSlot.disconnect(); - } - if (mSavedSettingExclusionVolumeSlot.connected()) - { - mSavedSettingExclusionVolumeSlot.disconnect(); - } - if (mSavedSettingInteriorEdgeSlot.connected()) - { - mSavedSettingInteriorEdgeSlot.disconnect(); - } - if (mSavedSettingExteriorEdgeSlot.connected()) - { - mSavedSettingExteriorEdgeSlot.disconnect(); - } - if (mSavedSettingHeatmapMinSlot.connected()) - { - mSavedSettingHeatmapMinSlot.disconnect(); - } - if (mSavedSettingHeatmapMaxSlot.connected()) - { - mSavedSettingHeatmapMaxSlot.disconnect(); - } - if (mSavedSettingNavMeshFaceSlot.connected()) - { - mSavedSettingNavMeshFaceSlot.disconnect(); - } - if (mSavedSettingTestPathValidEndSlot.connected()) - { - mSavedSettingTestPathValidEndSlot.disconnect(); - } - if (mSavedSettingTestPathInvalidEndSlot.connected()) - { - mSavedSettingTestPathInvalidEndSlot.disconnect(); - } - if (mSavedSettingTestPathSlot.connected()) - { - mSavedSettingTestPathSlot.disconnect(); - } - if (mSavedSettingWaterSlot.connected()) - { - mSavedSettingWaterSlot.disconnect(); - } + if (mSavedSettingRetrieveNeighborSlot.connected()) + { + mSavedSettingRetrieveNeighborSlot.disconnect(); + } + if (mSavedSettingWalkableSlot.connected()) + { + mSavedSettingWalkableSlot.disconnect(); + } + if (mSavedSettingStaticObstacleSlot.connected()) + { + mSavedSettingStaticObstacleSlot.disconnect(); + } + if (mSavedSettingMaterialVolumeSlot.connected()) + { + mSavedSettingMaterialVolumeSlot.disconnect(); + } + if (mSavedSettingExclusionVolumeSlot.connected()) + { + mSavedSettingExclusionVolumeSlot.disconnect(); + } + if (mSavedSettingInteriorEdgeSlot.connected()) + { + mSavedSettingInteriorEdgeSlot.disconnect(); + } + if (mSavedSettingExteriorEdgeSlot.connected()) + { + mSavedSettingExteriorEdgeSlot.disconnect(); + } + if (mSavedSettingHeatmapMinSlot.connected()) + { + mSavedSettingHeatmapMinSlot.disconnect(); + } + if (mSavedSettingHeatmapMaxSlot.connected()) + { + mSavedSettingHeatmapMaxSlot.disconnect(); + } + if (mSavedSettingNavMeshFaceSlot.connected()) + { + mSavedSettingNavMeshFaceSlot.disconnect(); + } + if (mSavedSettingTestPathValidEndSlot.connected()) + { + mSavedSettingTestPathValidEndSlot.disconnect(); + } + if (mSavedSettingTestPathInvalidEndSlot.connected()) + { + mSavedSettingTestPathInvalidEndSlot.disconnect(); + } + if (mSavedSettingTestPathSlot.connected()) + { + mSavedSettingTestPathSlot.disconnect(); + } + if (mSavedSettingWaterSlot.connected()) + { + mSavedSettingWaterSlot.disconnect(); + } } void LLFloaterPathfindingConsole::handleRetrieveNeighborChange(LLControlVariable *pControl, const LLSD &pNewValue) { - initializeNavMeshZoneForCurrentRegion(); + initializeNavMeshZoneForCurrentRegion(); } void LLFloaterPathfindingConsole::handleNavMeshColorChange(LLControlVariable *pControl, const LLSD &pNewValue) { - fillInColorsForNavMeshVisualization(); + fillInColorsForNavMeshVisualization(); } void LLFloaterPathfindingConsole::fillInColorsForNavMeshVisualization() { - if (LLPathingLib::getInstance() != NULL) - { - LLPathingLib::NavMeshColors navMeshColors; + if (LLPathingLib::getInstance() != NULL) + { + LLPathingLib::NavMeshColors navMeshColors; - LLColor4 in = gSavedSettings.getColor4(CONTROL_NAME_WALKABLE_OBJECTS); - navMeshColors.mWalkable= LLColor4U(in); + LLColor4 in = gSavedSettings.getColor4(CONTROL_NAME_WALKABLE_OBJECTS); + navMeshColors.mWalkable= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_STATIC_OBSTACLE_OBJECTS); - navMeshColors.mObstacle= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_STATIC_OBSTACLE_OBJECTS); + navMeshColors.mObstacle= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_MATERIAL_VOLUMES); - navMeshColors.mMaterial= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_MATERIAL_VOLUMES); + navMeshColors.mMaterial= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_EXCLUSION_VOLUMES); - navMeshColors.mExclusion= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_EXCLUSION_VOLUMES); + navMeshColors.mExclusion= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_INTERIOR_EDGE); - navMeshColors.mConnectedEdge= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_INTERIOR_EDGE); + navMeshColors.mConnectedEdge= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_EXTERIOR_EDGE); - navMeshColors.mBoundaryEdge= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_EXTERIOR_EDGE); + navMeshColors.mBoundaryEdge= LLColor4U(in); - navMeshColors.mHeatColorBase = gSavedSettings.getColor4(CONTROL_NAME_HEATMAP_MIN); + navMeshColors.mHeatColorBase = gSavedSettings.getColor4(CONTROL_NAME_HEATMAP_MIN); - navMeshColors.mHeatColorMax = gSavedSettings.getColor4(CONTROL_NAME_HEATMAP_MAX); + navMeshColors.mHeatColorMax = gSavedSettings.getColor4(CONTROL_NAME_HEATMAP_MAX); - in = gSavedSettings.getColor4(CONTROL_NAME_NAVMESH_FACE); - navMeshColors.mFaceColor= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_NAVMESH_FACE); + navMeshColors.mFaceColor= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH_VALID_END); - navMeshColors.mStarValid= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH_VALID_END); + navMeshColors.mStarValid= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH_INVALID_END); - navMeshColors.mStarInvalid= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH_INVALID_END); + navMeshColors.mStarInvalid= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH); - navMeshColors.mTestPath= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_TEST_PATH); + navMeshColors.mTestPath= LLColor4U(in); - in = gSavedSettings.getColor4(CONTROL_NAME_WATER); - navMeshColors.mWaterColor= LLColor4U(in); + in = gSavedSettings.getColor4(CONTROL_NAME_WATER); + navMeshColors.mWaterColor= LLColor4U(in); - LLPathingLib::getInstance()->setNavMeshColors(navMeshColors); - } + LLPathingLib::getInstance()->setNavMeshColors(navMeshColors); + } } |