WSF
WsfXIO_Simulation.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFXIO_SIMULATION_HPP
13#define WSFXIO_SIMULATION_HPP
14
15#include "wsf_export.h"
16
17#include "UtCallbackHolder.hpp"
18#include "WsfComponentList.hpp"
19class WsfDisInterface;
38
40
49{
50public:
52
53 WsfXIO_Simulation(WsfXIO_Interface* aInterfacePtr, WsfSimulation& aSimulation);
54 ~WsfXIO_Simulation() override;
55
56 bool Initialize();
57
58 WsfXIO_Interface* GetInterface() const { return mInterfacePtr; }
59 WsfSimulation& GetSimulation() const { return mSimulation; }
60 WsfDisInterface* GetDisInterface() const { return mDisInterfacePtr; }
61
63
64 WsfXIO_TrackService* GetTrackService() const { return mTrackServicePtr; }
65 WsfXIO_PlatformListService* GetPlatformListService() const { return mPlatformListServicePtr; }
66 WsfXIO_PlatformInfoService* GetPlatformInfoService() const { return mPlatformInfoServicePtr; }
67 WsfXIO_PlatformPartInfoService* GetPlatformPartInfoService() const { return mPlatformPartInfoServicePtr; }
68 WsfXIO_TaskService* GetTaskService() const { return mTaskServicePtr; }
69 WsfXIO_MessageService* GetMessageService() const { return mMessageServicePtr; }
70 WsfXIO_SimTimeService* GetSimTimeService() const { return mSimTimeServicePtr; }
71 WsfXIO_ScriptService* GetScriptService() const { return mScriptServicePtr; }
72 WsfXIO_DrawService* GetDrawService() const { return mDrawServicePtr; }
73 WsfXIO_SensorService* GetSensorService() const { return mSensorServicePtr; }
75
76private:
77 void HandleInformationRequest(WsfXIO_InformationRequestPkt& aPkt);
78 void HandleDeletePlatform(WsfXIO_DeletePlatformPkt& aPkt);
79 void HandleReRoutePkt(WsfXIO_ReRoutePlatformPkt& aPkt);
80 void HandleStateChangeRequest(WsfXIO_PartStateChangeRequestPkt& aPkt);
81 void HandleTrackManagerStateChangeRequest(WsfXIO_TrackManagerStateChangeRequestPkt& aPkt);
82 void HandleSimTimeCommand(WsfXIO_SimTimeCommandPkt& aPkt);
83
84 void SendTimeBehind(bool aIsBehind);
85 void SimulationTimeBehind(double aTimeBehind);
86
87 UtCallbackHolder mCallbacks;
88 WsfXIO_Interface* mInterfacePtr;
89 WsfSimulation& mSimulation;
90 WsfDisInterface* mDisInterfacePtr;
91
92 WsfXIO_TrackService* mTrackServicePtr;
93 WsfXIO_PlatformListService* mPlatformListServicePtr;
94 WsfXIO_PlatformInfoService* mPlatformInfoServicePtr;
95 WsfXIO_PlatformPartInfoService* mPlatformPartInfoServicePtr;
96 WsfXIO_TaskService* mTaskServicePtr;
97 WsfXIO_MessageService* mMessageServicePtr;
98 WsfXIO_SimTimeService* mSimTimeServicePtr;
99 WsfXIO_ScriptService* mScriptServicePtr;
100 WsfXIO_DrawService* mDrawServicePtr;
101 WsfXIO_SensorService* mSensorServicePtr;
102
103 bool mBehindRealTime = false; // True if simulation is behind real-time
104};
105
106#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfComponentListT< WsfXIO_Component > WsfXIO_ComponentList
Definition WsfXIO_Simulation.hpp:39
A component list that stores only components of a specified type.
Definition WsfComponentList.hpp:343
WsfComponentListT()
Definition WsfComponentList.hpp:397
Definition WsfDisInterface.hpp:83
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Command the application to delete a platform.
Definition WsfXIO_PacketRegistry.hpp:220
Services WsfXIO_DrawRequests.
Definition WsfXIO_DrawService.hpp:27
Requests an application to send back information.
Definition WsfXIO_PacketRegistry.hpp:335
Definition WsfXIO_Interface.hpp:54
Provides WsfMessages sent and received by a platform as requested by WsfXIO_MessageRequest.
Definition WsfXIO_MessageService.hpp:56
Requests that an application changes either state or mode of a platform part.
Definition WsfXIO_PacketRegistry.hpp:487
Definition WsfXIO_PlatformInfoService.hpp:66
Fulfills platform list subscription requests.
Definition WsfXIO_PlatformListService.hpp:31
Definition WsfXIO_PlatformInfoService.hpp:211
Definition WsfXIO_PacketRegistry.hpp:564
Handles requests for script listings, and remote script execution.
Definition WsfXIO_ScriptService.hpp:35
Definition WsfXIO_SensorService.hpp:30
Definition WsfXIO_PacketRegistry.hpp:1018
Provides other applications with information regarding this application's simulation clock.
Definition WsfXIO_SimTimeService.hpp:29
WsfXIO_SimTimeService * GetSimTimeService() const
Definition WsfXIO_Simulation.hpp:70
WsfXIO_SensorService * GetSensorService() const
Definition WsfXIO_Simulation.hpp:73
WsfXIO_TaskService * GetTaskService() const
Definition WsfXIO_Simulation.hpp:68
WsfXIO_Interface * GetInterface() const
Definition WsfXIO_Simulation.hpp:58
WsfXIO_Simulation(WsfXIO_Interface *aInterfacePtr, WsfSimulation &aSimulation)
Definition WsfXIO_Simulation.cpp:113
WsfComponentListT< WsfXIO_Component > ComponentList
Definition WsfXIO_Simulation.hpp:51
bool Initialize()
Definition WsfXIO_Simulation.cpp:201
WsfXIO_MessageService * GetMessageService() const
Definition WsfXIO_Simulation.hpp:69
WsfXIO_PlatformPartInfoService * GetPlatformPartInfoService() const
Definition WsfXIO_Simulation.hpp:67
WsfXIO_PlatformListService * GetPlatformListService() const
Definition WsfXIO_Simulation.hpp:65
WsfDisInterface * GetDisInterface() const
Definition WsfXIO_Simulation.hpp:60
WsfSimulation & GetSimulation() const
Definition WsfXIO_Simulation.hpp:59
WsfXIO_TrackService * GetTrackService() const
Definition WsfXIO_Simulation.hpp:64
WsfXIO_PlatformInfoService * GetPlatformInfoService() const
Definition WsfXIO_Simulation.hpp:66
WsfXIO_DrawService * GetDrawService() const
Definition WsfXIO_Simulation.hpp:72
WsfXIO_ScriptService * GetScriptService() const
Definition WsfXIO_Simulation.hpp:71
Definition WsfXIO_TaskService.hpp:31
Requests that an application changes the state of a track manager.
Definition WsfXIO_PacketRegistry.hpp:1058
Sends track information to fulfill the WsfXIO_TrackRequests.
Definition WsfXIO_TrackService.hpp:40
Copyrights Multiple, All Rights Reserved