diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-03-06 12:12:35 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-03-06 12:12:35 -0800 |
commit | 36d7de33b2cf0fe749e95044dbc8be89c1673555 (patch) | |
tree | 9d912d8216f78a123fe72c1c585642603a81bb7b /indra/newview/llpathfindinglinkset.h | |
parent | 49477cec951a658d2014afd7ac7c3920d6844a50 (diff) |
Updating the pathfinding linksets service to reference the new navmesh category field. Also, still supporting the old permanent/walkable field names until fully deprecated from all server builds.
Diffstat (limited to 'indra/newview/llpathfindinglinkset.h')
-rw-r--r-- | indra/newview/llpathfindinglinkset.h | 58 |
1 files changed, 37 insertions, 21 deletions
diff --git a/indra/newview/llpathfindinglinkset.h b/indra/newview/llpathfindinglinkset.h index 81acad7d4d..908b0b6f2d 100644 --- a/indra/newview/llpathfindinglinkset.h +++ b/indra/newview/llpathfindinglinkset.h @@ -38,11 +38,20 @@ class LLPathfindingLinkset; typedef boost::shared_ptr<LLPathfindingLinkset> LLPathfindingLinksetPtr;
+#define DEPRECATED_NAVMESH_PERMANENT_WALKABLE_FLAGS
+
class LLPathfindingLinkset
{
public:
typedef enum
{
+ kNavMeshGenerationIgnore,
+ kNavMeshGenerationInclude,
+ kNavMeshGenerationExclude
+ } ENavMeshGenerationCategory;
+
+ typedef enum
+ {
kUnknown,
kWalkable,
kStaticObstacle,
@@ -59,25 +68,25 @@ public: LLPathfindingLinkset& operator = (const LLPathfindingLinkset& pOther);
- inline bool isTerrain() const {return mIsTerrain;};
- inline const LLUUID& getUUID() const {return mUUID;};
- inline const std::string& getName() const {return mName;};
- inline const std::string& getDescription() const {return mDescription;};
- inline U32 getLandImpact() const {return mLandImpact;};
- inline const LLVector3& getLocation() const {return mLocation;};
- BOOL isModifiable() const {return mIsModifiable;};
- BOOL isPhantom() const;
- static BOOL isPhantom(ELinksetUse pLinksetUse);
- static ELinksetUse getLinksetUseWithToggledPhantom(ELinksetUse pLinksetUse);
+ inline bool isTerrain() const {return mIsTerrain;};
+ inline const LLUUID& getUUID() const {return mUUID;};
+ inline const std::string& getName() const {return mName;};
+ inline const std::string& getDescription() const {return mDescription;};
+ inline U32 getLandImpact() const {return mLandImpact;};
+ inline const LLVector3& getLocation() const {return mLocation;};
+ BOOL isModifiable() const {return mIsModifiable;};
+ BOOL isPhantom() const;
+ static BOOL isPhantom(ELinksetUse pLinksetUse);
+ static ELinksetUse getLinksetUseWithToggledPhantom(ELinksetUse pLinksetUse);
- inline ELinksetUse getLinksetUse() const {return mLinksetUse;};
+ inline ELinksetUse getLinksetUse() const {return mLinksetUse;};
- inline S32 getWalkabilityCoefficientA() const {return mWalkabilityCoefficientA;};
- inline S32 getWalkabilityCoefficientB() const {return mWalkabilityCoefficientB;};
- inline S32 getWalkabilityCoefficientC() const {return mWalkabilityCoefficientC;};
- inline S32 getWalkabilityCoefficientD() const {return mWalkabilityCoefficientD;};
+ inline S32 getWalkabilityCoefficientA() const {return mWalkabilityCoefficientA;};
+ inline S32 getWalkabilityCoefficientB() const {return mWalkabilityCoefficientB;};
+ inline S32 getWalkabilityCoefficientC() const {return mWalkabilityCoefficientC;};
+ inline S32 getWalkabilityCoefficientD() const {return mWalkabilityCoefficientD;};
- LLSD encodeAlteredFields(ELinksetUse pLinksetUse, S32 pA, S32 pB, S32 pC, S32 pD) const;
+ LLSD encodeAlteredFields(ELinksetUse pLinksetUse, S32 pA, S32 pB, S32 pC, S32 pD) const;
static const S32 MIN_WALKABILITY_VALUE;
static const S32 MAX_WALKABILITY_VALUE;
@@ -85,11 +94,18 @@ public: protected:
private:
- void parseObjectData(const LLSD &pLinksetItem);
- void parsePathfindingData(const LLSD &pLinksetItem);
- static ELinksetUse getLinksetUse(bool pIsPhantom, bool pIsPermanent, bool pIsWalkable);
- static BOOL isPermanent(ELinksetUse pLinksetUse);
- static BOOL isWalkable(ELinksetUse pLinksetUse);
+ void parseObjectData(const LLSD &pLinksetItem);
+ void parsePathfindingData(const LLSD &pLinksetItem);
+
+#ifdef DEPRECATED_NAVMESH_PERMANENT_WALKABLE_FLAGS
+ static ELinksetUse getLinksetUse(bool pIsPhantom, bool pIsPermanent, bool pIsWalkable);
+ static BOOL isPermanent(ELinksetUse pLinksetUse);
+ static BOOL isWalkable(ELinksetUse pLinksetUse);
+#endif // DEPRECATED_NAVMESH_PERMANENT_WALKABLE_FLAGS
+ static ELinksetUse getLinksetUse(bool pIsPhantom, ENavMeshGenerationCategory pNavMeshGenerationCategory);
+ static ENavMeshGenerationCategory getNavMeshGenerationCategory(ELinksetUse pLinksetUse);
+ static LLSD convertCategoryToLLSD(ENavMeshGenerationCategory pNavMeshGenerationCategory);
+ static ENavMeshGenerationCategory convertCategoryFromLLSD(const LLSD &llsd);
LLUUID mUUID;
bool mIsTerrain;
|