WSF
WsfSimulationInput.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 WSFSIMULATIONINPUT_HPP
13#define WSFSIMULATIONINPUT_HPP
14
15#include "wsf_export.h"
16
17#include <map>
18#include <vector>
19
20class UtInput;
21class WsfDateTime;
22class WsfPlatform;
23class WsfScenario;
24class WsfSimulation;
25#include "WsfStringId.hpp"
26
30{
31public:
32 friend class WsfSimulation;
34 virtual ~WsfSimulationInput();
35
36 virtual bool ProcessInput(UtInput& aInput);
37
38 virtual void LoadComplete();
39
51
52
54 bool MultiThreaded() const { return mMultiThreaded; }
55
57 double GetEndTime() const { return mEndTime; }
58
59 const WsfDateTime& GetDateTime() const { return *mDateTimePtr; }
60
68
71 void UseConstantRequiredPd(bool aUseConstantRequiredPd) { mUseConstantRequiredPd = aUseConstantRequiredPd; }
73
75
76 bool RandomizeFrequency() const { return mRandomizeFrequency; }
77 void RandomizeFrequency(bool aRandomizeFrequency);
78
80 void UseDefaultFrequency(bool aUseDefaultFrequency);
82
84 void SetMultiThreaded(bool aMultiThreaded) { mMultiThreaded = aMultiThreaded; }
85
94 void AllowClutterCalculationShortcuts(bool aAllowCalculationShortcuts)
95 {
96 mAllowClutterCalculationShortcuts = aAllowCalculationShortcuts;
97 }
98
101
110 void AllowEM_PropagationCalculationShortcuts(bool aAllowCalculationShortcuts)
111 {
112 mAllowEM_PropagationCalculationShortcuts = aAllowCalculationShortcuts;
113 }
114
117
119
129
131 void SetProcessPriority(ProcessPriority aProcessPriority) { mProcessPriority = aProcessPriority; }
132
133protected:
135
138
141
144
148
150 double mEndTime;
151
154
156
160
163
166
171
174
177};
178
191
194{
195public:
198 bool ProcessInput(UtInput& aInput, WsfSimulationInput& aSimInput);
199
202};
203
206{
207public:
210 bool ProcessInput(UtInput& aInput) override;
211};
212
213#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
A singleton object used to maintain the start date and time of the simulation.
Definition WsfDateTime.hpp:34
WsfDefaultSimulationInput(WsfScenario &aScenario)
Definition WsfSimulationInput.cpp:292
~WsfDefaultSimulationInput() override
Definition WsfSimulationInput.cpp:298
bool ProcessInput(UtInput &aInput) override
Definition WsfSimulationInput.cpp:285
double mThreadUpdateInterval
Definition WsfSimulationInput.hpp:187
int mPlatformThreadUpdateMultiplier
Definition WsfSimulationInput.hpp:188
virtual ~WsfEventStepSimulationInput()
Definition WsfSimulationInput.hpp:184
WsfEventStepSimulationInput()
Definition WsfSimulationInput.cpp:247
int mSensorThreadUpdateMultiplier
Definition WsfSimulationInput.hpp:189
double mFrameTime
The time allotted to a frame (seconds).
Definition WsfSimulationInput.hpp:201
virtual ~WsfFrameStepSimulationInput()
Definition WsfSimulationInput.hpp:197
WsfFrameStepSimulationInput()
Definition WsfSimulationInput.cpp:255
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSimulationInput.hpp:30
bool RandomizeFrequency() const
Definition WsfSimulationInput.hpp:76
double mClockRate
The ratio of simulation time to real world time.
Definition WsfSimulationInput.hpp:153
ProcessPriority
Process priorities for windows.
Definition WsfSimulationInput.hpp:122
@ cPP_NORMAL
Definition WsfSimulationInput.hpp:124
@ cPP_BELOW_NORMAL
Definition WsfSimulationInput.hpp:123
@ cPP_ABOVE_NORMAL
Definition WsfSimulationInput.hpp:125
@ cPP_HIGH
Definition WsfSimulationInput.hpp:126
@ cPP_REALTIME
Definition WsfSimulationInput.hpp:127
bool mMultiThreaded
Thread behavior.
Definition WsfSimulationInput.hpp:140
void AllowClutterCalculationShortcuts(bool aAllowCalculationShortcuts)
Definition WsfSimulationInput.hpp:94
bool MultiThreaded() const
Return whether the simulation should multi-thread were appropriate.
Definition WsfSimulationInput.hpp:54
bool UseConstantRequiredPd() const
Definition WsfSimulationInput.hpp:67
bool mUseDefaultFrequency
Force the use of the "frequency" input (default) for sensor's with alternate frequency inputs in the ...
Definition WsfSimulationInput.hpp:165
void AllowEM_PropagationCalculationShortcuts(bool aAllowCalculationShortcuts)
Definition WsfSimulationInput.hpp:110
bool AllowClutterCalculationShortcuts() const
Return the current status of allowing calculation shortcuts.
Definition WsfSimulationInput.hpp:100
bool mIsRealTime
Whether this simulation is running real-time, or a multiple of real-time.
Definition WsfSimulationInput.hpp:137
WsfDateTime * mDateTimePtr
Definition WsfSimulationInput.hpp:155
bool mRandomizeFrequency
Randomization flag for randomizing "frequency" for sensors with alternate frequency inputs in the sim...
Definition WsfSimulationInput.hpp:162
bool mAllowEM_PropagationCalculationShortcuts
See documentation for AllowCalculationShortcuts.
Definition WsfSimulationInput.hpp:176
virtual void LoadComplete()
Definition WsfSimulationInput.cpp:194
bool mDebugMultiThreading
Definition WsfSimulationInput.hpp:169
bool mAllowClutterCalculationShortcuts
See documentation for AllowCalculationShortcuts.
Definition WsfSimulationInput.hpp:173
bool mUseConstantRequiredPd
Definition WsfSimulationInput.hpp:159
double mEndTime
The end time of the simulation (seconds).
Definition WsfSimulationInput.hpp:150
double GetMinimumMoverTimestep() const
Definition WsfSimulationInput.hpp:50
void UseConstantRequiredPd(bool aUseConstantRequiredPd)
Definition WsfSimulationInput.hpp:71
friend class WsfSimulation
Definition WsfSimulationInput.hpp:32
bool UseDefaultFrequency() const
Definition WsfSimulationInput.hpp:79
void SetMultiThreaded(bool aMultiThreaded)
Return whether the simulation should multi-thread were appropriate.
Definition WsfSimulationInput.hpp:84
const WsfDateTime & GetDateTime() const
Definition WsfSimulationInput.hpp:59
virtual bool ProcessInput(UtInput &aInput)
Definition WsfSimulationInput.cpp:66
void UseDefaultFrequency(bool aUseDefaultFrequency)
double mBreakUpdateTime
Definition WsfSimulationInput.hpp:168
double GetEndTime() const
Get the defined end time of the simulation.
Definition WsfSimulationInput.hpp:57
WsfScenario * GetScenario() const
Definition WsfSimulationInput.hpp:118
double mMinimumMoverTimestep
Definition WsfSimulationInput.hpp:147
void SetProcessPriority(ProcessPriority aProcessPriority)
Set the process priority class for windows.
Definition WsfSimulationInput.hpp:131
bool AllowEM_PropagationCalculationShortcuts() const
Return the current status of allowing calculation shortcuts.
Definition WsfSimulationInput.hpp:116
WsfScenario * mScenarioPtr
Definition WsfSimulationInput.hpp:134
ProcessPriority mProcessPriority
Definition WsfSimulationInput.hpp:170
int mNumberOfThreads
Definition WsfSimulationInput.hpp:167
int mWallClockTimingMethod
Timing method to use for UtWallClock.
Definition WsfSimulationInput.hpp:143
WsfSimulationInput(WsfScenario &aScenario)
Definition WsfSimulationInput.cpp:34
void RandomizeFrequency(bool aRandomizeFrequency)
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved