diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-01-19 18:22:17 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-01-19 18:22:17 -0800 |
commit | fe637c5f9571e91c8e90440a0677e5c40b7bf648 (patch) | |
tree | 2150d1b3f303bf1ec165cea45ae6a9d87a334fec | |
parent | 53175f835ea0170a38ccaa49397eb09d26a52984 (diff) |
PATH-225: Replacing the Fixed and Walkable columns with a single State column.
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 78 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.h | 7 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml | 17 |
3 files changed, 49 insertions, 53 deletions
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index b6b3c05e84..26830390e0 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -100,8 +100,7 @@ PathfindingLinkset::PathfindingLinkset(const std::string &pUUID, const LLSD& pNa mDescription(),
mLandImpact(0U),
mLocation(),
- mIsPermanent(false),
- mIsWalkable(false),
+ mPathState(kIgnored),
mIsPhantom(false),
mA(0),
mB(0),
@@ -123,11 +122,13 @@ PathfindingLinkset::PathfindingLinkset(const std::string &pUUID, const LLSD& pNa llassert(pNavMeshItem.has("permanent"));
llassert(pNavMeshItem.get("permanent").isBoolean());
- mIsPermanent = pNavMeshItem.get("permanent").asBoolean();
+ bool isPermanent = pNavMeshItem.get("permanent").asBoolean();
llassert(pNavMeshItem.has("walkable"));
llassert(pNavMeshItem.get("walkable").isBoolean());
- mIsWalkable = pNavMeshItem.get("walkable").asBoolean();
+ bool isWalkable = pNavMeshItem.get("walkable").asBoolean();
+
+ mPathState = getPathState(isPermanent, isWalkable);
llassert(pNavMeshItem.has("phantom"));
//llassert(pNavMeshItem.get("phantom").isBoolean()); XXX stinson 01/10/2012: this should be a boolean but is not
@@ -160,8 +161,7 @@ PathfindingLinkset::PathfindingLinkset(const PathfindingLinkset& pOther) mDescription(pOther.mDescription),
mLandImpact(pOther.mLandImpact),
mLocation(pOther.mLocation),
- mIsPermanent(pOther.mIsPermanent),
- mIsWalkable(pOther.mIsWalkable),
+ mPathState(pOther.mPathState),
mIsPhantom(pOther.mIsPhantom),
mA(pOther.mA),
mB(pOther.mB),
@@ -181,8 +181,7 @@ PathfindingLinkset& PathfindingLinkset::operator =(const PathfindingLinkset& pOt mDescription = pOther.mDescription;
mLandImpact = pOther.mLandImpact;
mLocation = pOther.mLocation;
- mIsPermanent = pOther.mIsPermanent;
- mIsWalkable = pOther.mIsWalkable;
+ mPathState = pOther.mPathState;
mIsPhantom = pOther.mIsPhantom;
mA = pOther.mA;
mB = pOther.mB;
@@ -219,13 +218,17 @@ const LLVector3& PathfindingLinkset::getPositionAgent() const PathfindingLinkset::EPathState PathfindingLinkset::getPathState() const
{
- return (mIsPermanent ? (mIsWalkable ? kWalkable : kObstacle) : kIgnored);
+ return mPathState;
}
void PathfindingLinkset::setPathState(EPathState pPathState)
{
- mIsPermanent = isPermanent(pPathState);
- mIsWalkable = isWalkable(pPathState);
+ mPathState = pPathState;
+}
+
+PathfindingLinkset::EPathState PathfindingLinkset::getPathState(bool pIsPermanent, bool pIsWalkable)
+{
+ return (pIsPermanent ? (pIsWalkable ? kWalkable : kObstacle) : kIgnored);
}
BOOL PathfindingLinkset::isPermanent(EPathState pPathState)
@@ -272,16 +275,6 @@ BOOL PathfindingLinkset::isWalkable(EPathState pPathState) return retVal;
}
-BOOL PathfindingLinkset::isPermanent() const
-{
- return mIsPermanent;
-}
-
-BOOL PathfindingLinkset::isWalkable() const
-{
- return mIsWalkable;
-}
-
BOOL PathfindingLinkset::isPhantom() const
{
return mIsPhantom;
@@ -994,34 +987,45 @@ void LLFloaterPathfindingLinksets::updateLinksetsList() columns[3]["value"] = llformat("%1.0f m", dist_vec(avatarPosition, linkset.getPositionAgent()));
columns[3]["font"] = "SANSSERIF";
- columns[4]["column"] = "is_fixed";
- columns[4]["value"] = getString(linkset.isPermanent() ? "linkset_is_fixed" : "linkset_is_not_fixed");
+ columns[4]["column"] = "path_state";
+ switch (linkset.getPathState())
+ {
+ case PathfindingLinkset::kWalkable :
+ columns[4]["value"] = getString("linkset_path_state_walkable");
+ break;
+ case PathfindingLinkset::kObstacle :
+ columns[4]["value"] = getString("linkset_path_state_obstacle");
+ break;
+ case PathfindingLinkset::kIgnored :
+ columns[4]["value"] = getString("linkset_path_state_ignored");
+ break;
+ default :
+ columns[4]["value"] = getString("linkset_path_state_ignored");
+ llassert(0);
+ break;
+ }
columns[4]["font"] = "SANSSERIF";
- columns[5]["column"] = "is_walkable";
- columns[5]["value"] = getString(linkset.isWalkable() ? "linkset_is_walkable" : "linkset_is_not_walkable");
+ columns[5]["column"] = "is_phantom";
+ columns[5]["value"] = getString(linkset.isPhantom() ? "linkset_is_phantom" : "linkset_is_not_phantom");
columns[5]["font"] = "SANSSERIF";
- columns[6]["column"] = "is_phantom";
- columns[6]["value"] = getString(linkset.isPhantom() ? "linkset_is_phantom" : "linkset_is_not_phantom");
+ columns[6]["column"] = "a_percent";
+ columns[6]["value"] = llformat("%3d", linkset.getA());
columns[6]["font"] = "SANSSERIF";
- columns[7]["column"] = "a_percent";
- columns[7]["value"] = llformat("%3d", linkset.getA());
+ columns[7]["column"] = "b_percent";
+ columns[7]["value"] = llformat("%3d", linkset.getB());
columns[7]["font"] = "SANSSERIF";
- columns[8]["column"] = "b_percent";
- columns[8]["value"] = llformat("%3d", linkset.getB());
+ columns[8]["column"] = "c_percent";
+ columns[8]["value"] = llformat("%3d", linkset.getC());
columns[8]["font"] = "SANSSERIF";
- columns[9]["column"] = "c_percent";
- columns[9]["value"] = llformat("%3d", linkset.getC());
+ columns[9]["column"] = "d_percent";
+ columns[9]["value"] = llformat("%3d", linkset.getD());
columns[9]["font"] = "SANSSERIF";
- columns[10]["column"] = "d_percent";
- columns[10]["value"] = llformat("%3d", linkset.getD());
- columns[10]["font"] = "SANSSERIF";
-
LLSD element;
element["id"] = linkset.getUUID().asString();
element["column"] = columns;
diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index 02d90accf1..915d799079 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -64,12 +64,10 @@ public: EPathState getPathState() const;
void setPathState(EPathState pPathState);
+ static EPathState getPathState(bool pIsPermanent, bool pIsWalkable);
static BOOL isPermanent(EPathState pPathState);
static BOOL isWalkable(EPathState pPathState);
- BOOL isPermanent() const;
- BOOL isWalkable() const;
-
BOOL isPhantom() const;
void setPhantom(BOOL pIsPhantom);
@@ -93,8 +91,7 @@ private: std::string mDescription;
U32 mLandImpact;
LLVector3 mLocation;
- BOOL mIsPermanent;
- BOOL mIsWalkable;
+ EPathState mPathState;
BOOL mIsPhantom;
S32 mA;
S32 mB;
diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml index a808a1f08f..d33df8fbb8 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml @@ -19,10 +19,9 @@ <floater.string name="linksets_fetching_error">Error detected while querying for pathfinding linksets</floater.string> <floater.string name="linksets_fetching_done_none_found">No pathfinding linksets</floater.string> <floater.string name="linksets_fetching_done_available">[NUM_SELECTED] linksets selected out of [NUM_TOTAL]</floater.string> - <floater.string name="linkset_is_fixed">Fixed</floater.string> - <floater.string name="linkset_is_not_fixed">Not fixed</floater.string> - <floater.string name="linkset_is_walkable">Walkable</floater.string> - <floater.string name="linkset_is_not_walkable">--</floater.string> + <floater.string name="linkset_path_state_walkable">Walkable</floater.string> + <floater.string name="linkset_path_state_obstacle">Obstacle</floater.string> + <floater.string name="linkset_path_state_ignored">Ignored</floater.string> <floater.string name="linkset_is_phantom">Phantom</floater.string> <floater.string name="linkset_is_not_phantom">--</floater.string> <text @@ -162,13 +161,9 @@ name="dist_from_you" width="87" /> <scroll_list.columns - label="Fixed" - name="is_fixed" - width="63" /> - <scroll_list.columns - label="Walkable" - name="is_walkable" - width="73" /> + label="State" + name="path_state" + width="136" /> <scroll_list.columns label="Phantom" name="is_phantom" |