20 #include <matrix/vlVector.h>
21 #include <boost/function.hpp>
22 #include <boost/signals2.hpp>
23 #include <vlutil/vlThread.h>
33 class DtSimulationAddress;
46 class DtBaseConnection;
47 class DtCoordinateSystem;
48 class DtSharedSettingsManager;
53 class SimulationDatabase;
58 class DtNetworkMessageInterface;
59 class DtNetworkMessageInterfaceHandlerAgent;
60 class DtStateDataManager;
61 class DtSimDataProcessorManager;
62 class DtRadioProcessor;
63 class DtVrfBackendInterceptor;
64 class DtVantageToLegionIdMapper;
65 class DtTDLMessageProcessor;
66 class DtExtendedStateDataProcessor;
67 class DtVrfCommunicationManager;
68 struct DtSimpleTypedDictionary;
81 return !(*
this == orig);
85 template <
typename _Class,
typename _CallbackFunction>
136 virtual void beginFrame();
139 virtual void advanceFrame();
141 virtual bool onStop();
153 virtual void createStateDataManager(Legion::SimulationDatabase* db = 0);
156 int fileReceiveTransferPort = 9000, Legion::SimulationDatabase* db = 0,
158 bool disableRemoteDiscovery =
false);
174 virtual void queueConnectionFunction(
const boost::function<
void ()>&
function);
177 virtual void queuePostAdvanceFrameConnectionFunction(
const boost::function<
void ()>&
function);
180 virtual void rollbackToSnapshot(
double);
188 virtual void clearSavingCheckpoints();
198 return myVantageToLegionIdMapper;
203 return myRadioProcessor;
208 return myRemoteController;
215 return myCoordinateSystem;
220 return myVrfMessageInterface;
225 return myVrfTDLMessageInterface;
230 return myTDLMessageProcessor;
235 return myExtendedStateDataProcessor;
240 return myStateDataManager;
244 virtual void sendMessageToObject(
const DtVrfObjectMessage* m, DtSimulationAddress addr);
251 virtual void importScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
252 std::map<std::string, std::string> importData);
255 virtual void exportScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
256 std::map<std::string, std::string> importData);
259 virtual void createGlobalEnvironment(
bool);
262 virtual void createEnvironmentalObject(DtSimulationAddress addr,
270 virtual void closeScenario(DtFilename,
bool forceCloseAll =
false);
273 virtual void getMessageFilterStatus(std::map<std::string,bool>& statusMap)
const;
276 virtual void setMessageFilterStatus(
const std::map<std::string,bool>& statusMap);
279 virtual void getMessageProcessorStatus(std::map<std::string,bool>& statusMap)
const;
282 virtual void setMessageProcessorStatus(
const std::map<std::string,bool>& statusMap);
309 virtual void setTimeoutInterval(
int i);
313 virtual void registerSimMessageCallbackFor(
int t,
bool reg);
321 virtual void registerSetMessageCallbackFor(
const DtSetMessageType& s,
bool reg);
329 return myProposedNumberOfObjectsToBeLoaded;
345 bool saveInZipFile =
false,
bool queueSave =
false,
int putIntoPlayMode = 0);
350 virtual void slot_onSaveCheckpoints(std::vector<DtScenario*>, DtFilename);
353 virtual void slot_onClearSavingCheckpoints();
359 virtual void slot_onRollbackToSnapshot(
double);
362 virtual void slot_registerCommentInteraction(
bool);
366 virtual void slot_registerInfluenceInteraction(
bool);
392 static void scenarioAboutToBeSaved(
DtScenario&,
void*);
393 virtual void processScenarioAboutToBeSaved(
DtScenario&)
const;
398 bool deleteMemory =
false,
bool saveInZipFile =
false,
bool queueSave =
false,
int putIntoPlayMode = 0);
402 virtual void saveCheckpoints(
const std::vector<DtScenario*>&,
const DtFilename& baseName);
405 virtual void saveNextCheckpoint();
408 virtual void slot_quitBackend(DtSimulationAddress);
409 virtual void symbolDecorationsChanged();
411 virtual void setupParameterDatabase(std::vector<DtFilename> searchPaths);
412 virtual void setupEnumerations(
const std::vector<DtSimulationModelSet*>& sets);
415 virtual void createGlobalDynamicTerrain(
bool);
418 virtual void slot_modelSetLoaded(std::vector<DtFilename> searchPaths);
420 virtual void setupDirectConnections();
421 virtual void disconnectConnections();
423 virtual void sendScenarioLoadSuccessMessage();
429 static void scenarioCheckpointed(
DtSaveResult result,
double,
void*);
430 virtual void processScenarioCheckpointed(
DtSaveResult result,
double);
433 virtual void runFunctionQueue();
436 virtual void runPostAdvanceFrameFunctionQueue();
439 static void simMessageCallback(
DtSimMessage* msg,
void* usr);
446 virtual void registerExistingMessages();
448 template <
typename _Class,
typename _CallbackFunction>
451 EventHandlerCallbacksMap::iterator iter = myEventHandlerCallbacksMap.find(et);
453 if (iter == myEventHandlerCallbacksMap.end())
456 iter = myEventHandlerCallbacksMap.find(et);
462 EventHandlerCallbacks::const_iterator currentIter = iter->second.begin();
463 EventHandlerCallbacks::const_iterator currentEnd = iter->second.end();
465 while (currentIter != currentEnd)
467 if (**currentIter == *adder)
479 template <
typename _Class,
typename _CallbackFunction>
482 EventHandlerCallbacksMap::iterator iter = myEventHandlerCallbacksMap.find(et);
484 if (iter == myEventHandlerCallbacksMap.end())
487 iter = myEventHandlerCallbacksMap.find(et);
493 EventHandlerCallbacks::const_iterator currentIter = iter->second.begin();
494 EventHandlerCallbacks::const_iterator currentEnd = iter->second.end();
496 while (currentIter != currentEnd)
498 if (**currentIter == *adder)
508 virtual void remoteControllerInitialized();
582 int myProposedNumberOfObjectsToBeLoaded = 0;
std::vector< boost::function< void()> > FunctionCallList
Definition: vrfConnectionHelper.h:529
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:74
std::map< std::string, std::pair< int, DtCondExprCreatorFcn > > myConditionCommandCreator
Definition: vrfConnectionHelper.h:575
DtNetworkMessageInterfaceHandlerAgent * myNetworkMessageInterfaceHandlerAgent
Agent for sending notification of messages received to the gui. This message will need to be deleted ...
Definition: vrfConnectionHelper.h:520
EventType
Definition: event.h:16
The protocol specific processor for entity sim data.
Definition: extendedStateDataProcessor.h:38
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:327
Helper code for connectors. Does not exist in it's own project but is included by all projects that u...
Definition: vrfConnectionHelper.h:125
DtExtendedStateDataProcessor * extendedDataStateProcessor() const
Definition: vrfConnectionHelper.h:233
Coordinate_System * coordinateSystem() const
Definition: vrfConnectionHelper.h:213
Definition: networkMessageInterface.h:22
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
Definition: radioProcessor.h:29
double myParameterDatabaseTimerStart
Definition: vrfConnectionHelper.h:558
DtStateDataManager * myStateDataManager
Definition: vrfConnectionHelper.h:535
DtVrfRemoteController * myRemoteController
Definition: vrfConnectionHelper.h:534
_CallbackFunction myCallbackFcn
Definition: vrfConnectionHelper.h:118
DtExtendedStateDataProcessor * myExtendedStateDataProcessor
Definition: vrfConnectionHelper.h:553
FunctionCallQueue myAdvancedFrameConnectionThreadFunctions
Definition: vrfConnectionHelper.h:532
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:334
boost::signals2::signal< void()> signal_scenarioLoaded
Definition: vrfConnectionHelper.h:336
Contains makVrv:DtSelectionManager class.
virtual ~DtVrfDriverEventManagerCallbackHandler()
Definition: vrfConnectionHelper.h:95
This class will manage the data processors. It will be the spot that the data processors can post mes...
Definition: simDataProcessorManager.h:25
DtTDLMessageProcessor * tdlMessageProcessor() const
Definition: vrfConnectionHelper.h:228
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfConnectionHelper.h:335
DtRadioProcessor * radioProcessor() const
Definition: vrfConnectionHelper.h:201
void removeEventManagerCallback(makVrfEvents::DtEvent::EventType et, _CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:480
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:537
virtual bool operator!=(const DtVrfConnectionHelperMessageCallbackHandler &orig)
Definition: vrfConnectionHelper.h:79
DtTDLMessageProcessor * myTDLMessageProcessor
Definition: vrfConnectionHelper.h:551
std::vector< DtFilename > myModelSetSearchPaths
Definition: vrfConnectionHelper.h:579
Definition: vrfConnectionHelper.h:86
std::map< DtSimTaskMessageType, DtSimTaskCreatorFcn > myTaskCreator
Definition: vrfConnectionHelper.h:571
std::map< DtSimCommandMessageType, DtSimCommandCreatorFcn > mySimulationCommandCreator
Definition: vrfConnectionHelper.h:574
CheckpointsToSave myCheckpointsToSave
Definition: vrfConnectionHelper.h:546
DtVrfDriverEventManagerCallbackHandler(_CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:89
int myFileTransporterReceivePort
Definition: vrfConnectionHelper.h:539
DtSimInterfaceContent *(* DtInterfaceContentCreatorFcn)()
Definition: interfaceContentFactory.h:21
Contains makVrv::DtLockedBufferedQueue class.
DtAdminContentFactory::DtCreatorFcn DtAdminContentCreatorFcn
Definition: adminContentFactory.h:36
std::set< DtAdminContentMessageType > myAdminMessageCallbacks
Definition: vrfConnectionHelper.h:565
class DtBackendMap:
Definition: backendMap.h:21
DtVrfCommunicationManager * myCommunicationManager
Definition: vrfConnectionHelper.h:536
std::vector< std::pair< DtVrfObjectConsoleMessageCallbackFcn, void * > > DtCommentInteractionCallbackList
Definition: vrfConnectionHelper.h:511
DtVrfBackendInterceptor * myBackEndInterceptor
Definition: vrfConnectionHelper.h:561
boost::signals2::signal< void(DtScenario &)> signal_scenarioAboutToBeSaved
Definition: vrfConnectionHelper.h:337
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:338
std::map< DtAdminContentMessageType, DtAdminContentCreatorFcn > myAdminContentCreator
Definition: vrfConnectionHelper.h:573
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:557
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:201
DtSaveResult
Definition: ifSaveComplete.h:18
std::set< DtSimReportMessageType > myReportMessageCallbacks
Definition: vrfConnectionHelper.h:566
makVrv::DtSignalConnectionManager myConnections
Definition: vrfConnectionHelper.h:516
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
Definition: simpleTypedDictionary.h:36
DtVrfMessageInterface * myVrfMessageInterface
Definition: vrfConnectionHelper.h:548
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
DtSimReportFactory::DtCreatorFcn DtSimReportCreatorFcn
Definition: simReportFactory.h:38
makVrv::DtLockedBufferedQueue< boost::function< void()> > FunctionCallQueue
Definition: vrfConnectionHelper.h:528
File: simMsg.h.
Definition: simMessage.h:35
DtVrfRemoteController * remoteController() const
Definition: vrfConnectionHelper.h:206
DtVrfTDLMessageInterface * vrfTDLMessageInterface() const
Definition: vrfConnectionHelper.h:223
std::vector< DtVrfConnectionHelperMessageCallbackHandler * > EventHandlerCallbacks
Definition: vrfConnectionHelper.h:524
EventHandlerCallbacksMap myEventHandlerCallbacksMap
Definition: vrfConnectionHelper.h:526
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:562
DtAddressMap * myLastAddressMap
Definition: vrfConnectionHelper.h:541
DtThreadId myThreadId
Definition: vrfConnectionHelper.h:581
Definition: vrfConnectionHelper.h:70
std::map< int, DtVrfObjectMessageCreatorFcn > myObjectMessageCreator
Definition: vrfConnectionHelper.h:576
DtMtlParameterDb * myParameterDatabase
Definition: vrfConnectionHelper.h:556
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
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: asyncJobServer.h:39
std::set< int > mySimMessageCallbacks
Definition: vrfConnectionHelper.h:564
DtSimCommand *(* DtSimCommandCreatorFcn)()
Definition: simCommandFactory.h:20
Contains makVrf::DtSharedNetworkSignaler class.
DtSimDataProcessorManager * mySimDataProcessorManager
Definition: vrfConnectionHelper.h:550
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
Definition: sharedNetworkSignaler.h:90
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:570
DtStateDataManager * stateDataManager() const
Definition: vrfConnectionHelper.h:238
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
virtual void callback(const makVrfEvents::DtEvent &e)
Definition: vrfConnectionHelper.h:100
DtRadioProcessor * myRadioProcessor
Definition: vrfConnectionHelper.h:552
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:568
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< int, DtInterfaceContentCreatorFcn > myInterfaceContentCreator
Definition: vrfConnectionHelper.h:572
DtSimulationStatus mySimulationStatus
Definition: vrfConnectionHelper.h:560
CheckpointsToSave myCheckpointsSaving
Definition: vrfConnectionHelper.h:547
bool myStopped
Definition: vrfConnectionHelper.h:554
void * myUser
Definition: vrfConnectionHelper.h:119
bool myInThreadFlag
Definition: vrfConnectionHelper.h:522
virtual bool operator==(const DtVrfConnectionHelperMessageCallbackHandler &orig)
Definition: vrfConnectionHelper.h:105
void(* DtInfluenceEventCb)(const makVrfEvents::DtInfluenceEvent *inter, void *usr)
Definition: influenceEvent.h:147
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:72
Definition: simInterfaceContent.h:45
std::map< DtSimReportMessageType, DtSimReportCreatorFcn > myReportCreator
Definition: vrfConnectionHelper.h:577
boost::signals2::connection myConnection
Definition: vrfConnectionHelper.h:120
DtVantageToLegionIdMapper * vantageToLegionIdMapper() const
Definition: vrfConnectionHelper.h:196
boost::function< void(DtVrfConnectionHelper *)> RemoteControllerInitialization
Definition: vrfConnectionHelper.h:149
Coordinate_System * createVrfCoordinateSystem(const makVrv::DtCoordinateSystem &coodSysIn)
Definition: influenceEvent.h:14
std::map< double, std::pair< DtScenario, int > > CheckpointsToSave
Checkpoints left to save.
Definition: vrfConnectionHelper.h:545
std::set< DtSimTaskMessageType > myTaskMessageCallbacks
Definition: vrfConnectionHelper.h:567
DtVrfTDLMessageInterface * myVrfTDLMessageInterface
Definition: vrfConnectionHelper.h:549
int mySessionId
Definition: vrfConnectionHelper.h:538
makVrv::DtDe & myDe
Definition: vrfConnectionHelper.h:513
std::map< makVrfEvents::DtEvent::EventType, EventHandlerCallbacks > EventHandlerCallbacksMap
Definition: vrfConnectionHelper.h:525
Provides sim engine status messages to the DtVrfSimBackendManager. This class will make calls to the ...
Definition: vrfBackendInterceptor.h:34
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
DtVrfMessageInterface * messageInterface() const
Definition: vrfConnectionHelper.h:218
makVrv::DtBaseConnection * myConnection
Definition: vrfConnectionHelper.h:514
DtBackendMap * myLastBackendMap
Definition: vrfConnectionHelper.h:542
FunctionCallQueue myConnectionThreadFunctions
Definition: vrfConnectionHelper.h:531
Definition: vrfMessageInterface.h:40
DtVrfConnectionHelperMessageCallbackHandler * addEventManagerCallback(makVrfEvents::DtEvent::EventType et, _CallbackFunction fcn, void *usr)
Definition: vrfConnectionHelper.h:449
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73