VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scenarioEventManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
13 #include <vrfutil/rwUUID.h>
14 #include <boost/unordered_map.hpp>
15 
16 class DtSimManager;
17 class DtSimMessage;
19 
22 
26 {
27 public:
30 
32  virtual ~DtScenarioEventManager();
33 
34 private:
37 
39  DtScenarioEventManager & operator=(const DtScenarioEventManager & orig);
40 
41 public:
42  virtual DtSimManager* simManager() const;
43 
45  virtual bool isScenarioEvent(const DtVrfObject* o) const;
46  virtual bool isScenarioEvent(const DtUUID& o) const;
47 
49 
50  virtual void addScenarioEventStartedCallback(DtScenarioEventManagerCallbackFcn fcn, void* usr);
51  virtual void removeScenarioEventStartedCallback(DtScenarioEventManagerCallbackFcn fcn, void* usr);
53 
55 
56  virtual void addScenarioEventStoppedCallback(DtScenarioEventManagerCallbackFcn fcn, void* usr);
57  virtual void removeScenarioEventStoppedCallback(DtScenarioEventManagerCallbackFcn fcn, void* usr);
59 
61  static void scenarioEventMessageCallback(DtSimMessage*, void* usr);
62  virtual void processScenarioEventMessageCallback(DtSimMessage*);
63 
66  virtual void startScenarioEvent(const DtUUID&, bool sendMessageIfNotLocal = true);
67 
70  virtual void stopScenarioEvent(const DtUUID&, bool sendMessageIfNotLocal = true);
71 
73  virtual bool scenarioEventInProgress(const DtUUID&) const;
74 
76  virtual bool scenarioEventConcluded(const DtUUID&) const;
77 
79  virtual DtRwScenarioEvent scenarioEvent(const DtUUID&);
80 
82  virtual DtRwScenarioEvent scenarioEvent(const DtVrfObject*);
83 
85  virtual double simulationStartTime(const DtUUID&) const;
86 
88  virtual double simulationEndTime(const DtUUID&) const;
89 
91  static void scenarioEventAdded(DtVrfObject*, void*);
92  virtual void processScenarioEventAdded(DtVrfObject*);
93 
95  static void scenarioEventRemoved(DtVrfObject*, void*);
96  virtual void processScenarioEventRemoved(DtVrfObject*);
97 
99  virtual void setOrdinalOrder(const DtUUID& uniqueId, int ordinal);
100 
102  virtual void resetScenarioEvent(const DtUUID& uniqueId, bool sendMessageIfNotLocal = true);
103 
105  virtual void setTriggerStatus(const DtUUID& uniqueId, int);
106 
108  virtual void merge(DtScenarioEventManager*, const DtString& deconflictingName);
109 
111  {
114  };
115 
116  typedef std::map<DtVrfObject*, EventUpdateInformation> EventsThatNeedUpdate;
117 
118  const EventsThatNeedUpdate& eventsThatNeedUpdate() const
119  {
120  return myEventsThatNeedUpdate;
121  }
122 
123 protected:
125  virtual void startUpEvent(const DtUUID& uniqueId);
126 
128  virtual void stopEvent(const DtUUID& uniqueId);
129 
130 protected:
132 
136 
140  {
141  ScenarioEventInformation() : scenarioEvent(0), triggerStatus(-1),
142  simTimeStarted(0.), simTimeEnded(0.), rwEvent("") {};
143 
144  DtVrfObject* scenarioEvent;
147  double simTimeEnded;
150  };
151 
152  typedef boost::unordered_map<DtUUID, ScenarioEventInformation> ScenarioEvents;
154 
155  typedef boost::unordered_map<DtUUID, DtUUID> ObjectEvents;
157 
159 
161 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)