14 class PathValidityInterval;
28 class ManualControlInterval
34 ManualControlInterval(Bot* bot);
37 ManualControlStatus Compute(
const NavTag* navTag,
const PositionOnLivePath& positionOnLivePath);
38 ManualControlStatus Compute(
const DynamicNavTag* navTag,
const PositionOnLivePath& positionOnLivePath);
44 template<
class TNavTag>
bool IsAlreadyOnNavTag(
const TNavTag* navTagLookedFor,
const NavTag* currentNavTag);
49 template<
class TNavTag>
void MovePositionOnPathToCurrentOrNextNavTagEntry(
const TNavTag* navTag, PositionOnLivePath& positionOnLivePath);
54 template<
class TNavTag>
void MovePositionOnPathToCurrentOrPreviousNavTagExit(
const TNavTag* navTag, PositionOnLivePath& positionOnLivePath);
60 template<
class TNavTag>
ManualControlStatus GetCurrentOrNextManualControlInterval(
const TNavTag* navTag,
const PositionOnLivePath& positionOnLivePath);
63 ManualControlInterval() : m_pathValidityInterval(
nullptr) {}
64 void BindToPathValdityInterval(PathValidityInterval* pathValidityInterval);
70 const PositionOnLivePath& GetEnterPositionOnLivePath()
const {
return m_enterPos; }
71 const PositionOnLivePath& GetExitPositionOnLivePath()
const {
return m_exitPos; }
72 const PositionOnPath& GetEnterPositionOnPath()
const {
return m_enterPos.GetPositionOnPath(); }
73 const PositionOnPath& GetExitPositionOnPath()
const {
return m_exitPos.GetPositionOnPath(); }
74 const Vec3f& GetEnterPosition()
const {
return m_enterPos.GetPosition(); }
75 const Vec3f& GetExitPosition()
const {
return m_exitPos.GetPosition(); }
84 void ClearEventListLocation()
86 m_enterPos.ClearEventListLocation();
87 m_exitPos.ClearEventListLocation();
90 void FindLocationOnEventListFromScratch();
93 void UpdatePendingExitPosition();
97 PathValidityInterval* m_pathValidityInterval;
98 PositionOnLivePath m_enterPos;
99 PositionOnLivePath m_exitPos;
PositionOnPath is valid, but event information in PositionOnLivePath are not valid.
Definition: manualcontrolinterval.h:21
binded to a bot, but PositionPath is invalid
Definition: manualcontrolinterval.h:20
PositionOnLivePath needs validation, PositionOnPath and event information can change! ...
Definition: manualcontrolinterval.h:22
PositionOnLivePath is valid.
Definition: manualcontrolinterval.h:23
#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
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
ManualControlStatus
Definition: manualcontrolinterval.h:17
not initialized
Definition: manualcontrolinterval.h:19