VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
multiTaskControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
20 
26 {
27 
28 public:
29 
36  DtSimManager* simManager,
37  DtComponentDescriptor* compDesc = 0,
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
42 
43  virtual bool init();
44 
49  virtual void postTick();
50 
59  virtual bool beginProcessingTask(const DtTaskMessage& task,
60  DtSimTaskStatePtr taskState);
61 
67  virtual void taskComplete(int taskId, bool success);
68 
70  virtual void clearTask(int taskId);
71 
74  virtual void suspendTask(int taskId);
75 
77  virtual DtTaskMessage* currentTaskMessage(int taskId);
78 
84  virtual DtSimTaskStatePtr currentTaskState(int taskId) const;
85 
89  virtual int sendSubtask(DtSimTask& task, int taskId);
90 
98  virtual int sendTask(DtSimTask& task, const DtUUID& receiver, int taskId,
99  bool actAsSubtask = true, bool useRadio = false);
100 
105  virtual void clearSubtask(int subtaskId, int taskId);
106 
110  virtual void addPendingSubtaskId(int subtaskId, int taskId);
111 
116  virtual bool findPendingSubtaskId(int subtaskId, int taskId);
117 
119  virtual bool isSubtasked() const;
120 
125  virtual void removePendingSubtaskId(int subtaskId, int taskId);
126 
129  virtual DtSubtaskStatusEntry* subtaskStatus(int subtaskId, int taskId);
130 
135  virtual void removeAllPendingSubtaskIds(int taskId);
136 
138  virtual std::vector<int> currentPendingSubstaskIds(int taskId) const;
139 
142  virtual bool decideToGiveUpTask() const;
143 
147  virtual void giveUpTask();
148 
150  virtual bool taskActive(int taskId) const;
151 
153  virtual bool clearTopLevelTasks();
154 
156  virtual void clearConflictingTopLevelTasks(const DtSimTaskMessageType& conflictType);
157 
159  virtual void clearTasksByType(const DtSimTaskMessageType& taskType);
160 
162  virtual void clearTaskById(int taskId);
163 
164  virtual DtSuspendedTaskInfo* suspendTaskById(int taskId);
165 
167  virtual std::list<DtTaskMessage*> currentTaskMessages() const;
168 
171 
174  virtual void setScriptTickPeriod(const DtString& scriptId, double period);
175 
177  virtual DtPointTaskVisualizationPtr pointTaskVisualization(int taskId, const DtString& name);
178 
180  virtual DtLineTaskVisualizationPtr lineTaskVisualization(int taskId, const DtString& name);
181 
183  virtual DtAreaTaskVisualizationPtr areaTaskVisualization(int taskId, const DtString& name);
184 
186  virtual DtTextTaskVisualizationPtr textTaskVisualization(int taskId, const DtString& name);
187 
189  virtual void destroyTaskVisualization(int taskId, const DtString& name);
190 
192  virtual void destroyTaskVisualizations(int taskId);
193 
194 protected:
196  virtual void addCurrentTaskMessage(const DtTaskMessage* taskMessage);
199  virtual void clearCurrentTaskMessage(int taskId);
200 
203  virtual void clearPendingSubtasks(int taskId);
204 
208  virtual void clearSubtasksByType(const DtSimTaskMessageType& taskType, int taskId);
209 
212  virtual int taskIdWhichStartedSubtask(int subtaskId);
213 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)