summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterpathfindingconsole.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterpathfindingconsole.h')
-rw-r--r--indra/newview/llfloaterpathfindingconsole.h111
1 files changed, 49 insertions, 62 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h
index edbeae2012..e999e57741 100644
--- a/indra/newview/llfloaterpathfindingconsole.h
+++ b/indra/newview/llfloaterpathfindingconsole.h
@@ -1,54 +1,53 @@
/**
- * @file llfloaterpathfindingconsole.h
- * @author William Todd Stinson
- * @brief "Pathfinding console" floater, allowing manipulation of the Havok AI pathfinding settings.
- *
- * $LicenseInfo:firstyear=2002&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
+* @file llfloaterpathfindingconsole.h
+* @brief "Pathfinding console" floater, allowing for viewing and testing of the pathfinding navmesh through Havok AI utilities.
+* @author Stinson@lindenlab.com
+*
+* $LicenseInfo:firstyear=2012&license=viewerlgpl$
+* Second Life Viewer Source Code
+* Copyright (C) 2012, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+* $/LicenseInfo$
+*/
#ifndef LL_LLFLOATERPATHFINDINGCONSOLE_H
#define LL_LLFLOATERPATHFINDINGCONSOLE_H
+#include <vector>
+
+#include <boost/signals2.hpp>
+
#include "llfloater.h"
#include "llhandle.h"
-#include "llpathinglib.h"
-#include "llpathfindingmanager.h"
#include "llpathfindingnavmeshzone.h"
#include "llpathfindingpathtool.h"
+#include "llpathinglib.h"
+#include "v4color.h"
-#include <boost/signals2.hpp>
-
-class LLSD;
+class LLButton;
+class LLCheckBoxCtrl;
+class LLComboBox;
+class LLControlVariable;
class LLPanel;
+class LLSD;
class LLSliderCtrl;
-class LLLineEditor;
-class LLTextBase;
-class LLCheckBoxCtrl;
class LLTabContainer;
-class LLComboBox;
-class LLButton;
+class LLTextBase;
class LLToolset;
-class LLColor4;
-class LLControlVariable;
class LLFloaterPathfindingConsole
: public LLFloater
@@ -94,7 +93,7 @@ public:
LLPathingLib::LLPLCharacterType getRenderHeatmapType() const;
void setRenderHeatmapType(LLPathingLib::LLPLCharacterType pRenderHeatmapType);
-
+ void onRegionBoundaryCross();
protected:
private:
@@ -115,22 +114,17 @@ private:
LLFloaterPathfindingConsole(const LLSD& pSeed);
virtual ~LLFloaterPathfindingConsole();
+ void onTabSwitch();
void onShowWorldSet();
void onShowWorldMovablesOnlySet();
void onShowNavMeshSet();
void onShowWalkabilitySet();
- void onViewCharactersClicked();
- void onTabSwitch();
- void onUnfreezeClicked();
- void onFreezeClicked();
- void onViewEditLinksetClicked();
void onCharacterWidthSet();
void onCharacterTypeSwitch();
void onClearPathClicked();
- void onNavMeshZoneCB(LLPathfindingNavMeshZone::ENavMeshZoneRequestStatus pNavMeshZoneRequestStatus);
- void onAgentStateCB(LLPathfindingManager::EAgentState pAgentState);
- void onRegionBoundaryCross();
+ void handleNavMeshZoneStatus(LLPathfindingNavMeshZone::ENavMeshZoneRequestStatus pNavMeshZoneRequestStatus);
+
void onPathEvent();
void setDefaultInputs();
@@ -139,14 +133,12 @@ private:
void setNavMeshRenderState();
void updateRenderablesObjects();
- void updateControlsOnConsoleState();
- void updateStatusOnConsoleState();
- std::string getSimulatorStatusText() const;
+ void updateControlsOnConsoleState();
+ void updateViewerStatusOnConsoleState();
+ void updateSimulatorStatusOnConsoleState();
void initializeNavMeshZoneForCurrentRegion();
- void setAgentState(LLPathfindingManager::EAgentState pAgentState);
-
void switchIntoTestPathMode();
void switchOutOfTestPathMode();
void updateCharacterWidth();
@@ -162,6 +154,8 @@ private:
void cleanupRenderableRestoreItems();
LLRootHandle<LLFloaterPathfindingConsole> mSelfHandle;
+ LLTabContainer *mViewTestTabContainer;
+ LLPanel *mViewTab;
LLTextBase *mShowLabel;
LLCheckBoxCtrl *mShowWorldCheckBox;
LLCheckBoxCtrl *mShowWorldMovablesOnlyCheckBox;
@@ -176,16 +170,7 @@ private:
LLCheckBoxCtrl *mShowXRayCheckBox;
LLTextBase *mPathfindingViewerStatus;
LLTextBase *mPathfindingSimulatorStatus;
- LLButton *mViewCharactersButton;
- LLTabContainer *mEditTestTabContainer;
- LLPanel *mEditTab;
LLPanel *mTestTab;
- LLTextBase *mUnfreezeLabel;
- LLButton *mUnfreezeButton;
- LLTextBase *mLinksetsLabel;
- LLButton *mLinksetsButton;
- LLTextBase *mFreezeLabel;
- LLButton *mFreezeButton;
LLTextBase *mCtrlClickLabel;
LLTextBase *mShiftClickLabel;
LLTextBase *mCharacterWidthLabel;
@@ -196,11 +181,13 @@ private:
LLTextBase *mPathTestingStatus;
LLButton *mClearPathButton;
+ LLColor4 mErrorColor;
+ LLColor4 mWarningColor;
+
LLPathfindingNavMeshZone::navmesh_zone_slot_t mNavMeshZoneSlot;
LLPathfindingNavMeshZone mNavMeshZone;
bool mIsNavMeshUpdating;
- LLPathfindingManager::agent_state_slot_t mAgentStateSlot;
boost::signals2::connection mRegionBoundarySlot;
boost::signals2::connection mTeleportFailedSlot;
LLPathfindingPathTool::path_event_slot_t mPathEventSlot;