10 #ifndef Navigation_LivePath_H
11 #define Navigation_LivePath_H
22 class IPathFinderQuery;
24 class LivePathOnPathCalculated :
public IOnDone
27 LivePathOnPathCalculated(LivePath* livePath) : m_livePath(livePath) {}
28 virtual ~LivePathOnPathCalculated() {}
29 virtual void OnDone();
32 Ptr<IOnDone> m_preSetOnDone;
35 enum PathFinderQueryStatus
37 PathFinderQueryStatus_Idle,
38 PathFinderQueryStatus_Computing,
78 Path* GetFollowedPath() const;
86 UpperBoundType GetUpperBoundType() const;
104 template<class TraverseLogic>
106 KyFloat32 minDistanceFromTargetOnPathBackward,
KyFloat32 minDistanceFromTargetOnPathFrowaard);
108 template<class TraverseLogic>
109 KyResult ValidateForward(
void* traverseLogicUserData,
KyFloat32 minimumDistanceAdvancement,
112 void* GetBotTraverseLogicUserData() const;
113 void SetBotTraverseLogicUserData(
void* traverseLogicUserData);
123 void ClearFollowedPath();
125 void CancelAsyncPathComputation();
130 Ptr<LivePathOnPathCalculated> m_onPathCalculated;
132 Ptr<
Path> m_followedPath;
137 PathFinderQueryStatus m_pathFinderQueryStatus;
146 #include "gwnavruntime/path/livepath.inl"
This class is the world element that represent an active character in Gameware Navigation.
Definition: bot.h:150
Base class for all pathfinder queries.
Definition: ipathfinderquery.h:38
The Path has not been set yet or has been Cleared.
Definition: livepath.h:46
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
This class aggregates all necessary information about a position on a Path, namely: ...
Definition: positiononpath.h:33
PathEventList aggregates all PathEvents and PathEventIntervals in a PathValidityInterval.
Definition: patheventlist.h:141
bool NeedToReplaceCurrentPathWithNewPath() const
Returns whether or not a new Path has been set and is ready to be followed.
Definition: livepath.inl:33
PathSource m_pathType
The source of the current Path.
Definition: livepath.h:158
bool m_needToSendLivePathBlob
(VisualDebug) Avoids sending all the active KyGuid each frame. Accessed by the Bot.
Definition: livepath.h:164
PathValidityStatus
Enumerate the different validity status of a LivePath.
Definition: pathvalidityinterval.h:45
The Path has been computed by a IPathFinderQuery.
Definition: livepath.h:47
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
This class aggregates Channels along a Path.
Definition: channelarray.h:31
void ReplaceCurrentPathWithNewPath()
This method is called to properly switch between the currently followed Path and the new one freshly ...
PathSource
Enumerates the possible source for a new Path.
Definition: livepath.h:44
The Path has been injected by the user.
Definition: livepath.h:48
void ForceValidityIntervalRecompute()
Call this method to force an update of the PathValidityInterval.
Definition: livepath.inl:38
Definition: gamekitcrowddispersion.h:20
Ptr< Path > m_newPath
The new Path that has just been set.
Definition: livepath.h:156
void InjectUserPath(Path *newPath)
Calls SetPath() to inject newPath and set m_newPathSource to PathSource_UserInjected.
Definition: livepath.inl:36
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
bool IsComputingNewPath() const
Returns true if a path computation has been launched with the PathFinderQuery and the followed path h...
Definition: livepath.inl:34
Maintains runtime validity information on a given Path.
Definition: pathvalidityinterval.h:88
PathSource m_newPathSource
The source of the new Path that has just been set.
Definition: livepath.h:159
void InjectPathFromPathFinderQueryOnDone(Path *newPath)
Calls SetPath() to inject newPath and set m_newPathSource to Called internally by the Bot or by the L...
Definition: livepath.inl:37
This class aggregates a Path and all runtime related stuff namely the PathValidityInterval.
Definition: livepath.h:59
The class representing a path.
Definition: path.h:42
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43