23 AsyncQueryDispatchId_Default = 0,
24 AsyncQueryDispatchId_PathFinder = 1,
25 AsyncQueryDispatchId_DynamicNavMesh = 2,
26 AsyncQueryDispatchId_PathFollower = 3,
28 AsyncQueryDispatchId_Count
32 enum AsyncQueryDispatcherType
34 AsyncQueryDispatcherType_Unknown = 0,
35 AsyncQueryDispatcherType_Default,
36 AsyncQueryDispatcherType_FirstCustom
46 void SetWorld(
World* world) { m_world = world; }
47 World* GetWorld() {
return m_world; }
49 virtual void AddQueryQueuesToWorld() = 0;
50 virtual void RemoveQueryQueuesFromWorld() = 0;
61 class AsyncQueryDispatcherInitConfig
65 AsyncQueryDispatcherInitConfig()
66 : m_createWorkerQueryQueueArray(false)
67 , m_useWorkerQueryQueueByDefault(false)
68 , m_usePathFinderQueryQueue(true)
69 , m_useDynamicNavMeshQueryQueue(true)
70 , m_usePathFollowerQueryQueue(true)
73 bool m_createWorkerQueryQueueArray;
74 bool m_useWorkerQueryQueueByDefault;
76 bool m_usePathFinderQueryQueue;
77 bool m_useDynamicNavMeshQueryQueue;
78 bool m_usePathFollowerQueryQueue;
80 QueryQueueConfig m_defaultQueryQueueConfig;
81 QueryQueueConfig m_pathFinderQueryQueueConfig;
82 QueryQueueConfig m_dynamicNavMeshQueryQueueConfig;
83 QueryQueueConfig m_pathFollowerQueryQueueConfig;
94 virtual void AddQueryQueuesToWorld();
95 virtual void RemoveQueryQueuesFromWorld();
100 void UseWorker(
bool useWorkerQueryQueue) { m_useWorkerQueryQueue = useWorkerQueryQueue; }
103 void InitQueryQueueArray(
QueryQueueArray* queryQueueArray, QueryQueueArrayProcess queryQueueArrayProcessThread);
105 void RemoveQueryQueuesFromWorldImpl();
108 AsyncQueryDispatcherInitConfig m_initConfig;
109 Ptr<QueryQueueArray> m_mainQueryQueueArray;
110 Ptr<QueryQueueArray> m_workerQueryQueueArray;
111 bool m_useWorkerQueryQueue;
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
AsyncQueryDispatchId
Typically there is one QueryQueue for each AsyncQueryDispatchId.
Definition: asyncquerydispatcher.h:21
Default implementation of IAsyncQueryDispatcher.
Definition: asyncquerydispatcher.h:87
QueryQueueArray processes queries in an asynchronous, time-sliced way.
Definition: queryqueuearray.h:31
QueryQueue processes queries in an asynchronous, time-sliced way, within a QueryQueueArray.
Definition: queryqueue.h:73
This class is a runtime container for Autodesk Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes...
Definition: world.h:52
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
World::PushAsyncQuery(IQuery* query) pushes the Query in the QueryQueue.
Definition: asyncquerydispatcher.h:41
Abstract class for all queries.
Definition: iquery.h:123