16 class VisualDebugServer;
23 ShortcutMode_MustUpdateTargetOnPath,
24 ShortcutMode_UseCurrentTargetOnPath,
25 ShortcutMode_SnapOnPath,
46 void ClearTrajectory();
48 const Vec3f& GetTrajectoryTarget()
const {
return m_target; }
50 void ForceTargetToTargetOnPath() { m_useTargetProvidedByUser =
false; }
51 void ForceTargetToPosition(
const Vec3f& forcedTarget);
56 void SendVisualDebugBlob(VisualDebugServer& visualDebugServer, VisualDebugSendChangeEvent changeEvent);
57 void RemoveAllVisualDebugBeforeTrajectoryChange(VisualDebugServer& visualDebugServer);
59 void InitTargetOnPathIfNeeded();
62 ShortcutMode GetShortcutMode(
KyUInt32 worldUpdateIdx);
63 bool CanUseTargetOnPath()
const;
69 virtual KyResult ComputeTargetOnPathOnNavMeshOnly(TargetOnPath& targetOnPath,
KyFloat32 simulationTimeInSeconds, ComputeTargetOnPathSearchControl forwardSearchControl)
const = 0;
73 bool willUpdate = WillUpdatePathFollowThisFrame_(simulationTimeInSeconds, worldUpdateIdx, updatePeriod);
75 m_updateLastUpdateIdx = worldUpdateIdx;
80 void UpdateShortcutMode(
KyUInt32 worldUpdateIdx);
81 void ComputeStraightTrajectory(
KyFloat32 simulationTimeInSeconds);
82 void ComputeAvoidanceTrajectory(
KyFloat32 simulationTimeInSeconds);
83 void ComputeSnapOnPathTrajectory(
KyFloat32 simulationTimeInSeconds);
85 virtual bool WillUpdatePathFollowThisFrame_(
KyFloat32 simulationTimeInSeconds,
KyUInt32 worldUpdateIdx,
KyUInt32 updatePeriod) = 0;
87 ShortcutMode ComputeShortcutMode()
const;
92 Ptr<IAvoidanceComputer> m_avoidanceComputer;
93 TargetOnPath m_targetOnPath;
96 ShortcutMode m_shortcutMode;
97 ShortcutMode m_prevShortcutMode;
98 KyUInt32 m_trajectoryComputeModeLastUpdateIdx;
99 bool m_useTargetProvidedByUser;
100 bool m_useMinimalTargetUpdate;
101 bool m_visualDebugBlobSent;
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
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_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
#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
Set of parameters used by the ShortcutTrajectory and TargetOnPathComputer classes to update Bot targe...
Definition: shortcuttrajectoryconfig.h:89
This class computes the trajectory either with ShortcutTrajectory or with SplineTrajectory.
Definition: trajectory.h:26
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16