VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfConnectionHelper.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
14 #include <vrfMsgTransport/events.h>
16 #include <vrfutil/scenario.h>
17 #include <vrfutil/backend.h>
18 #include <vrfmsgs/ifSaveComplete.h>
19 #include <vrfMsgTransport/event.h>
20 
21 #include <matrix/vlVector.h>
22 #include <boost/function.hpp>
23 #include <boost/signals2.hpp>
24 #include <vlutil/vlThread.h>
25 
26 #include <tbb/spin_mutex.h>
27 
31 class DtEntityType;
32 class DtSetDataRequest;
33 class DtVrfObjectMessage;
36 class DtSimulationAddress;
38 class Coordinate_System;
39 class DtAddressMap;
40 class DtBackendMap;
41 class DtMtlParameterDb;
42 class DtVrfObjectMessage;
45 
46 namespace makRadio
47 {
48  class DtRadioProcessor;
49 }
50 
51 namespace makVrv
52 {
53  class DtDe;
54  class DtBaseConnection;
55  class DtCoordinateSystem;
56  class DtSharedSettingsManager;
57 }
58 
59 namespace Legion
60 {
61  class SimulationDatabase;
62 }
63 
64 namespace makVrf
65 {
66  class DtNetworkMessageInterface;
67  class DtNetworkMessageInterfaceHandlerAgent;
68  class DtStateDataManager;
69  class DtSimDataProcessorManager;
70  class DtVrfBackendInterceptor;
71  class DtVantageToLegionIdMapper;
72  class DtVrfCommunicationManager;
73  class DtTDLMessageProcessor;
74 
76  {
77  public:
78  virtual void callback(const makVrfEvents::DtEvent&) = 0;
80  {
81  return true;
82  }
83 
85  {
86  return !(*this == orig);
87  }
88  };
89 
90  template <typename _Class, typename _CallbackFunction>
92  {
93  public:
94  DtVrfDriverEventManagerCallbackHandler(_CallbackFunction fcn, void* usr)
95  : myCallbackFcn(fcn)
96  , myUser(usr)
97  {
98  }
99 
101  {
102  myConnection.disconnect();
103  }
104 
105  virtual void callback(const makVrfEvents::DtEvent& e) override
106  {
107  (myCallbackFcn)(dynamic_cast<const _Class*>(&e), myUser);
108  }
109 
110  virtual bool operator==(const DtVrfConnectionHelperMessageCallbackHandler& orig) override
111  {
112  const DtVrfDriverEventManagerCallbackHandler* handler = dynamic_cast<const DtVrfDriverEventManagerCallbackHandler*>(&orig);
113 
114  if (handler)
115  {
116  return ((handler->myCallbackFcn == myCallbackFcn) &&
117  (handler->myUser == myUser));
118  }
119 
120  return false;
121  }
122 
123  _CallbackFunction myCallbackFcn;
124  void* myUser;
125  boost::signals2::connection myConnection;
126  };
127 
131  {
132  public:
133 
135  DtVrfConnectionHelper(makVrv::DtDe&, bool inThread = true);
136 
138  virtual ~DtVrfConnectionHelper();
139 
141  virtual void beginFrame();
142 
144  virtual void advanceFrame();
145 
146  virtual bool onStop();
147 
149  virtual bool waitingToAddObjects() const;
150 
151  typedef boost::function<void (DtVrfConnectionHelper*)> RemoteControllerInitialization;
152 
155  virtual void createStateDataManager(Legion::SimulationDatabase* db = 0);
156 
157  virtual void init(const DtSimulationAddress&, makVrv::DtBaseConnection*, int sessionId = -1,
158  int fileReceiveTransferPort = 9000, Legion::SimulationDatabase* db = 0,
159  RemoteControllerInitialization remoteControllerInitializationFunction = RemoteControllerInitialization(),
160  bool disableRemoteDiscovery = false);
161 
163  virtual void setupQueuedConenctions(makVrv::DtSharedSettingsManager& manager);
164 
167  virtual void receivedNetworkMessage(DtNetworkMessageInterface* iface);
168 
170  virtual void registerCommentInteractionCallback(DtCommentCallbackFcn, void*);
171 
173  virtual void unregisterCommentInteractionCallback(DtCommentCallbackFcn, void*);
174 
176  virtual void queueConnectionFunction(const boost::function<void ()>& function);
177 
179  virtual void queuePostAdvanceFrameConnectionFunction(const boost::function<void ()>& function);
180 
182  virtual void rollbackToSnapshot(double);
183 
184  virtual void setCoordinateSystem(const makVrv::DtCoordinateSystem&);
185 
187  virtual void loadScenario(const DtScenarioLoadInformation*, bool deleteMemory = false);
188 
190  virtual void clearSavingCheckpoints();
191 
193  virtual DtSimulationStatus simulationStatus() const;
194 
196  virtual void simulationStatusChanged(DtSimulationStatus);
197 
199  {
200  return myVantageToLegionIdMapper;
201  }
202 
204  {
205  return myRadioProcessor;
206  }
207 
209  {
210  return myRemoteController;
211  }
212 
213  DtCommunicationManager* communicationManager() const;
214 
216  {
217  return myCoordinateSystem;
218  }
219 
221  {
222  return myVrfMessageInterface;
223  }
224 
226  {
227  return myVrfTDLMessageInterface;
228  }
229 
231  {
232  return myTDLMessageProcessor;
233  }
234 
236  {
237  return myStateDataManager;
238  }
239 
241  virtual void addEvent(makVrfEvents::DtEvent*);
242  virtual void eventResponse(const makVrfEvents::DtEvent&);
243 
245  virtual void sendMessageToObject(const DtVrfObjectMessage* m, DtSimulationAddress addr);
246 
249  virtual void sendMessage(const DtSimInterfaceContent* m, DtSimulationAddress addr);
250 
252  virtual void importScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
253  std::map<std::string, std::string> importData);
254 
256  virtual void exportScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
257  std::map<std::string, std::string> importData);
258 
260  virtual void createGlobalEnvironment(bool);
261 
263  virtual void createEnvironmentalObject(DtSimulationAddress addr,
265 
268  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& initialCondition = DtChangeWeatherCommand());
269 
271  virtual void closeScenario(DtFilename, bool forceCloseAll = false);
272 
274  virtual void getMessageFilterStatus(std::map<std::string,bool>& statusMap) const;
275 
277  virtual void setMessageFilterStatus(const std::map<std::string,bool>& statusMap);
278 
280  virtual void getMessageProcessorStatus(std::map<std::string,bool>& statusMap) const;
281 
283  virtual void setMessageProcessorStatus(const std::map<std::string,bool>& statusMap);
284 
286  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
287 
289  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
290 
292  virtual void addInterfaceContentCreatorFcn(int, DtInterfaceContentCreatorFcn);
293 
295  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
296 
298  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
299 
301  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
302 
304  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
305 
307  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
308 
310  virtual void setTimeoutInterval(int i);
311 
314  virtual void registerSimMessageCallbackFor(int t, bool reg);
315 
318  virtual void registerSimReportMessageCallbackFor(const DtSimReportMessageType& s, bool reg);
319 
320  virtual void registerSimTaskMessageCallbackFor(const DtSimTaskMessageType& s, bool reg);
321 
322  virtual void registerSetMessageCallbackFor(const DtSetMessageType& s, bool reg);
323 
326  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& t, bool reg);
327 
328  virtual void registerEventManagerEventCallbackFor(int, bool reg);
329 
331  {
332  return myProposedNumberOfObjectsToBeLoaded;
333  }
334 
337  boost::signals2::signal<void (bool)> signal_parameterDatabaseInitialized;
338  boost::signals2::signal<void (DtSimulationStatus)> signal_simulationStatusChanged;
339  boost::signals2::signal<void ()> signal_scenarioLoaded;
340  boost::signals2::signal<void (DtScenario&)> signal_scenarioAboutToBeSaved;
341  boost::signals2::signal<void (DtSaveResult, const DtString&)> signal_scenarioSaved;
342 
343  protected:
344  virtual void processNetworkMessage(DtNetworkMessageInterface* iface);
345 
347  virtual void slot_onSaveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
348  bool saveInZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
349 
353  virtual void slot_onSaveCheckpoints(std::vector<DtScenario*>, DtFilename);
354 
356  virtual void slot_onClearSavingCheckpoints();
357 
359  virtual void slot_onLoadScenario(const DtScenarioLoadInformation&);
360 
362  virtual void slot_onRollbackToSnapshot(double);
363 
365  virtual void slot_registerCommentInteraction(bool);
366 
369  virtual void slot_registerInfluenceInteraction(bool);
370 
373  static void influenceInteractionCallback(const makVrfEvents::DtInfluenceEvent *inter, void* usr);
374 
377  virtual void processInfluenceInteraction(const makVrfEvents::DtInfluenceEvent* inter);
380  static void commentInteractionCallback(const makVrfEvents::DtCommentEvent *inter, void* usr);
381 
384  virtual void processCommentInteraction(const makVrfEvents::DtCommentEvent* inter);
385 
387  virtual void regsiterInfluenceIteractionCallback(DtInfluenceEventCb, void*);
388 
390  virtual void unregsiterInfluenceIteractionCallback(DtInfluenceEventCb, void*);
391 
393 
395  static void scenarioAboutToBeSaved(DtScenario&, void*);
396  virtual void processScenarioAboutToBeSaved(DtScenario&) const;
397 
400  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
401  bool deleteMemory = false, bool saveInZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
402 
405  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& baseName);
406 
408  virtual void saveNextCheckpoint();
409 
411  virtual void slot_quitBackend(DtSimulationAddress);
412  virtual void symbolDecorationsChanged();
413 
414  virtual void setupParameterDatabase(std::vector<DtFilename> searchPaths);
415  virtual void setupEnumerations(const std::vector<DtSimulationModelSet*>& sets);
416 
418  virtual void createGlobalDynamicTerrain(bool);
419 
420  protected:
421  virtual void slot_modelSetLoaded(std::vector<DtFilename> searchPaths);
422 
423  virtual void setupDirectConnections();
424  virtual void disconnectConnections();
425 
426  virtual void sendScenarioLoadSuccessMessage();
427  virtual void sendScenarioLoadErrorMessage(DtString error);
428 
429  static void scenarioSavedCallback(DtSaveResult result, const DtString& error, void* usr);
430  virtual void processScenarioSaved(DtSaveResult, const DtString&);
431 
432  static void scenarioCheckpointed(DtSaveResult result, double, void*);
433  virtual void processScenarioCheckpointed(DtSaveResult result, double);
434 
436  virtual void runFunctionQueue();
437 
439  virtual void runPostAdvanceFrameFunctionQueue();
440 
442  static void simMessageCallback(DtSimMessage* msg, void* usr);
443  virtual void processSimMessage(DtSimMessage* msg);
444 
446  static void radioMessageCallback(const DtVrfObjectMessage* msg, void* usr);
447  virtual void processRadioMessage(const DtVrfObjectMessage* msg);
448 
449  virtual void registerExistingMessages();
450 
451  template <typename _Class, typename _CallbackFunction>
453  {
454  EventHandlerCallbacksMap::iterator iter = myEventHandlerCallbacksMap.find(et);
455 
456  if (iter == myEventHandlerCallbacksMap.end())
457  {
458  myEventHandlerCallbacksMap[et] = EventHandlerCallbacks();
459  iter = myEventHandlerCallbacksMap.find(et);
460  }
461 
464 
465  EventHandlerCallbacks::const_iterator currentIter = iter->second.begin();
466  EventHandlerCallbacks::const_iterator currentEnd = iter->second.end();
467 
468  while (currentIter != currentEnd)
469  {
470  if (**currentIter == *adder)
471  {
472  delete adder;
473  return 0;
474  }
475 
476  ++currentIter;
477  }
478 
479  return adder;
480  }
481 
482  template <typename _Class, typename _CallbackFunction>
483  void removeEventManagerCallback(makVrfEvents::DtEvent::EventType et, _CallbackFunction fcn, void* usr)
484  {
485  EventHandlerCallbacksMap::iterator iter = myEventHandlerCallbacksMap.find(et);
486 
487  if (iter == myEventHandlerCallbacksMap.end())
488  {
489  myEventHandlerCallbacksMap[et] = EventHandlerCallbacks();
490  iter = myEventHandlerCallbacksMap.find(et);
491  }
492 
495 
496  EventHandlerCallbacks::const_iterator currentIter = iter->second.begin();
497  EventHandlerCallbacks::const_iterator currentEnd = iter->second.end();
498 
499  while (currentIter != currentEnd)
500  {
501  if (**currentIter == *adder)
502  {
503  delete adder;
504  return;
505  }
506 
507  ++currentIter;
508  }
509  }
510 
511  virtual void remoteControllerInitialized();
512 
513  protected:
514  typedef std::vector<std::pair<DtVrfObjectConsoleMessageCallbackFcn, void*> > DtCommentInteractionCallbackList;
515 
518 
520 
523  DtNetworkMessageInterfaceHandlerAgent* myNetworkMessageInterfaceHandlerAgent;
524 
526 
527  typedef std::vector<DtVrfConnectionHelperMessageCallbackHandler*> EventHandlerCallbacks;
528  typedef std::map<makVrfEvents::DtEvent::EventType, EventHandlerCallbacks> EventHandlerCallbacksMap;
530 
532  typedef std::vector<boost::function<void ()> > FunctionCallList;
533 
536 
543 
546 
548  typedef std::map<double, std::pair<DtScenario, int> > CheckpointsToSave;
553  DtSimDataProcessorManager* mySimDataProcessorManager;
556  bool myStopped;
557 
559  std::vector<DtFilename> myLastSearchPaths;
561 
565 
566  std::set<int> mySimMessageCallbacks;
567  std::set<DtAdminContentMessageType> myAdminMessageCallbacks;
568  typedef std::map<int, std::pair<int, std::shared_ptr<boost::signals2::scoped_connection>>> EventManagerEventCallbacks;
570  std::set<DtSimReportMessageType> myReportMessageCallbacks;
571  std::set<DtSimTaskMessageType> myTaskMessageCallbacks;
572  std::set<DtSetMessageType> mySetMessageCallbacks;
573 
574  std::map<DtSetMessageType, DtSetDataRequestCreatorFcn> mySetCreator;
575  std::map<DtSimTaskMessageType, DtSimTaskCreatorFcn> myTaskCreator;
576  std::map<int, DtInterfaceContentCreatorFcn> myInterfaceContentCreator;
577  std::map<DtAdminContentMessageType, DtAdminContentCreatorFcn> myAdminContentCreator;
578  std::map<DtSimCommandMessageType, DtSimCommandCreatorFcn> mySimulationCommandCreator;
579  std::map<std::string, std::pair<int, DtCondExprCreatorFcn> > myConditionCommandCreator;
580  std::map<int, DtVrfObjectMessageCreatorFcn> myObjectMessageCreator;
581  std::map<DtSimReportMessageType, DtSimReportCreatorFcn> myReportCreator;
582 
583  std::vector<DtFilename> myModelSetSearchPaths;
584 
585  DtThreadId myThreadId;
586  int myProposedNumberOfObjectsToBeLoaded = 0;
589  };
590 }
std::vector< boost::function< void()> > FunctionCallList
Definition: vrfConnectionHelper.h:532
This class allows itself to be registered with the connection.
Definition: vrfCommunicationManager.h:25
Definition: vantageToLegionIdMapper.h:28
virtual bool operator==(const DtVrfConnectionHelperMessageCallbackHandler &orig)
Definition: vrfConnectionHelper.h:79
std::map< std::string, std::pair< int, DtCondExprCreatorFcn > > myConditionCommandCreator
Definition: vrfConnectionHelper.h:579
DtNetworkMessageInterfaceHandlerAgent * myNetworkMessageInterfaceHandlerAgent
Agent for sending notification of messages received to the gui. This message will need to be deleted ...
Definition: vrfConnectionHelper.h:523
EventType
Definition: event.h:16
The DtVrfTDLMessageInterface is a transporter for sending TDL messages as data interactions using a V...
Definition: vrfTDLMessageInterface.h:37
DtSimulationStatus
Definition: backend.h:26
int proposedNumberOfObjectsToBeLoaded() const
Definition: vrfConnectionHelper.h:330
Helper code for connectors. Does not exist in it&#39;s own project but is included by all projects that u...
Definition: vrfConnectionHelper.h:130
Coordinate_System * coordinateSystem() const
Definition: vrfConnectionHelper.h:215
Definition: networkMessageInterface.h:22
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
double myParameterDatabaseTimerStart
Definition: vrfConnectionHelper.h:560
makRadio::DtRadioProcessor * myRadioProcessor
Definition: vrfConnectionHelper.h:555
DtStateDataManager * myStateDataManager
Definition: vrfConnectionHelper.h:538
DtVrfRemoteController * myRemoteController
Definition: vrfConnectionHelper.h:537
EventManagerEventCallbacks myEventManagerEventCallbacks
Definition: vrfConnectionHelper.h:569
Definition: commentEvent.h:15
_CallbackFunction myCallbackFcn
Definition: vrfConnectionHelper.h:123
FunctionCallQueue myAdvancedFrameConnectionThreadFunctions
Definition: vrfConnectionHelper.h:535
boost::signals2::signal< void(bool)> signal_parameterDatabaseInitialized
Signal sent when the parameter database has been asked to be changed. Flag will be true if it has bee...
Definition: vrfConnectionHelper.h:337
boost::signals2::signal< void()> signal_scenarioLoaded
Definition: vrfConnectionHelper.h:339
Contains makVrv:DtSelectionManager class.
virtual ~DtVrfDriverEventManagerCallbackHandler()
Definition: vrfConnectionHelper.h:100
virtual void callback(const makVrfEvents::DtEvent &e) override
Definition: vrfConnectionHelper.h:105
Definition: radioProcessor.h:20
DtTDLMessageProcessor * tdlMessageProcessor() const
Definition: vrfConnectionHelper.h:230
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfConnectionHelper.h:338
void removeEventManagerCallback(makVrfEvents::DtEvent::EventType et, _CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:483
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
Coordinate_System * myCoordinateSystem
Definition: vrfConnectionHelper.h:540
virtual bool operator!=(const DtVrfConnectionHelperMessageCallbackHandler &orig)
Definition: vrfConnectionHelper.h:84
DtTDLMessageProcessor * myTDLMessageProcessor
Definition: vrfConnectionHelper.h:554
std::vector< DtFilename > myModelSetSearchPaths
Definition: vrfConnectionHelper.h:583
Definition: vrfConnectionHelper.h:91
std::map< DtSimTaskMessageType, DtSimTaskCreatorFcn > myTaskCreator
Definition: vrfConnectionHelper.h:575
std::map< DtSimCommandMessageType, DtSimCommandCreatorFcn > mySimulationCommandCreator
Definition: vrfConnectionHelper.h:578
CheckpointsToSave myCheckpointsToSave
Definition: vrfConnectionHelper.h:549
DtVrfDriverEventManagerCallbackHandler(_CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:94
tbb::spin_mutex myAdvancedFrameConnectionThreadFunctionsMutex
Definition: vrfConnectionHelper.h:588
int myFileTransporterReceivePort
Definition: vrfConnectionHelper.h:542
DtSimInterfaceContent *(* DtInterfaceContentCreatorFcn)()
Definition: interfaceContentFactory.h:21
Contains makVrv::DtLockedBufferedQueue class.
DtAdminContentFactory::DtCreatorFcn DtAdminContentCreatorFcn
Definition: adminContentFactory.h:36
std::set< DtAdminContentMessageType > myAdminMessageCallbacks
Definition: vrfConnectionHelper.h:567
class DtBackendMap:
Definition: backendMap.h:21
DtVrfCommunicationManager * myCommunicationManager
Definition: vrfConnectionHelper.h:539
std::vector< std::pair< DtVrfObjectConsoleMessageCallbackFcn, void * > > DtCommentInteractionCallbackList
Definition: vrfConnectionHelper.h:514
DtVrfBackendInterceptor * myBackEndInterceptor
Definition: vrfConnectionHelper.h:563
boost::signals2::signal< void(DtScenario &)> signal_scenarioAboutToBeSaved
Definition: vrfConnectionHelper.h:340
DtSimTaskFactory::DtCreatorFcn DtSimTaskCreatorFcn
Definition: simTaskFactory.h:41
Definition: addressMap.h:24
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
boost::signals2::signal< void(DtSaveResult, const DtString &)> signal_scenarioSaved
Definition: vrfConnectionHelper.h:341
std::map< DtAdminContentMessageType, DtAdminContentCreatorFcn > myAdminContentCreator
Definition: vrfConnectionHelper.h:577
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
std::vector< DtFilename > myLastSearchPaths
Definition: vrfConnectionHelper.h:559
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:206
DtSaveResult
Definition: ifSaveComplete.h:18
std::set< DtSimReportMessageType > myReportMessageCallbacks
Definition: vrfConnectionHelper.h:570
makVrv::DtSignalConnectionManager myConnections
Definition: vrfConnectionHelper.h:519
A locked buffered queue which allows multiple writers and a single reader. Internally the queue is st...
Definition: DtLockedBufferedQueue.h:24
Definition: coordSystem.h:54
makRadio::DtRadioProcessor * radioProcessor() const
Definition: vrfConnectionHelper.h:203
Definition: event.h:13
DtVrfMessageInterface * myVrfMessageInterface
Definition: vrfConnectionHelper.h:551
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
DtSimReportFactory::DtCreatorFcn DtSimReportCreatorFcn
Definition: simReportFactory.h:38
makVrv::DtLockedBufferedQueue< boost::function< void()> > FunctionCallQueue
Definition: vrfConnectionHelper.h:531
File: simMsg.h.
Definition: simMessage.h:35
DtVrfRemoteController * remoteController() const
Definition: vrfConnectionHelper.h:208
DtVrfTDLMessageInterface * vrfTDLMessageInterface() const
Definition: vrfConnectionHelper.h:225
std::vector< DtVrfConnectionHelperMessageCallbackHandler * > EventHandlerCallbacks
Definition: vrfConnectionHelper.h:527
EventHandlerCallbacksMap myEventHandlerCallbacksMap
Definition: vrfConnectionHelper.h:529
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
DtVantageToLegionIdMapper * myVantageToLegionIdMapper
Definition: vrfConnectionHelper.h:564
DtAddressMap * myLastAddressMap
Definition: vrfConnectionHelper.h:544
DtThreadId myThreadId
Definition: vrfConnectionHelper.h:585
Definition: vrfConnectionHelper.h:75
std::map< int, DtVrfObjectMessageCreatorFcn > myObjectMessageCreator
Definition: vrfConnectionHelper.h:580
DtMtlParameterDb * myParameterDatabase
Definition: vrfConnectionHelper.h:558
A DtSimCommand subclass which specifies a change to the weather settings for the specified weather ar...
Definition: changeWeatherCommand.h:29
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
Definition: asyncJobServer.h:39
std::set< int > mySimMessageCallbacks
Definition: vrfConnectionHelper.h:566
DtSimCommand *(* DtSimCommandCreatorFcn)()
Definition: simCommandFactory.h:20
Contains makVrf::DtSharedNetworkSignaler class.
DtSimDataProcessorManager * mySimDataProcessorManager
Definition: vrfConnectionHelper.h:553
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
The DtTDLMessageProcessor is a base class that will create the agent that can be used to send more ge...
Definition: tdlMessageProcessor.h:27
Instances of DtMtlParameterDb are a database of DtVrfObjectParameters* entries that are loaded from a...
Definition: mtlParameterDb.h:40
std::map< DtSetMessageType, DtSetDataRequestCreatorFcn > mySetCreator
Definition: vrfConnectionHelper.h:574
DtStateDataManager * stateDataManager() const
Definition: vrfConnectionHelper.h:235
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
Base class to provide boost signal/slot management.
bool(* DtPreserveMappingsFcn)(void *usr)
Used by saveScenario to determine if original (true) or new mappings should be saved.
Definition: vrfRemoteController.h:89
std::set< DtSetMessageType > mySetMessageCallbacks
Definition: vrfConnectionHelper.h:572
std::map< int, std::pair< int, std::shared_ptr< boost::signals2::scoped_connection > > > EventManagerEventCallbacks
Definition: vrfConnectionHelper.h:568
virtual bool operator==(const DtVrfConnectionHelperMessageCallbackHandler &orig) override
Definition: vrfConnectionHelper.h:110
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< int, DtInterfaceContentCreatorFcn > myInterfaceContentCreator
Definition: vrfConnectionHelper.h:576
DtSimulationStatus mySimulationStatus
Definition: vrfConnectionHelper.h:562
CheckpointsToSave myCheckpointsSaving
Definition: vrfConnectionHelper.h:550
bool myStopped
Definition: vrfConnectionHelper.h:556
void * myUser
Definition: vrfConnectionHelper.h:124
bool myInThreadFlag
Definition: vrfConnectionHelper.h:525
void(* DtCommentCallbackFcn)(const makVrfEvents::DtCommentEvent *, void *usr)
Definition: commentEvent.h:41
void(* DtInfluenceEventCb)(const makVrfEvents::DtInfluenceEvent *inter, void *usr)
Definition: influenceEvent.h:154
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
tbb::spin_mutex myConnectionThreadFunctionsMutex
Definition: vrfConnectionHelper.h:587
Definition: simInterfaceContent.h:45
std::map< DtSimReportMessageType, DtSimReportCreatorFcn > myReportCreator
Definition: vrfConnectionHelper.h:581
boost::signals2::connection myConnection
Definition: vrfConnectionHelper.h:125
DtVantageToLegionIdMapper * vantageToLegionIdMapper() const
Definition: vrfConnectionHelper.h:198
boost::function< void(DtVrfConnectionHelper *)> RemoteControllerInitialization
Definition: vrfConnectionHelper.h:151
Coordinate_System * createVrfCoordinateSystem(const makVrv::DtCoordinateSystem &coodSysIn)
Definition: influenceEvent.h:14
Definition: scenario.h:635
std::map< double, std::pair< DtScenario, int > > CheckpointsToSave
Checkpoints left to save.
Definition: vrfConnectionHelper.h:548
std::set< DtSimTaskMessageType > myTaskMessageCallbacks
Definition: vrfConnectionHelper.h:571
DtVrfTDLMessageInterface * myVrfTDLMessageInterface
Definition: vrfConnectionHelper.h:552
int mySessionId
Definition: vrfConnectionHelper.h:541
makVrv::DtDe & myDe
Definition: vrfConnectionHelper.h:516
std::map< makVrfEvents::DtEvent::EventType, EventHandlerCallbacks > EventHandlerCallbacksMap
Definition: vrfConnectionHelper.h:528
Provides sim engine status messages to the DtVrfSimBackendManager. This class will make calls to the ...
Definition: vrfBackendInterceptor.h:33
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
DtVrfMessageInterface * messageInterface() const
Definition: vrfConnectionHelper.h:220
makVrv::DtBaseConnection * myConnection
Definition: vrfConnectionHelper.h:517
DtBackendMap * myLastBackendMap
Definition: vrfConnectionHelper.h:545
FunctionCallQueue myConnectionThreadFunctions
Definition: vrfConnectionHelper.h:534
Definition: vrfMessageInterface.h:40
DtVrfConnectionHelperMessageCallbackHandler * addEventManagerCallback(makVrfEvents::DtEvent::EventType et, _CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:452
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)