gwnavruntime/pathfollower/pathprogresscomputer.h Source File

pathprogresscomputer.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 // primary contact: LAPA - secondary contact: NOBODY
8 #ifndef Navigation_PathProgressComputer_H
9 #define Navigation_PathProgressComputer_H
10 
12 #include "gwnavruntime/world/bot.h"
13 
14 namespace Kaim
15 {
16 
17 
24 template <class TraverseLogic>
25 class PathProgressComputer: public BasePathProgressComputer
26 {
27  KY_CLASS_WITHOUT_COPY(PathProgressComputer)
28 
29 public:
30  // ---------------------------------- Public Member Functions ----------------------------------
31 
33 
34  virtual ~PathProgressComputer() {}
35 
36  virtual void Update(Bot* bot, KyFloat32 simulationTimeInSeconds);
37 
38 private:
39  void UpdatePathEventList(Bot* bot);
40  void OnPathEventListChange(Bot* bot, ManualControlStatus exitStatusPriorToChange);
41 
42  void ComputeLocalCostOnPath(Bot* bot);
43  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithoutCostMultipler);
44  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithCostMultiplerPerTriangle);
45  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithCostMultiplerPerNavTag);
46  void UpdateLocalCostOnPathFromNavTag(Bot* bot, const NavTag* navTag); // used with LogicWithCostMultiplerPerNavTag
47 };
48 
49 } // namespace Kaim
50 
52 
53 #endif // Navigation_PathFollower_H
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
PathProgressComputer maintains the progress of a Bot along a Path.
Definition: pathprogresscomputer.h:29
Definition: gamekitcrowddispersion.h:20
ManualControlStatus
Definition: manualcontrolinterval.h:18
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43