gwnavruntime/pathfollower/pathprogresscomputer.h Source File

pathprogresscomputer.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 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 #pragma once
8 
10 #include "gwnavruntime/world/bot.h"
11 
12 namespace Kaim
13 {
14 
15 
22 template <class TraverseLogic>
24 {
26 
27 public:
28  // ------------------------------ Functions -----------------------------
29 
31 
32  virtual ~PathProgressComputer() {}
33 
34  virtual void Update(Bot* bot, KyFloat32 simulationTimeInSeconds);
35 
36 private:
37  void UpdatePathEventList(Bot* bot);
38  void OnPathEventListChange(Bot* bot, ManualControlStatus exitStatusPriorToChange);
39 
40  void ComputeLocalCostOnPath(Bot* bot);
41  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithNoCustomCost);
42  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithCostPerTriangle);
43  void ComputeLocalCostOnPathImpl(Bot* bot, LogicWithCostPerNavTag);
44  void UpdateLocalCostOnPathFromNavTag(Bot* bot, const NavTag* navTag); // used with LogicWithCostPerNavTag
45 };
46 
47 } // namespace Kaim
48 
50 
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
PathProgressComputer maintains the progress of a Bot along a Path.
Definition: pathprogresscomputer.h:23
Tag type used for function overloading in templates.
Definition: traverselogic.h:69
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
The abstract base class for PathProgressComputer classes.
Definition: basepathprogresscomputer.h:30
Tag type used for function overloading in templates.
Definition: traverselogic.h:59
Tag type used for function overloading in templates.
Definition: traverselogic.h:64
ManualControlStatus
Definition: manualcontrolinterval.h:17
float KyFloat32
float
Definition: types.h:32