VR-Forces 4.8 Class Documentation
 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  DtVrfObject* 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
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
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:15
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.
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.
DtRwUserQuestionHandler myUserQuestionHandler
Definition: scriptMultiTaskControllerPSR.h:134
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
DtRwTemplatedListPtr< DtScriptedTaskSet, true > ScriptedSets
Definition: scriptMultiTaskControllerPSR.h:135
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Top level to read itself from an input stream.
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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)