VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cgfDispatcher.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
13 
14 #include <vrfmsgs/messageTypes.h>
16 #include "vrfmsgs/ifLoadScenario.h"
17 #include "vrfmsgs/ifSaveScenario.h"
19 #include "vrfmsgs/ifControl.h"
22 #include "vrfcgf/cgf.h"
23 #include <vlutil/vlFilename.h>
25 #include <vl/startResumeInteraction.h>
26 #include <vl/stopFreezeInteraction.h>
27 
28 class DtIfControlMsg;
29 class DtTimer;
32 
36 #include "vrfcgf/vrfcgfDefines.h"
38 {
39 public:
47  DtVrfMessageInterface* messageIf,
48  int receivePort = 8000);
49 
50  virtual ~DtCgfDispatcher();
51 
53  virtual void closeScenario(DtIfCloseScenario* msg);
54  virtual void loadScenario(DtIfLoadScenario* msg);
55 
58  virtual void saveScenario(DtIfSaveScenario* msg,
59  const DtSimulationAddress& requester);
60 
63  virtual void saveSimulationObjectGroup(DtIfSaveSimulationObjectGroup* msg,
64  const DtSimulationAddress& requester);
65 
68  virtual void createSimulationObjectGroup(DtIfCreateSimulationObjectGroup* msg,
69  const DtSimulationAddress& requester);
70 
72  virtual void importScenarioDescriptionFile(DtIfImportScenarioDescriptionFile*);
73 
75  virtual void exportScenarioDescriptionFile(DtIfExportScenarioDescriptionFile*);
76 
82  virtual void controlScenario(DtIfControl* msgData,
83  const DtSimulationAddress& sender);
84 
85  virtual void setEnableResourceMonitor(bool b);
86 
88  virtual void tick();
89 
91  virtual void setTimeToQuit(bool yesNo);
92  virtual bool timeToQuit() const;
93 
95  virtual void clearSimulationObjects();
96 
98  virtual DtVrfMessageInterface* messageInterface() const;
99 
101  virtual DtCgf* cgf() const;
102 
104  virtual int port() const;
105 
107  virtual const DtFilename& tempDirectory();
108  virtual void setTempDirectory(const DtFilename& f);
109 
113  virtual void cleanupSockets();
114 
120  virtual unsigned int simMgmtPduProcessLevel() const;
121  virtual void setSimMgmtPduProcessLevel(unsigned int level);
122 
123  virtual void processCapableTaskAndSetQuery(DtSimMessage* msg);
124  virtual void processDIGuyAppearAndAnimationsQuery(DtSimMessage* msg);
125 
126 public:
127 
128  typedef struct dtSimRunDurationUsrData
129  {
131  DtSimulationAddress replyTo;
133 
136  static void processMessageCb(DtSimMessage* msg, void* usr);
137 
139  static void startResumeSimCb(DtStartResumeInteraction* msg, void* usr);
140 
142  static void stopFreezeSimCb(DtStopFreezeInteraction* msg, void* usr);
143 
145  static void receiveFileCb(const DtFilename& f, void* usr);
146 
153  static void runDurationCompleteCallback(void* timer);
154  virtual void processRunDurationComplete(DtSimRunDurationUsrData*);
155 
156 protected:
160  virtual bool shouldTryReload(const DtScenario& scenario);
161 
165  virtual bool shouldTryReload(const DtIfImportScenarioDescriptionFile*);
166 
168  virtual void pause();
169 
171  virtual void run();
172 
174  virtual void rewind(int scenarioRunId = 0);
175 
178  virtual void step(const DtSimulationAddress& sender);
179 
189  virtual void runForDuration(double duration, const DtSimulationAddress& sender);
190 
191 protected:
192 
193  int myPort;
197  DtFilename myDir;
199 
206 
208 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)