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 
40 
42  const DtString& rwName = DtString::nullString(),
43  DtReaderWriterRegistry* parentRegistry = 0) const;
44 
45  virtual void putSelf(std::string&, int, bool, const DtFilename&);
46  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
47  const DtVariableBindingsList& variableBindings);
48 
50  virtual DtString type() const;
51 
56  virtual void addEntry(int tid, DtReaderWriter* entry, bool overwrite = true);
57 
58  virtual void removeEntry(int tid);
59 
60  virtual const DtReaderWriter* findEntry(int tid);
61 
62  virtual void clearEntries();
63 
64  virtual void setCallback(DtScriptPSRScenarioSaveFcn callback, void* usr);
65 
67  virtual void removeScriptInformation(const DtString&);
68 
73  virtual void setScriptTickPeriod(int taskId, const DtString& scriptId, double d,
74  double curScenarioTime);
75 
77  virtual double scriptTickPeriod(int taskId, const DtString& scriptId) const;
78 
80  virtual void setScriptTickWhilePaused(int taskId, const DtString& scriptId, bool enable);
81 
83  virtual bool scriptTickWhilePaused(int taskId, const DtString& scriptId) const;
84 
86  virtual bool timeToExecuteScript(int taskId, const DtString&, double curSimTime, double curRealTime, bool isPaused);
87 
90  virtual double nextTimeToExecuteScript(int taskId, const DtString&, double curTime) const;
91 
93  virtual void setNextTimeToExecuteScript(int taskId, const DtString& scriptId, double time);
94 
96  virtual void setNextTimeToExecuteScriptWhilePaused(int taskId, const DtString& scriptId, double time);
97 
99  virtual void setScriptBackgroundProcessId(int oldId, const DtString& scriptId, int id);
100 
102  virtual int scriptBackgroundProcessId(const DtString& scriptId) const;
103 
105  static DtVrfProcessStateRepository* creator (const DtString& rwName,
106  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
107 
109  virtual DtRwUserQuestionHandler& userQuestionHandler();
110  virtual const DtRwUserQuestionHandler& userQuestionHandler() const;
111 
113  virtual void addScriptedSet(DtScriptedTaskSet*);
114  virtual DtScriptedTaskSet* findScriptedSet(const DtString& scriptId) const;
115  virtual void removeScriptedSet(const DtString&);
116 
117  virtual void setCheckpointModeUseCheckpointState(int taskId, const DtString& scriptId, bool);
118  virtual bool checkpointModeUseCheckpointState(int taskId, const DtString& scriptId) const;
119 
120 protected:
124 
125  typedef std::map<DtString, DtRwScriptInformation> ScriptInformationByScriptId;
127 
128  typedef std::map<int, DtRwScriptInformation> ScriptInformationByTaskId;
130 
131  DtScriptPSRScenarioSaveFcn mySaveCallback;
133 
137 };
DtRwTemplatedListPtr< DtRwScriptInformation, false > ScriptInformation
Definition: scriptMultiTaskControllerPSR.h:122
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:132
std::map< int, DtRwScriptInformation > ScriptInformationByTaskId
Definition: scriptMultiTaskControllerPSR.h:128
Set version of scripted task that is used in scripted set scripts.
Definition: scriptedTaskSet.h:19
std::map< DtString, DtRwScriptInformation > ScriptInformationByScriptId
Definition: scriptMultiTaskControllerPSR.h:125
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
ScriptInformationByScriptId myScriptInformationByScriptId
Definition: scriptMultiTaskControllerPSR.h:126
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:136
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:131
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:134
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:135
Process Helper class to handle user questions.
Definition: rwUserQuestionHandler.h:17
DtRwVariableBindings myEntries
Definition: scriptMultiTaskControllerPSR.h:121
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
ScriptInformationByTaskId myScriptInformationByTaskId
Definition: scriptMultiTaskControllerPSR.h:129
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
ScriptInformation myScriptInformation
Definition: scriptMultiTaskControllerPSR.h:123
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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)