summaryrefslogtreecommitdiff
path: root/indra/newview/llpathfindinglinksetlist.cpp
diff options
context:
space:
mode:
authorBrad Linden <brad@lindenlab.com>2024-05-23 11:31:19 -0700
committerBrad Linden <brad@lindenlab.com>2024-05-23 11:31:19 -0700
commita1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch)
tree1d205e51bc37621916a17d459ad83782fe41f975 /indra/newview/llpathfindinglinksetlist.cpp
parent6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff)
parent6377610f6587989c126b00f490dfc8d527a1c2ce (diff)
Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev
Diffstat (limited to 'indra/newview/llpathfindinglinksetlist.cpp')
-rw-r--r--indra/newview/llpathfindinglinksetlist.cpp250
1 files changed, 125 insertions, 125 deletions
diff --git a/indra/newview/llpathfindinglinksetlist.cpp b/indra/newview/llpathfindinglinksetlist.cpp
index beceacb94a..2012d7a094 100644
--- a/indra/newview/llpathfindinglinksetlist.cpp
+++ b/indra/newview/llpathfindinglinksetlist.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file llpathfindinglinksetlist.cpp
* @brief Implementation of llpathfindinglinksetlist
* @author Stinson@lindenlab.com
@@ -43,14 +43,14 @@
//---------------------------------------------------------------------------
LLPathfindingLinksetList::LLPathfindingLinksetList()
- : LLPathfindingObjectList()
+ : LLPathfindingObjectList()
{
}
LLPathfindingLinksetList::LLPathfindingLinksetList(const LLSD& pLinksetListData)
- : LLPathfindingObjectList()
+ : LLPathfindingObjectList()
{
- parseLinksetListData(pLinksetListData);
+ parseLinksetListData(pLinksetListData);
}
LLPathfindingLinksetList::~LLPathfindingLinksetList()
@@ -59,155 +59,155 @@ LLPathfindingLinksetList::~LLPathfindingLinksetList()
LLSD LLPathfindingLinksetList::encodeObjectFields(LLPathfindingLinkset::ELinksetUse pLinksetUse, S32 pA, S32 pB, S32 pC, S32 pD) const
{
- LLSD listData;
-
- for (const_iterator linksetIter = begin(); linksetIter != end(); ++linksetIter)
- {
- const LLPathfindingObjectPtr objectPtr = linksetIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
-
- if (!linkset->isTerrain())
- {
- LLSD linksetData = linkset->encodeAlteredFields(pLinksetUse, pA, pB, pC, pD);
- if (!linksetData.isUndefined())
- {
- const std::string& uuid(linksetIter->first);
- listData[uuid] = linksetData;
- }
- }
- }
-
- return listData;
+ LLSD listData;
+
+ for (const_iterator linksetIter = begin(); linksetIter != end(); ++linksetIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = linksetIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+
+ if (!linkset->isTerrain())
+ {
+ LLSD linksetData = linkset->encodeAlteredFields(pLinksetUse, pA, pB, pC, pD);
+ if (!linksetData.isUndefined())
+ {
+ const std::string& uuid(linksetIter->first);
+ listData[uuid] = linksetData;
+ }
+ }
+ }
+
+ return listData;
}
LLSD LLPathfindingLinksetList::encodeTerrainFields(LLPathfindingLinkset::ELinksetUse pLinksetUse, S32 pA, S32 pB, S32 pC, S32 pD) const
{
- LLSD terrainData;
-
- for (const_iterator linksetIter = begin(); linksetIter != end(); ++linksetIter)
- {
- const LLPathfindingObjectPtr objectPtr = linksetIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
-
- if (linkset->isTerrain())
- {
- terrainData = linkset->encodeAlteredFields(pLinksetUse, pA, pB, pC, pD);
- break;
- }
- }
-
- return terrainData;
+ LLSD terrainData;
+
+ for (const_iterator linksetIter = begin(); linksetIter != end(); ++linksetIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = linksetIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+
+ if (linkset->isTerrain())
+ {
+ terrainData = linkset->encodeAlteredFields(pLinksetUse, pA, pB, pC, pD);
+ break;
+ }
+ }
+
+ return terrainData;
}
bool LLPathfindingLinksetList::isShowUnmodifiablePhantomWarning(LLPathfindingLinkset::ELinksetUse pLinksetUse) const
{
- bool isShowWarning = false;
+ bool isShowWarning = false;
- for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
- {
- const LLPathfindingObjectPtr objectPtr = objectIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
- isShowWarning = linkset->isShowUnmodifiablePhantomWarning(pLinksetUse);
- }
+ for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = objectIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+ isShowWarning = linkset->isShowUnmodifiablePhantomWarning(pLinksetUse);
+ }
- return isShowWarning;
+ return isShowWarning;
}
bool LLPathfindingLinksetList::isShowPhantomToggleWarning(LLPathfindingLinkset::ELinksetUse pLinksetUse) const
{
- bool isShowWarning = false;
+ bool isShowWarning = false;
- for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
- {
- const LLPathfindingObjectPtr objectPtr = objectIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
- isShowWarning = linkset->isShowPhantomToggleWarning(pLinksetUse);
- }
+ for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = objectIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+ isShowWarning = linkset->isShowPhantomToggleWarning(pLinksetUse);
+ }
- return isShowWarning;
+ return isShowWarning;
}
bool LLPathfindingLinksetList::isShowCannotBeVolumeWarning(LLPathfindingLinkset::ELinksetUse pLinksetUse) const
{
- bool isShowWarning = false;
+ bool isShowWarning = false;
- for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
- {
- const LLPathfindingObjectPtr objectPtr = objectIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
- isShowWarning = linkset->isShowCannotBeVolumeWarning(pLinksetUse);
- }
+ for (const_iterator objectIter = begin(); !isShowWarning && (objectIter != end()); ++objectIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = objectIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+ isShowWarning = linkset->isShowCannotBeVolumeWarning(pLinksetUse);
+ }
- return isShowWarning;
+ return isShowWarning;
}
void LLPathfindingLinksetList::determinePossibleStates(bool &pCanBeWalkable, bool &pCanBeStaticObstacle, bool &pCanBeDynamicObstacle,
- bool &pCanBeMaterialVolume, bool &pCanBeExclusionVolume, bool &pCanBeDynamicPhantom) const
+ bool &pCanBeMaterialVolume, bool &pCanBeExclusionVolume, bool &pCanBeDynamicPhantom) const
{
- pCanBeWalkable = false;
- pCanBeStaticObstacle = false;
- pCanBeDynamicObstacle = false;
- pCanBeMaterialVolume = false;
- pCanBeExclusionVolume = false;
- pCanBeDynamicPhantom = false;
-
- for (const_iterator objectIter = begin();
- !(pCanBeWalkable && pCanBeStaticObstacle && pCanBeDynamicObstacle && pCanBeMaterialVolume && pCanBeExclusionVolume && pCanBeDynamicPhantom) && (objectIter != end());
- ++objectIter)
- {
- const LLPathfindingObjectPtr objectPtr = objectIter->second;
- const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
-
- if (linkset->isTerrain())
- {
- pCanBeWalkable = true;
- }
- else
- {
- if (linkset->isModifiable())
- {
- pCanBeWalkable = true;
- pCanBeStaticObstacle = true;
- pCanBeDynamicObstacle = true;
- pCanBeDynamicPhantom = true;
- if (linkset->canBeVolume())
- {
- pCanBeMaterialVolume = true;
- pCanBeExclusionVolume = true;
- }
- }
- else if (linkset->isPhantom())
- {
- pCanBeDynamicPhantom = true;
- if (linkset->canBeVolume())
- {
- pCanBeMaterialVolume = true;
- pCanBeExclusionVolume = true;
- }
- }
- else
- {
- pCanBeWalkable = true;
- pCanBeStaticObstacle = true;
- pCanBeDynamicObstacle = true;
- }
- }
- }
+ pCanBeWalkable = false;
+ pCanBeStaticObstacle = false;
+ pCanBeDynamicObstacle = false;
+ pCanBeMaterialVolume = false;
+ pCanBeExclusionVolume = false;
+ pCanBeDynamicPhantom = false;
+
+ for (const_iterator objectIter = begin();
+ !(pCanBeWalkable && pCanBeStaticObstacle && pCanBeDynamicObstacle && pCanBeMaterialVolume && pCanBeExclusionVolume && pCanBeDynamicPhantom) && (objectIter != end());
+ ++objectIter)
+ {
+ const LLPathfindingObjectPtr objectPtr = objectIter->second;
+ const LLPathfindingLinkset *linkset = dynamic_cast<const LLPathfindingLinkset *>(objectPtr.get());
+
+ if (linkset->isTerrain())
+ {
+ pCanBeWalkable = true;
+ }
+ else
+ {
+ if (linkset->isModifiable())
+ {
+ pCanBeWalkable = true;
+ pCanBeStaticObstacle = true;
+ pCanBeDynamicObstacle = true;
+ pCanBeDynamicPhantom = true;
+ if (linkset->canBeVolume())
+ {
+ pCanBeMaterialVolume = true;
+ pCanBeExclusionVolume = true;
+ }
+ }
+ else if (linkset->isPhantom())
+ {
+ pCanBeDynamicPhantom = true;
+ if (linkset->canBeVolume())
+ {
+ pCanBeMaterialVolume = true;
+ pCanBeExclusionVolume = true;
+ }
+ }
+ else
+ {
+ pCanBeWalkable = true;
+ pCanBeStaticObstacle = true;
+ pCanBeDynamicObstacle = true;
+ }
+ }
+ }
}
void LLPathfindingLinksetList::parseLinksetListData(const LLSD& pLinksetListData)
{
- LLPathfindingObjectMap &objectMap = getObjectMap();
-
- for (LLSD::map_const_iterator linksetDataIter = pLinksetListData.beginMap();
- linksetDataIter != pLinksetListData.endMap(); ++linksetDataIter)
- {
- const std::string& uuid(linksetDataIter->first);
- const LLSD& linksetData = linksetDataIter->second;
- if(linksetData.size() != 0)
- {
- LLPathfindingObjectPtr linksetPtr(new LLPathfindingLinkset(uuid, linksetData));
- objectMap.insert(std::pair<std::string, LLPathfindingObjectPtr>(uuid, linksetPtr));
- }
- }
+ LLPathfindingObjectMap &objectMap = getObjectMap();
+
+ for (LLSD::map_const_iterator linksetDataIter = pLinksetListData.beginMap();
+ linksetDataIter != pLinksetListData.endMap(); ++linksetDataIter)
+ {
+ const std::string& uuid(linksetDataIter->first);
+ const LLSD& linksetData = linksetDataIter->second;
+ if(linksetData.size() != 0)
+ {
+ LLPathfindingObjectPtr linksetPtr(new LLPathfindingLinkset(uuid, linksetData));
+ objectMap.insert(std::pair<std::string, LLPathfindingObjectPtr>(uuid, linksetPtr));
+ }
+ }
}