VR-Forces 4.7 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  virtual void reinitializeScenario();
56 
59  virtual void saveScenario(DtIfSaveScenario* msg,
60  const DtSimulationAddress& requester);
61 
64  virtual void saveSimulationObjectGroup(DtIfSaveSimulationObjectGroup* msg,
65  const DtSimulationAddress& requester);
66 
69  virtual void createSimulationObjectGroup(DtIfCreateSimulationObjectGroup* msg,
70  const DtSimulationAddress& requester);
71 
73  virtual void importScenarioDescriptionFile(DtIfImportScenarioDescriptionFile*);
74 
76  virtual void exportScenarioDescriptionFile(DtIfExportScenarioDescriptionFile*);
77 
83  virtual void controlScenario(DtIfControl* msgData,
84  const DtSimulationAddress& sender);
85 
86  virtual void setEnableResourceMonitor(bool b);
87 
89  virtual void tick();
90 
92  virtual void setTimeToQuit(bool yesNo);
93  virtual bool timeToQuit() const;
94 
96  virtual void clearSimulationObjects();
97 
99  virtual DtVrfMessageInterface* messageInterface() const;
100 
102  virtual DtCgf* cgf() const;
103 
105  virtual int port() const;
106 
108  virtual const DtFilename& tempDirectory();
109  virtual void setTempDirectory(const DtFilename& f);
110 
114  virtual void cleanupSockets();
115 
121  virtual unsigned int simMgmtPduProcessLevel() const;
122  virtual void setSimMgmtPduProcessLevel(unsigned int level);
123 
124  virtual void processCapableTaskAndSetQuery(DtSimMessage* msg);
125  virtual void processDIGuyAppearAndAnimationsQuery(DtSimMessage* msg);
126 
127 public:
128 
129  typedef struct dtSimRunDurationUsrData
130  {
132  DtSimulationAddress replyTo;
134 
137  static void processMessageCb(DtSimMessage* msg, void* usr);
138 
140  static void startResumeSimCb(DtStartResumeInteraction* msg, void* usr);
141 
143  static void stopFreezeSimCb(DtStopFreezeInteraction* msg, void* usr);
144 
146  static void receiveFileCb(const DtFilename& f, void* usr);
147 
154  static void runDurationCompleteCallback(void* timer);
155  virtual void processRunDurationComplete(DtSimRunDurationUsrData*);
156 
157 protected:
161  virtual bool shouldTryReload(const DtScenario& scenario);
162 
166  virtual bool shouldTryReload(const DtIfImportScenarioDescriptionFile*);
167 
169  virtual void pause();
170 
172  virtual void run();
173 
175  virtual void rewind(int scenarioRunId = 0);
176 
179  virtual void step(const DtSimulationAddress& sender);
180 
190  virtual void runForDuration(double duration, const DtSimulationAddress& sender);
191 
192 protected:
193 
194  int myPort;
198  DtFilename myDir;
200 
207 
209 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)