VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scriptReactiveTaskControllerPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
7 
8 
10 
14 #include "vrfutil/rwReal.h"
15 #include "vrfutil/rwString.h"
17 #include "vrfutil/railSegment.h"
18 #include "vrfutil/rwRailSegment.h"
19 #include "vrfutil/rwVector.h"
20 #include <set>
23 #include "vrfutil/rwReal.h"
24 #include "vrfutil/rwBoolean.h"
25 #include "vrfutil/rwInt.h"
27 #include "vrfobjcore/vrfObject.h"
28 #include "vrfutil/rwUserQuestion.h"
30 
32 {
33 protected:
34  typedef void (*DtScriptPSRScenarioSaveLoadFcn)(void*);
35 
36 public:
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
44  const DtString& rwName = DtString::nullString(),
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
49 
52 
55  const DtString& rwName = DtString::nullString(),
56  DtReaderWriterRegistry* parentRegistry = 0) const;
57 
60  virtual DtString type() const;
61 
63  static DtVrfProcessStateRepository* creator (const DtString& rwName,
64  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
65 
66  virtual void putSelf(FILE* fp, int indentLevel, bool writeUnspecified, const DtFilename& path);
67  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings);
68 
69  virtual void addTaskPriority(const DtString& scriptId, int priority);
72  virtual void removeTaskPriority(const DtString& scriptId);
73  virtual const std::map<int, std::list<DtString> >& priorityMap() const;
74  virtual void updateAllPriorities();
75 
80  virtual void addReactiveTaskEntry(const DtString& scriptId, DtRwScriptReactiveTaskEntry* entry, bool deleteOnUpdate = true);
81  virtual void removeReactiveTaskEntry(const DtString& scriptId, bool deleteEntry = true);
82  virtual DtRwScriptReactiveTaskEntry* findReactiveTaskEntry(const DtString& scriptId) const;
83  virtual const std::map<DtString, DtRwScriptReactiveTaskEntry*>& reactiveTaskEntryMap() const;
84 
85  virtual void addActionCategories(const std::set<DtString>& actionCategories);
86  virtual int currentReactionLevel(const std::set<DtString>& actionCategories) const;
87  virtual void updateReactionLevels(const std::set<DtString>& actionCategories);
88  virtual void updateAllReactionLevels();
89 
90  virtual void sweepMarkedForDeletion();
91 
93  virtual DtRwUserQuestionHandler& userQuestionHandler();
94  virtual const DtRwUserQuestionHandler& userQuestionHandler() const;
95 
96 protected:
97  bool doCategoriesOverlap(const std::set<DtString>& firstSet, const std::set<DtString>& secondSet, std::set<DtString>& overlap) const;
98 
99 protected:
101 
103  std::map<DtString, DtRwScriptReactiveTaskEntry*> myReactiveTaskEntryMap;
104  std::map<int, std::list<DtString> > myPriorityMap;
105  std::map<DtString, int> myCategoryReactionLevelMap;
106 
108 };

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)