BVB Source Codes

CRYENGINE Show CustomNavRegion.h Source code

Return Download CRYENGINE: download CustomNavRegion.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #if !defined(__CUSTOMNAVREGION_H__)
  4. #define __CUSTOMNAVREGION_H__
  5.  
  6. #include "NavRegion.h"
  7.  
  8. class CGraph;
  9.  
  10. /// Handles all graph operations that relate to the smart objects aspect
  11. class CCustomNavRegion : public CNavRegion
  12. {
  13.         CGraph* m_pGraph;
  14.  
  15. public:
  16.         CCustomNavRegion(CGraph* pGraph) : m_pGraph(pGraph)
  17.         {}
  18.  
  19.         virtual ~CCustomNavRegion() {}
  20.  
  21.         /// inherited
  22.         virtual void BeautifyPath(
  23.           const VectorConstNodeIndices& inPath, TPathPoints& outPath,
  24.           const Vec3& startPos, const Vec3& startDir,
  25.           const Vec3& endPos, const Vec3& endDir,
  26.           float radius,
  27.           const AgentMovementAbility& movementAbility,
  28.           const NavigationBlockers& navigationBlockers)
  29.         {
  30.                 UglifyPath(inPath, outPath, startPos, startDir, endPos, endDir);
  31.         }
  32.  
  33.         /// inherited
  34.         virtual void UglifyPath(
  35.           const VectorConstNodeIndices& inPath, TPathPoints& outPath,
  36.           const Vec3& startPos, const Vec3& startDir,
  37.           const Vec3& endPos, const Vec3& endDir);
  38.         /// inherited
  39.         virtual unsigned GetEnclosing(const Vec3& pos, float passRadius = 0.0f, unsigned startIndex = 0,
  40.                                       float range = -1.0f, Vec3* closestValid = 0, bool returnSuspect = false, const char* requesterName = "", bool omitWalkabilityTest = false)
  41.         {
  42.                 return 0;
  43.         }
  44.  
  45.         /// Serialise the _modifications_ since load-time
  46.         virtual void Serialize(TSerialize ser)
  47.         {}
  48.  
  49.         /// inherited
  50.         virtual void Clear();
  51.  
  52.         /// inherited
  53.         virtual size_t MemStats();
  54.  
  55.         float          GetCustomLinkCostFactor(const GraphNode* nodes[2], const PathfindingHeuristicProperties& pathFindProperties) const;
  56.  
  57.         uint32         CreateCustomNode(const Vec3& pos, void* customData, uint16 customId, SCustomNavData::CostFunction pCostFunction, bool linkWithEnclosing = true);
  58.         void           RemoveNode(uint32 nodeIndex);
  59.         void           LinkCustomNodes(uint32 node1Index, uint32 node2Index, float radius1To2, float radius2To1);
  60. };
  61.  
  62. #endif // #if !defined(__CUSTOMNAVREGION_H__)
  63.  
downloadCustomNavRegion.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top