VR-Forces 4.2 Class Documentation
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 
12 #include "vrfobjcore/processSR.h"
13 #include "vrfutil/rwReal.h"
14 #include "vrfutil/rwString.h"
16 #include "vrfutil/railSegment.h"
17 #include "vrfutil/rwRailSegment.h"
18 #include "vrfutil/rwVector.h"
19 #include <set>
21 #include "vrftasks/moveToLocTask.h"
22 #include "vrfutil/rwReal.h"
23 #include "vrfutil/rwBoolean.h"
24 #include "vrfutil/rwInt.h"
26 #include "vrfobjcore/vrfObject.h"
27 
29 {
30 protected:
31  typedef void (*DtScriptPSRScenarioSaveLoadFcn)(void*);
32 
33 public:
36  const DtString& rwName = DtString::nullString(),
37  DtReaderWriterRegistry* parentRegistry = 0);
38 
41  const DtString& rwName = DtString::nullString(),
42  DtReaderWriterRegistry* parentRegistry = 0);
43 
46 
49 
52  const DtString& rwName = DtString::nullString(),
53  DtReaderWriterRegistry* parentRegistry = 0) const;
54 
57  virtual DtString type() const;
58 
60  static DtVrfProcessStateRepository* creator (const DtString& rwName,
61  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
62 
63  virtual void putSelf(FILE* fp, int indentLevel, bool writeUnspecified, const DtFilename& path);
64  virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, const DtVariableBindingsList& variableBindings);
65 
66  virtual void addTaskPriority(const DtString& scriptId, int priority);
69  virtual void removeTaskPriority(const DtString& scriptId);
70  virtual const std::map<int, std::list<DtString> >& priorityMap() const;
71  virtual void updateAllPriorities();
72 
73  virtual void addReactiveTaskEntry(const DtString& scriptId, DtRwScriptReactiveTaskEntry* entry);
74  virtual void removeReactiveTaskEntry(const DtString& scriptId, bool deleteEntry = true);
75  virtual DtRwScriptReactiveTaskEntry* findReactiveTaskEntry(const DtString& scriptId) const;
76  virtual const std::map<DtString, DtRwScriptReactiveTaskEntry*>& reactiveTaskEntryMap() const;
77 
78  virtual void addActionCategories(const std::set<DtString>& actionCategories);
79  virtual int currentReactionLevel(const std::set<DtString>& actionCategories) const;
80  virtual void updateReactionLevels(const std::set<DtString>& actionCategories);
81  virtual void updateAllReactionLevels();
82 
83  virtual void sweepMarkedForDeletion();
84 
85 protected:
86  bool doCategoriesOverlap(const std::set<DtString>& firstSet, const std::set<DtString>& secondSet, std::set<DtString>& overlap) const;
87 
89 
91  std::map<DtString, DtRwScriptReactiveTaskEntry*> myReactiveTaskEntryMap;
92  std::map<int, std::list<DtString> > myPriorityMap;
93  std::map<DtString, int> myCategoryReactionLevelMap;
94 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)