diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
| commit | a1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch) | |
| tree | 1d205e51bc37621916a17d459ad83782fe41f975 /indra/newview/llpathfindinglinksetlist.cpp | |
| parent | 6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff) | |
| parent | 6377610f6587989c126b00f490dfc8d527a1c2ce (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.cpp | 250 | 
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)); +        } +    }  }  | 
