gwnavruntime/pathfollower/shortcuttrajectory.h Source File

shortcuttrajectory.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 
12 #include "gwnavruntime/world/bot.h"
17 
18 
19 namespace Kaim
20 {
21 
22 class Bot;
23 
24 
30 template<class TraverseLogic>
32 {
33  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_PathFollowing)
34 public:
35  // ------------------------------ Functions -----------------------------
37 
38 public: // internal
39  virtual KyResult ComputeTargetOnPath(KyFloat32 simulationTimeInSeconds);
40 
41  // Used in Trajectory::CanResetTrajectory to instantiate a TargetOnPathComputer and compute a TargetOnPath calling ComputeTargetOnPathOnNavMeshOnly
42  // which disregards backward edge type, it only check forward edge type that must be on NavMesh and bot must have a valid triangle
43  virtual KyResult ComputeTargetOnPathOnNavMeshOnly(TargetOnPath& targetOnPath, KyFloat32 simulationTimeInSeconds, ComputeTargetOnPathSearchControl forwardSearchControl) const;
44 
45 private:
46  // Specific optimization for shortcut cf. World::SetNumberOfFramesForShortcutTrajectoryPeriodicUpdate for more details
47  virtual bool WillUpdatePathFollowThisFrame_(KyFloat32 simulationTimeInSeconds, KyUInt32 worldUpdateIdx, KyUInt32 updatePeriod);
48 };
49 
50 
51 } // namespace Kaim
52 
54 
This class computes minimal trajectory made of just one velocity.
Definition: baseshortcuttrajectory.h:33
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
This class computes minimal trajectory made of just one velocity.
Definition: shortcuttrajectory.h:31
This class computes the trajectory either with ShortcutTrajectory or with SplineTrajectory.
Definition: trajectory.h:26
float KyFloat32
float
Definition: types.h:32