VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptMultiTaskControllerPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 #include "vrfutil/rwStringList.h"
13 #include <readerWriter/rwInt.h>
16 #include "vrfutil/rwUserQuestion.h"
19 
23 {
24 protected:
25  typedef void (*DtScriptPSRScenarioSaveFcn)(void*);
26 
27 public:
29  const DtString& rwName = DtString::nullString(),
30  DtReaderWriterRegistry* parentRegistry = 0);
31 
33  const DtString& rwName = DtString::nullString(),
34  DtReaderWriterRegistry* parentRegistry = 0);
35 
37  const DtScriptMultiTaskControllerPSR& orig);
38 
39  virtual ~DtScriptMultiTaskControllerPSR() override;
40 
42  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
43 
44  virtual void putSelf(std::string&, int, bool, const DtFilename&) override;
45  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
46  const DtVariableBindingsList& variableBindings) override;
47 
49  virtual DtString type() const override;
50 
55  virtual void addEntry(int tid, DtReaderWriter* entry, bool overwrite = true);
56 
57  virtual void removeEntry(int tid);
58 
59  virtual const DtReaderWriter* findEntry(int tid);
60 
61  virtual void clearEntries();
62 
63  virtual void setCallback(DtScriptPSRScenarioSaveFcn callback, void* usr);
64 
66  virtual void removeScriptInformation(const DtString&);
67 
72  virtual void setScriptTickPeriod(int taskId, const DtString& scriptId, double d,
73  double curScenarioTime);
74 
76  virtual double scriptTickPeriod(int taskId, const DtString& scriptId) const;
77 
79  virtual void setScriptTickWhilePaused(int taskId, const DtString& scriptId, bool enable);
80 
82  virtual bool scriptTickWhilePaused(int taskId, const DtString& scriptId) const;
83 
85  virtual bool timeToExecuteScript(int taskId, const DtString&, double curSimTime, double curRealTime, bool isPaused);
86 
89  virtual double nextTimeToExecuteScript(int taskId, const DtString&, double curTime) const;
90 
92  virtual void setNextTimeToExecuteScript(int taskId, const DtString& scriptId, double time);
93 
95  virtual void setNextTimeToExecuteScriptWhilePaused(int taskId, const DtString& scriptId, double time);
96 
98  virtual void setScriptBackgroundProcessId(int oldId, const DtString& scriptId, int id);
99 
101  virtual int scriptBackgroundProcessId(const DtString& scriptId) const;
102 
104  static DtVrfProcessStateRepository* creator (const DtString& rwName,
105  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
106 
108  virtual DtRwUserQuestionHandler& userQuestionHandler();
109  virtual const DtRwUserQuestionHandler& userQuestionHandler() const;
110 
112  virtual void addScriptedSet(DtScriptedTaskSet*);
113  virtual DtScriptedTaskSet* findScriptedSet(const DtString& scriptId) const;
114  virtual void removeScriptedSet(const DtString&);
115 
116  virtual void setCheckpointModeUseCheckpointState(int taskId, const DtString& scriptId, bool);
117  virtual bool checkpointModeUseCheckpointState(int taskId, const DtString& scriptId) const;
118 
119 protected:
123 
124  typedef std::map<DtString, DtRwScriptInformation> ScriptInformationByScriptId;
126 
127  typedef std::map<int, DtRwScriptInformation> ScriptInformationByTaskId;
129 
130  DtScriptPSRScenarioSaveFcn mySaveCallback;
132 
136 };
DtRwTemplatedListPtr< DtRwScriptInformation, false > ScriptInformation
Definition: scriptMultiTaskControllerPSR.h:121
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
void * myCallbackObject
Definition: scriptMultiTaskControllerPSR.h:131
std::map< int, DtRwScriptInformation > ScriptInformationByTaskId
Definition: scriptMultiTaskControllerPSR.h:127
Set version of scripted task that is used in scripted set scripts.
Definition: scriptedTaskSet.h:19
std::map< DtString, DtRwScriptInformation > ScriptInformationByScriptId
Definition: scriptMultiTaskControllerPSR.h:124
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
ScriptInformationByScriptId myScriptInformationByScriptId
Definition: scriptMultiTaskControllerPSR.h:125
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
ScriptedSets myScriptedSets
Definition: scriptMultiTaskControllerPSR.h:135
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
Process State Repository for the DtRotaryWingFlightCommandController component.
Definition: scriptMultiTaskControllerPSR.h:22
DtScriptPSRScenarioSaveFcn mySaveCallback
Definition: scriptMultiTaskControllerPSR.h:130
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
DtRwUserQuestionHandler myUserQuestionHandler
Definition: scriptMultiTaskControllerPSR.h:133
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
DtRwTemplatedListPtr< DtScriptedTaskSet, true > ScriptedSets
Definition: scriptMultiTaskControllerPSR.h:134
Process Helper class to handle user questions.
Definition: rwUserQuestionHandler.h:17
DtRwVariableBindings myEntries
Definition: scriptMultiTaskControllerPSR.h:120
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
ScriptInformationByTaskId myScriptInformationByTaskId
Definition: scriptMultiTaskControllerPSR.h:128
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
ScriptInformation myScriptInformation
Definition: scriptMultiTaskControllerPSR.h:122
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)