diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-02-14 16:41:53 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-02-14 16:41:53 -0800 |
commit | e5d59b3c2ae99c7e6cfb0312dd8842e8d948aad0 (patch) | |
tree | 01e907c2af3fda1952d864f007cc4912c4d090ab | |
parent | 9898f55d1aba4f79cbb0f9a4fb68b63ac0f354b7 (diff) |
Moving the bulk of the display settings into the viewer.
-rw-r--r-- | autobuild.xml | 12 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 169 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 26 | ||||
-rw-r--r-- | indra/newview/llviewerdisplay.cpp | 43 |
4 files changed, 116 insertions, 134 deletions
diff --git a/autobuild.xml b/autobuild.xml index 37aa012816..8b06c145de 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1110,9 +1110,9 @@ <key>archive</key> <map> <key>hash</key> - <string>ba4f8022af6ef39ed7ec9f64125a24fc</string> + <string>a8b7d7071fa2dfd894a3a1fededc4683</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary_lion/rev/249340/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120213.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary_lion/rev/249502/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120214.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -1122,9 +1122,9 @@ <key>archive</key> <map> <key>hash</key> - <string>dd3511c52085833843dcb6eb03681509</string> + <string>ffccb6ea00131f6754b9d6bc4bdc83a1</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249128/arch/Linux/installer/llphysicsextensions-0.1-linux-20120208.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249501/arch/Linux/installer/llphysicsextensions-0.1-linux-20120215.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -1134,9 +1134,9 @@ <key>archive</key> <map> <key>hash</key> - <string>3c68384687fcaafb8b1edc776296c02b</string> + <string>a6d14591055cef01a64516d67bd23de2</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249340/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120213.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249502/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120214.tar.bz2</string> </map> <key>name</key> <string>windows</string> diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 9a1651f537..26e1ff3963 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -68,23 +68,18 @@ BOOL LLFloaterPathfindingConsole::postBuild() mShowNavMeshCheckBox = findChild<LLCheckBoxCtrl>("show_navmesh");
llassert(mShowNavMeshCheckBox != NULL);
- mShowNavMeshCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowNavMeshToggle, this));
mShowWalkablesCheckBox = findChild<LLCheckBoxCtrl>("show_walkables");
llassert(mShowWalkablesCheckBox != NULL);
- mShowWalkablesCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowWalkablesToggle, this));
mShowStaticObstaclesCheckBox = findChild<LLCheckBoxCtrl>("show_static_obstacles");
llassert(mShowStaticObstaclesCheckBox != NULL);
- mShowStaticObstaclesCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowStaticObstaclesToggle, this));
mShowMaterialVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_material_volumes");
llassert(mShowMaterialVolumesCheckBox != NULL);
- mShowMaterialVolumesCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowMaterialVolumesToggle, this));
mShowExclusionVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_exclusion_volumes");
llassert(mShowExclusionVolumesCheckBox != NULL);
- mShowExclusionVolumesCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowExclusionVolumesToggle, this));
mShowWorldCheckBox = findChild<LLCheckBoxCtrl>("show_world");
llassert(mShowWorldCheckBox != NULL);
@@ -159,6 +154,71 @@ LLHandle<LLFloaterPathfindingConsole> LLFloaterPathfindingConsole::getInstanceHa return sInstanceHandle;
}
+BOOL LLFloaterPathfindingConsole::isRenderPath() const
+{
+ return (mHasStartPoint && mHasEndPoint);
+}
+
+BOOL LLFloaterPathfindingConsole::isRenderNavMesh() const
+{
+ return mShowNavMeshCheckBox->get();
+}
+
+void LLFloaterPathfindingConsole::setRenderNavMesh(BOOL pIsRenderNavMesh) +{ + mShowNavMeshCheckBox->set(pIsRenderNavMesh); +} + +BOOL LLFloaterPathfindingConsole::isRenderWalkables() const +{ + return mShowWalkablesCheckBox->get(); +} + +void LLFloaterPathfindingConsole::setRenderWalkables(BOOL pIsRenderWalkables) +{ + mShowWalkablesCheckBox->set(pIsRenderWalkables); +} + +BOOL LLFloaterPathfindingConsole::isRenderStaticObstacles() const +{ + return mShowStaticObstaclesCheckBox->get(); +} + +void LLFloaterPathfindingConsole::setRenderStaticObstacles(BOOL pIsRenderStaticObstacles) +{ + mShowStaticObstaclesCheckBox->set(pIsRenderStaticObstacles); +} + +BOOL LLFloaterPathfindingConsole::isRenderMaterialVolumes() const +{ + return mShowMaterialVolumesCheckBox->get(); +} + +void LLFloaterPathfindingConsole::setRenderMaterialVolumes(BOOL pIsRenderMaterialVolumes) +{ + mShowMaterialVolumesCheckBox->set(pIsRenderMaterialVolumes); +} + +BOOL LLFloaterPathfindingConsole::isRenderExclusionVolumes() const +{ + return mShowExclusionVolumesCheckBox->get(); +} + +void LLFloaterPathfindingConsole::setRenderExclusionVolumes(BOOL pIsRenderExclusionVolumes)
+{
+ mShowExclusionVolumesCheckBox->set(pIsRenderExclusionVolumes);
+}
+
+BOOL LLFloaterPathfindingConsole::isRenderWorld() const +{ + return mShowWorldCheckBox->get(); +} + +void LLFloaterPathfindingConsole::setRenderWorld(BOOL pIsRenderWorld)
+{
+ mShowWorldCheckBox->set(pIsRenderWorld);
+}
+
F32 LLFloaterPathfindingConsole::getCharacterWidth() const
{
return mCharacterWidthSlider->getValueF32();
@@ -337,106 +397,9 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) llinfos<<"Region has does not required caps of type ["<<capability<<"]"<<llendl;
}
}
- LLPathingLib::getInstance()->setRenderPath(true);
}
}
-void LLFloaterPathfindingConsole::onClose(bool app_quitting)
-{
- //make sure we have a pathing system
- if ( !LLPathingLib::getInstance() )
- {
- LLPathingLib::getInstance()->setRenderPath(false);
- }
-}
-
-void LLFloaterPathfindingConsole::onShowNavMeshToggle()
-{
- BOOL checkBoxValue = mShowNavMeshCheckBox->get();
-
- LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
- if (llPathingLibInstance != NULL)
- {
- llPathingLibInstance->setRenderNavMesh(checkBoxValue);
- }
- else
- {
- mShowNavMeshCheckBox->set(FALSE);
- llwarns << "cannot find LLPathingLib instance" << llendl;
- }
-}
-
-void LLFloaterPathfindingConsole::onShowWalkablesToggle()
-{
- BOOL checkBoxValue = mShowWalkablesCheckBox->get();
-
- LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
- if (llPathingLibInstance != NULL)
- {
- //llPathingLibInstance->setRenderNavMesh(checkBoxValue);
- llwarns << "functionality has not yet been implemented to set walkables to "
- << (checkBoxValue ? "TRUE" : "FALSE") << llendl;
-
- }
- else
- {
- mShowWalkablesCheckBox->set(FALSE);
- llwarns << "cannot find LLPathingLib instance" << llendl;
- }
-}
-
-void LLFloaterPathfindingConsole::onShowStaticObstaclesToggle()
-{
- BOOL checkBoxValue = mShowStaticObstaclesCheckBox->get();
-
- LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
- if (llPathingLibInstance != NULL)
- {
- //llPathingLibInstance->setRenderNavMesh(checkBoxValue);
- llwarns << "functionality has not yet been implemented to set static obstacles to "
- << (checkBoxValue ? "TRUE" : "FALSE") << llendl;
- }
- else
- {
- mShowStaticObstaclesCheckBox->set(FALSE);
- llwarns << "cannot find LLPathingLib instance" << llendl;
- }
-}
-
-void LLFloaterPathfindingConsole::onShowMaterialVolumesToggle()
-{
- BOOL checkBoxValue = mShowMaterialVolumesCheckBox->get();
-
- LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
- if (llPathingLibInstance != NULL)
- {
- //llPathingLibInstance->setRenderNavMesh(checkBoxValue);
- llwarns << "functionality has not yet been implemented to set material volumes to "
- << (checkBoxValue ? "TRUE" : "FALSE") << llendl;
- }
- else
- {
- mShowMaterialVolumesCheckBox->set(FALSE);
- llwarns << "cannot find LLPathingLib instance" << llendl;
- }
-}
-
-void LLFloaterPathfindingConsole::onShowExclusionVolumesToggle()
-{
- BOOL checkBoxValue = mShowExclusionVolumesCheckBox->get();
-
- LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
- if (llPathingLibInstance != NULL)
- {
- llPathingLibInstance->setRenderShapes(checkBoxValue);
- }
- else
- {
- mShowExclusionVolumesCheckBox->set(FALSE);
- llwarns << "cannot find LLPathingLib instance" << llendl;
- }
-}
-
void LLFloaterPathfindingConsole::onShowWorldToggle()
{
BOOL checkBoxValue = mShowWorldCheckBox->get();
@@ -444,7 +407,7 @@ void LLFloaterPathfindingConsole::onShowWorldToggle() LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
if (llPathingLibInstance != NULL)
{
- llPathingLibInstance->setRenderOverlayMode(checkBoxValue);
+ llPathingLibInstance->setRenderWorld(checkBoxValue);
}
else
{
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 2a813de657..10731c3e1f 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -62,6 +62,26 @@ public: static LLHandle<LLFloaterPathfindingConsole> getInstanceHandle(); + BOOL isRenderPath() const; + + BOOL isRenderNavMesh() const; + void setRenderNavMesh(BOOL pIsRenderNavMesh); + + BOOL isRenderWalkables() const; + void setRenderWalkables(BOOL pIsRenderWalkables); + + BOOL isRenderStaticObstacles() const; + void setRenderStaticObstacles(BOOL pIsRenderStaticObstacles); + + BOOL isRenderMaterialVolumes() const; + void setRenderMaterialVolumes(BOOL pIsRenderMaterialVolumes); + + BOOL isRenderExclusionVolumes() const; + void setRenderExclusionVolumes(BOOL pIsRenderExclusionVolumes); + + BOOL isRenderWorld() const; + void setRenderWorld(BOOL pIsRenderWorld); + F32 getCharacterWidth() const; void setCharacterWidth(F32 pCharacterWidth); @@ -80,13 +100,7 @@ private: virtual ~LLFloaterPathfindingConsole(); virtual void onOpen(const LLSD& pKey); - virtual void onClose(bool app_quitting); - void onShowNavMeshToggle(); - void onShowWalkablesToggle(); - void onShowStaticObstaclesToggle(); - void onShowMaterialVolumesToggle(); - void onShowExclusionVolumesToggle(); void onShowWorldToggle(); void onCharacterWidthSet(); void onCharacterTypeSwitch(); diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 0774ab4029..c58783d64b 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -900,26 +900,31 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) //Render any navmesh geometry LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance(); if ( llPathingLibInstance != NULL ) - { - //Determine if we can should overlay the navmesh ontop of the scenes typical renderables - allowRenderables = llPathingLibInstance->getRenderOverlayMode(); - - //NavMesh - if ( llPathingLibInstance->getRenderNavMeshState() ) - { - llPathingLibInstance->renderNavMesh(); - exclusiveDraw = true; - } - //physics/exclusion shapes - if ( llPathingLibInstance->getRenderShapesState() ) - { - llPathingLibInstance->renderNavMeshShapesVBO(); - exclusiveDraw = true; - } - //User designated path - if ( llPathingLibInstance->getRenderPathState() ) + { + LLHandle<LLFloaterPathfindingConsole> pathfindingConsoleHandle = LLFloaterPathfindingConsole::getInstanceHandle(); + if (!pathfindingConsoleHandle.isDead()) { - llPathingLibInstance->renderPath(); + LLFloaterPathfindingConsole *pathfindingConsole = pathfindingConsoleHandle.get(); + //Determine if we can should overlay the navmesh ontop of the scenes typical renderables + allowRenderables = pathfindingConsole->isRenderWorld(); + + //NavMesh + if (pathfindingConsole->isRenderNavMesh()) + { + llPathingLibInstance->renderNavMesh(); + exclusiveDraw = true; + } + //physics/exclusion shapes + if (pathfindingConsole->isRenderExclusionVolumes()) + { + llPathingLibInstance->renderNavMeshShapesVBO(); + exclusiveDraw = true; + } + //User designated path + if (pathfindingConsole->isRenderPath()) + { + llPathingLibInstance->renderPath(); + } } } } |