32 virtual const char*
type()
const;
55 virtual bool createPSR();
57 virtual void registerScriptTaskCallbacks();
58 virtual void unregisterScriptTaskCallbacks();
61 virtual void unregisterTaskMsgCallbacks();
63 virtual void registerScriptSetCallbacks();
64 virtual void unregisterScriptSetCallbacks();
78 virtual bool isTypeSetable(
const DtSetMessageType& taskType,
bool remap =
true)
const;
100 virtual void sweepMarkedForDeletion(
bool clearFromPsr =
true);
108 static void scenarioSaveCallback(
void* usr);
131 const std::vector<DtTranslatableStream>& options,
int displayFlag);
138 bool actAsSubtask =
true,
bool useRadio =
false);
159 virtual void processNewSensorContact();
168 virtual int nextBackgroundProcessId()
const;
177 virtual void processScenarioSaveCallback();
180 virtual void propagateScriptIdChange(
const DtString& oldId,
const DtString& newId);
184 virtual void restartScriptInterfaceByType(
const DtSetMessageType& taskType);
188 virtual void clearAndRestoreTasks(
bool forceStop =
false);
191 virtual void clearAndRestoreSets();
193 static void userQuestionOperationCallback(
DtSimMessage* msg,
void* usrData);
194 virtual void processUserQuestionOperation(
DtSimMessage*);
196 virtual void sendOffOutstandingQuestionFor(
const DtString& scriptId);
199 virtual bool backgroundProcessAvailable()
const;
201 static void processScriptedSetCallback(
DtSimMessage *msg,
void * usrData);
204 virtual bool checkRemoveTaskId(
int taskId,
bool clearFromPsr =
true);
206 virtual bool markedForDeletion(
int taskId)
const;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtScriptMultiTaskControllerPSR * myProcessState
Definition: scriptMultiTaskController.h:220
virtual DtSubtaskStatusEntry * scriptSubtaskStatus(int subtaskId, int parentTaskId)=0
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::set< DtSimTaskMessageType > myAdditionalReactiveTasks
Definition: scriptMultiTaskController.h:237
This is a DtReaderWriter subclass which holds the status of a subtask that was issues by another task...
Definition: taskStatusEntry.h:28
std::map< DtSimTaskMessageType, DtString > myTasksToBeAdded
Definition: scriptMultiTaskController.h:234
std::map< DtSetMessageType, int > myAvailableSetScripts
Definition: scriptMultiTaskController.h:210
virtual void notifyScriptTaskError(const DtString &scriptId, int taskId)=0
virtual void scriptTaskComplete(int taskId, bool success)=0
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
Set version of scripted task that is used in scripted set scripts.
Definition: scriptedTaskSet.h:19
virtual void clearTask()
Called when you want to clear out this component's task state. Base class implementation does nothing...
virtual void registerTaskMsgCallbacks()
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
virtual void scriptClearSubtask(int subtaskId, int parentTaskId)=0
virtual void suspendTask(int taskId)
This method is called when the specified running task is being suspended. The default implementation ...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: multiTaskControllerComponent.h:23
Definition: readerWriterRegistry.h:39
virtual void cancelUserQuestion(int questionId)=0
bool myAreTaskCallbacksRegistered
Definition: scriptMultiTaskController.h:221
virtual void scriptSetTickPeriod(int taskId, const DtString &scriptId, double period)=0
virtual int scriptSendSubtask(DtSimTask &task, int parentTaskId)=0
DtBoost::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
virtual void scriptSetComplete(const DtString &scriptId)=0
bool myTasksRegistered
Definition: scriptMultiTaskController.h:238
DtForceType myCurrentForceType
Definition: scriptMultiTaskController.h:226
Definition: scriptMultiTaskController.h:23
virtual bool init()
Calls setRadio()
std::pair< int, DtString > TaskAndScriptIds
Definition: scriptMultiTaskController.h:217
std::map< DtSimTaskMessageType, int > myBackgroundProcesses
Definition: scriptMultiTaskController.h:211
File: simMsg.h.
Definition: simMessage.h:35
virtual makVrf::DtLineTaskVisualizationPtr lineTaskVisualization(int taskId, const DtString &name)
Finds an existing or creates a new line task visualization with the given name.
virtual std::vector< int > scriptPendingSubstaskIds(int taskId)=0
Process State Repository for the DtRotaryWingFlightCommandController component.
Definition: scriptMultiTaskControllerPSR.h:22
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
virtual bool tickWhileDestroyed() const
If the component returns true here, it will be ticked regardless of the destroyed state of the host e...
std::list< int > myMarkedForDeletionList
Definition: scriptMultiTaskController.h:215
std::map< DtSetMessageType, DtString > mySetsToBeAdded
Definition: scriptMultiTaskController.h:235
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
This stream is used by the scripting classes to be able to send out translatable messages from script...
Definition: translatableStream.h:22
virtual makVrf::DtPointTaskVisualizationPtr pointTaskVisualization(int taskId, const DtString &name)
Finds an existing or creates a new point task visualization with the given name.
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
virtual DtSimTaskStatePtr currentTaskState(int taskId) const
virtual int scriptSendTask(DtSimTask &task, const DtUUID &entityName, int parentTaskId, bool actAsSubtask=true, bool useRadio=false)=0
virtual void setScriptTickPeriod(const DtString &scriptId, double period)
If supported, and this is a scripted task controller, set the period to tick the script. Default is no-op.
virtual makVrf::DtTextTaskVisualizationPtr textTaskVisualization(int taskId, const DtString &name)
Finds an existing or creates a new text task visualization with the given name.
virtual bool beginProcessingTask(const DtTaskMessage &task, DtSimTaskStatePtr taskState)
Called by the task manager when this controller should start executing the specified task...
bool myIsDestroyed
Definition: scriptMultiTaskController.h:228
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
bool myQueueSetsToBeAdded
Definition: scriptMultiTaskController.h:233
virtual bool checkpointModeUseCheckpointState(int taskId, const DtString &scriptId) const =0
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
virtual void cleanupInactiveSubtaskStatus(int taskId)
Clears out subtask status entries that are either completed or canceled which were started by the spe...
virtual makVrf::DtAreaTaskVisualizationPtr areaTaskVisualization(int taskId, const DtString &name)
Finds an existing or creates a new area task visualization with the given name.
virtual void scriptSetTickWhilePaused(int taskId, const DtString &scriptId, bool enable)=0
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
std::list< TaskAndScriptIds > myRespondToNewSensorContactList
List of task and script IDs for scripts that will respond to new sensor contacts. ...
Definition: scriptMultiTaskController.h:219
std::map< DtSimTaskMessageType, int > myAvailableTaskScripts
Definition: scriptMultiTaskController.h:209
virtual void scriptSetRespondToNewSensorContacts(int taskId, const DtString &scriptId, bool tick)=0
Definition: scriptedTaskManager.h:45
virtual void deleteTaskVisualization(int taskId, const DtString &visName)=0
bool myQueueTasksToBeAdded
Prior to preFirstTickInit, any tasks added should be queued for later addition.
Definition: scriptMultiTaskController.h:232
virtual void setCheckpointModeUseCheckpointState(int taskId, const DtString &scriptId, bool)=0
virtual void taskComplete(int taskId, bool success)
This indicates that the specified task is complete. This will kick off a series of events in the task...
std::map< int, boost::shared_ptr< DtScriptInterface > > myCurrentScriptInterfaceMap
Negative task ids are background processes.
Definition: scriptMultiTaskController.h:214
1) Define the interface class that will be used to represent the next and current frames...
Definition: taskVisualizationStateComponent.h:260
std::map< DtSetMessageType, DtString > myAdditionalRunnableSetTypes
Definition: scriptMultiTaskController.h:225
Definition: scriptTaskControllerInterface.h:19
virtual int statusOfUserQuestion(int questionId)=0
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
std::map< DtSimTaskMessageType, DtString > myAdditionalRunnableTaskTypes
This is a list of script IDs that will be run by this component, even if they script is not marked as...
Definition: scriptMultiTaskController.h:224
virtual int askUserQuestion(const DtString &scriptId, const DtTranslatableStream &title, const DtTranslatableStream &message, const std::vector< DtTranslatableStream > &options, int displayFlag)=0
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86