WSF
WsfScenario.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 WSFSCENARIO_HPP
13#define WSFSCENARIO_HPP
14
15#include <functional>
16#include <map>
17#include <memory>
18#include <set>
19#include <vector>
20
21#include "UtAtmosphere.hpp"
22#include "UtCallback.hpp"
23#include "UtCast.hpp"
24#include "UtColor.hpp"
25class UtInput;
26#include "UtScriptEnvironment.hpp"
27class UtScriptTypes;
28class WsfApplication;
30#include "WsfDeferredInput.hpp"
31#include "WsfEnvironment.hpp"
32#include "WsfExtensionList.hpp"
33class WsfGrammarInterface;
34#include "WsfIFF_Manager.hpp"
35#include "WsfMessageTable.hpp"
36class WsfObject;
37#include "WsfPathFinder.hpp"
38#include "WsfPlatform.hpp"
42#include "WsfSignatureList.hpp"
44class WsfSimulation;
46#include "WsfStringTable.hpp"
47class WsfSystemLog;
48
49// Types classes
51class WsfAeroTypes;
60class WsfFilterTypes;
61class WsfFuelTypes;
64class WsfGroupTypes;
66class WsfMoverTypes;
75class WsfRouteTypes;
77class WsfSensorTypes;
78#include "WsfTerrain.hpp"
83class WsfZoneTypes;
84
85namespace wsf
86{
87
89
90namespace comm
91{
92class Types;
93class NetworkTypes;
94class ProtocolTypes;
95
96namespace router
97{
98class Types;
99class ProtocolTypes;
100} // namespace router
101
102namespace medium
103{
104class Types;
105}
106} // namespace comm
107} // namespace wsf
108
111{
112public:
113 using ScenarioExtensionMap = std::map<std::string, WsfScenarioExtension*>;
114 using ComponentFactoryList = std::vector<std::unique_ptr<WsfComponentFactoryBase>>;
115 using InputFunction = std::function<bool(UtInput&)>;
116
117 static WsfScenario& FromInput(UtInput& aInput);
118
119 WsfScenario(WsfApplication& aApplication);
120 WsfScenario(const WsfScenario& aSrc) = delete;
122 virtual ~WsfScenario() = default;
123
124 void SetSimulationInput(WsfSimulationInput* aSimulationInput);
125
128
129 void LoadFromFile(const std::string& aFileName);
130 void LoadFromStream(UtInput& aInput);
131 bool ProcessInput(UtInput& aInput);
132
133 void CompleteLoad();
134
135 void ConfigureInput(UtInput& aInput);
136 bool LoadIsComplete() const { return mLoadIsComplete; }
137
140 void ScenarioChange();
141
142 bool LoadPlatformInstance(UtInput& aInput);
143
144 void SimulationCreated(WsfSimulation& aSimulation) const;
145
147
148 WsfDeferredInput& GetDeferredInput();
149
150 WsfSystemLog& GetSystemLog() const;
151 UtScriptTypes* GetScriptTypes() const { return mScriptTypesPtr; }
152
154
155 WsfScriptContext* GetScriptContext() const;
156
158
159 // Should not be modified by the simulation
160 const WsfMessageTable* GetMessageTable() const { return mMessageTablePtr.get(); }
161
162 UtAtmosphere& GetAtmosphere() const { return *mAtmospherePtr; }
163
165
167
170
173
174 const WsfStringTable& Strings() const { return mStringTable; }
175
177 const std::vector<std::string>& GetInputFiles() const { return mInputFiles; }
178
179 void AddInputProcessor(const InputFunction& aFunction);
180
181 UtScriptEnvironment& GetScriptEnvironment() const { return *mScriptEnvironmentPtr; }
182
184 UtInput& GetInput() const { return *mInputPtr; }
186
188
189 WsfScenarioExtension* FindExtension(const std::string& aName) const;
190 WsfScenarioExtension& GetExtension(const std::string& aName) const;
191
192 void RegisterExtension(const std::string& aName, std::unique_ptr<WsfScenarioExtension> aExtensionPtr);
193 void ExtensionDepends(const std::string& aExtensionName, const std::string& aDependsOnExtensionName, bool aRequired);
194
197
199
200 void RegisterComponentFactory(std::unique_ptr<WsfComponentFactoryBase> aFactoryPtr);
203
205
206 WsfObject* FindType(const std::string& aTypeKind, WsfStringId aTypeName) const;
207
210 template<typename T>
211 T* FindTypeT(const std::string& aTypeName)
212 {
213 WsfObject* objectPtr = FindType(T::cTYPE_KIND, aTypeName);
214 return dynamic_cast<T*>(objectPtr);
215 }
216
217 WsfObject* CloneType(const std::string& aTypeKind, WsfStringId aTypeName) const;
218
221 template<typename T>
222 T* CloneTypeT(WsfStringId aTypeName) const
223 {
224 WsfObject* objectPtr = CloneType(T::cTYPE_KIND, aTypeName);
225 return dynamic_cast<T*>(objectPtr);
226 }
227
228
229 void AddTypeList(std::unique_ptr<WsfObjectTypeListBaseI> aTypeListPtr);
230
231 WsfObjectTypeListBaseI* GetTypes(const std::string& aTypesKind) const;
232 std::vector<WsfObjectTypeListBaseI*> GetTypeLists() const
233 {
234 std::vector<WsfObjectTypeListBaseI*> result;
235 for (auto& typeListPtr : mAllTypeLists)
236 {
237 result.push_back(typeListPtr.get());
238 }
239 return result;
240 }
241
243
288
301
302
304 unsigned int GetInitalRunNumber() const { return mInitialRunNumber; }
305
307 unsigned int GetFinalRunNumber() const { return mFinalRunNumber; }
308
310 unsigned int GetRunNumberIncrement() const { return mRunNumberIncrement; }
311
312 void SetInitialRunNumber(unsigned int aInitialRunNumber);
313 void SetFinalRunNumber(unsigned int aFinalRunNumber);
314 void SetRunNumberIncrement(unsigned int aRunNumberIncrement);
315
317 long int GetRandomSeed(unsigned int aRunNumber) const;
318 long int GetInitialSeed() const { return mInitialSeed; }
319 void SetInitialSeed(long int aInitialSeed) { mInitialSeed = aInitialSeed; }
321
322 const std::string& GetClassificationString() const { return mClassification.first; }
323 const UtColor& GetClassificationColor() const { return mClassification.second; }
324
326
327 bool AddInputPlatform(std::unique_ptr<WsfPlatform> aPlatformPtr);
328
329 WsfPlatform* GetInputPlatformByName(WsfStringId aNameId);
330 const WsfPlatform* GetInputPlatformByName(WsfStringId aNameId) const;
331
332 unsigned int GetInputPlatformCount() const;
333
337 WsfPlatform* GetInputPlatformEntry(unsigned int aEntry) const;
338
339 bool PlatformIsAvailable(WsfPlatform* aPlatformPtr, WsfSimulation& aSimulation) const;
341
342
345
347
351
355
356
361 bool ExpectInputError() const { return mExpectInputError; }
363
366 const std::string& GetSimulationName() const { return mSimulationName; }
367
368private:
369 void CreateTypeLists(WsfScenario& aScenario);
370 template<class T>
371 T* CreateTypeList(WsfScenario& aScenario);
372
373 bool ProcessEnumerateCommand(UtInput& aInput);
374
375protected:
376 virtual bool ProcessInputP(UtInput& aInput);
377 bool TypesProcessInput(UtInput& aInput);
378
379 bool ExpectError() const { return mExpectInputError; }
380 void ExpectError(bool aExpectError);
381 void CheckErrorFailure();
382
383 void LoadFromStreamP(UtInput& aInput);
384 void FileOpenCallback(const std::string& aFileName);
385 bool ProcessExtensionInput(UtInput& aInput);
386 void SortExtensions();
387
388 void BuildClassificationString();
389 size_t FindClassificationLevel(const std::string& aLevel) const;
390
391 friend class ErrorTracker;
392
402 std::unique_ptr<UtInput> mInputPtr;
403 std::unique_ptr<WsfDeferredInput> mDeferredInputPtr;
406 std::unique_ptr<WsfSimulationInput> mSimulationInputPtr;
407 UtScriptTypes* mScriptTypesPtr;
408 std::unique_ptr<UtScriptEnvironment> mScriptEnvironmentPtr;
409 std::unique_ptr<WsfScriptManager> mScriptManagerPtr;
410 std::unique_ptr<WsfEnvironment> mEnvironmentPtr;
411 std::unique_ptr<UtAtmosphere> mAtmospherePtr;
412 std::unique_ptr<WsfMessageTable> mMessageTablePtr;
413 std::unique_ptr<WsfPathFinderList> mPathFinderListPtr;
414 std::unique_ptr<wsf::TerrainInterface> mTerrainInterfacePtr;
415 std::unique_ptr<WsfIFF_Manager> mIFF_ManagerPtr;
416
417 std::vector<std::string> mInputFiles;
418
419 std::vector<InputFunction> mInputFunctions;
420
422
423 using ClassificationLevel = std::pair<std::string, UtColor>;
424 // This is a vector of pairs (do not map, as the input order of levels needs to be maintained)
425 std::vector<ClassificationLevel> mClassificationsList;
427 std::set<std::string> mTrigraphsSet;
428 std::set<std::string> mCaveatsSet;
429 size_t mLevelIndex{ut::npos};
430
431 std::string mSimulationName;
432
434
435
436 unsigned int mInitialRunNumber;
437
439 unsigned int mFinalRunNumber;
440
443
446
447 long int mInitialSeed;
448
450 std::vector<long int> mRandomSeeds;
452
454 std::vector<std::unique_ptr<WsfPlatform>> mInputPlatforms;
455
457 std::unique_ptr<WsfPlatformAvailability> mPlatformAvailabilityPtr;
458
460
499
501 std::vector<std::unique_ptr<WsfObjectTypeListBaseI>> mAllTypeLists;
503 std::map<std::string, WsfObjectTypeListBaseI*> mTypesListByKind;
504
506 std::unique_ptr<WsfSignatureList> mSignatureListPrototypePtr;
507
509 std::unique_ptr<WsfExtensionList> mExtensionListPtr;
510
513};
514
515#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfAdvancedBehaviorTreeNode.hpp:521
Definition WsfAeroTypes.hpp:24
The list of defined antenna_pattern types.
Definition WsfAntennaPatternTypes.hpp:22
Definition WsfApplication.hpp:45
Definition WsfBehaviorTreeNode.hpp:166
Definition WsfCallbackTypes.hpp:19
Definition WsfCorrelationStrategyTypes.hpp:19
Definition WsfDeferredInput.hpp:42
Definition WsfEM_AttenuationTypes.hpp:22
Definition WsfEM_ClutterTypes.hpp:21
Definition WsfEM_PropagationTypes.hpp:21
Definition WsfEnvironment.hpp:37
Definition WsfExtensionList.hpp:46
Definition WsfFilterTypes.hpp:21
Definition WsfFuelTypes.hpp:22
Definition WsfFusionStrategyTypes.hpp:20
Definition WsfGroupTypes.hpp:21
IFF manager (Singleton).
Definition WsfIFF_Manager.hpp:27
Definition WsfIntersectMeshTypes.hpp:21
Definition WsfMaskingPatternTypes.hpp:21
Definition WsfMessageTable.hpp:48
Definition WsfMoverTypes.hpp:22
Definition WsfNoiseCloud.hpp:76
The interface an object type list must support.
Definition WsfObjectTypeListBase.hpp:38
Base class for WsfObjectTypeList. Provides most of the implementation.
Definition WsfObjectTypeListBase.hpp:89
Definition WsfObject.hpp:40
Definition WsfPathFinder.hpp:253
Definition WsfPathFinder.hpp:233
Definition WsfPlatformTypes.hpp:19
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfProcessorTypes.hpp:19
Definition WsfRadarSignatureTypes.hpp:19
Definition WsfRouteNetworkTypes.hpp:22
Definition WsfRouteTypes.hpp:22
Definition WsfScenarioExtension.hpp:37
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
void SetSimulationInput(WsfSimulationInput *aSimulationInput)
Definition WsfScenario.cpp:911
std::unique_ptr< UtInput > mInputPtr
Definition WsfScenario.hpp:402
const ComponentFactoryList & GetComponentFactoryList() const
Definition WsfScenario.hpp:201
wsf::comm::router::Types * mRouterTypesPtr
Definition WsfScenario.hpp:486
std::unique_ptr< WsfIFF_Manager > mIFF_ManagerPtr
Definition WsfScenario.hpp:415
WsfApplication & GetApplication() const
Return a reference to the application to which this scenario is associated.
Definition WsfScenario.hpp:127
bool mGotError
Definition WsfScenario.hpp:396
UtScriptTypes * mScriptTypesPtr
Definition WsfScenario.hpp:407
wsf::comm::router::ProtocolTypes & GetRouterProtocolTypes() const
Definition WsfScenario.hpp:275
wsf::comm::medium::Types & GetMediumTypes() const
Definition WsfScenario.hpp:263
long int mInitialRandomSeed
The seed used to generate sRandomSeeds.
Definition WsfScenario.hpp:445
WsfEM_AttenuationTypes * mEM_AttenuationTypesPtr
Definition WsfScenario.hpp:469
WsfPathFinderList & GetPathFinderList() const
Definition WsfScenario.hpp:164
std::set< std::string > mCaveatsSet
Definition WsfScenario.hpp:428
WsfProcessorTypes & GetProcessorTypes() const
Definition WsfScenario.hpp:269
wsf::comm::NetworkTypes & GetNetworkTypes() const
Definition WsfScenario.hpp:265
wsf::comm::medium::Types * mMediumTypesPtr
Definition WsfScenario.hpp:477
WsfSignatureList & GetSignatureListPrototype()
Definition WsfScenario.hpp:349
WsfGroupTypes * mGroupTypesPtr
Definition WsfScenario.hpp:474
WsfEM_ClutterTypes * mEM_ClutterTypesPtr
Definition WsfScenario.hpp:468
std::vector< ClassificationLevel > mClassificationsList
Definition WsfScenario.hpp:425
WsfCorrelationStrategyTypes & GetCorrelationTypes() const
Definition WsfScenario.hpp:253
std::vector< InputFunction > mInputFunctions
Definition WsfScenario.hpp:419
WsfFusionStrategyTypes * mFusionTypesPtr
Definition WsfScenario.hpp:473
WsfSensorErrorModelTypes & GetSensorErrorModelTypes() const
Definition WsfScenario.hpp:276
std::vector< std::unique_ptr< WsfComponentFactoryBase > > ComponentFactoryList
Definition WsfScenario.hpp:114
const WsfExtensionList & GetExtensions() const
Definition WsfScenario.hpp:195
virtual ~WsfScenario()=default
unsigned int GetFinalRunNumber() const
Get the run number of the final iteration.
Definition WsfScenario.hpp:307
WsfBehaviorTreeNodeTypes * mBehaviorTreeNodeTypesPtr
Definition WsfScenario.hpp:464
WsfSensorTypes * mSensorTypesPtr
Definition WsfScenario.hpp:489
WsfVisualPartTypes * mVisualPartTypesPtr
Definition WsfScenario.hpp:496
WsfRadarSignatureTypes * mRadarSignatureTypesPtr
Definition WsfScenario.hpp:490
bool UseQuantitativeTrackQuality() const
Return whether the simulation is using quantitative track quality.
Definition WsfScenario.hpp:344
WsfScenario(WsfApplication &aApplication)
Definition WsfScenario.cpp:113
WsfCorrelationStrategyTypes * mCorrelationTypesPtr
Definition WsfScenario.hpp:467
long int GetInitialSeed() const
Definition WsfScenario.hpp:318
WsfObject * CloneType(const std::string &aTypeKind, WsfStringId aTypeName) const
Definition WsfScenario.cpp:793
WsfEM_ClutterTypes & GetEM_ClutterTypes() const
Definition WsfScenario.hpp:255
WsfNoiseCloudTypes * mNoiseCloudTypesPtr
Definition WsfScenario.hpp:480
const WsfStringTable & Strings() const
Definition WsfScenario.hpp:174
const std::string & GetSimulationName() const
Definition WsfScenario.hpp:366
wsf::TrackExtrapolationStrategyTypes & GetTrackExtrapolationStrategyTypes() const
Definition WsfScenario.hpp:280
WsfGroupTypes & GetGroupTypes() const
Definition WsfScenario.hpp:260
WsfScenario(const WsfScenario &aSrc)=delete
std::pair< std::string, UtColor > ClassificationLevel
Definition WsfScenario.hpp:423
WsfPlatformTypes & GetPlatformTypes() const
Definition WsfScenario.hpp:268
std::vector< long int > mRandomSeeds
A list of random number seeds indexed by run number.
Definition WsfScenario.hpp:450
std::vector< std::string > mInputFiles
Definition WsfScenario.hpp:417
bool LoadIsComplete() const
Definition WsfScenario.hpp:136
WsfFuelTypes & GetFuelTypes() const
Definition WsfScenario.hpp:258
std::unique_ptr< WsfDeferredInput > mDeferredInputPtr
Definition WsfScenario.hpp:403
std::unique_ptr< WsfPlatformAvailability > mPlatformAvailabilityPtr
The 'platform_availability' of input platforms.
Definition WsfScenario.hpp:457
WsfThermalSystemTypes * mThermalSystemTypesPtr
Definition WsfScenario.hpp:494
WsfAntennaPatternTypes & GetAntennaPatternTypes() const
Definition WsfScenario.hpp:249
const std::string & GetClassificationString() const
Definition WsfScenario.hpp:322
long int mInitialSeed
Definition WsfScenario.hpp:447
WsfMoverTypes & GetMoverTypes() const
Definition WsfScenario.hpp:264
WsfFilterTypes & GetFilterTypes() const
Definition WsfScenario.hpp:257
WsfRouteTypes * mRouteTypesPtr
Definition WsfScenario.hpp:485
WsfTrackReportingStrategyTypes * mTrackReportingStrategyTypesPtr
Definition WsfScenario.hpp:493
T * FindTypeT(const std::string &aTypeName)
Definition WsfScenario.hpp:211
UtScriptEnvironment & GetScriptEnvironment() const
Definition WsfScenario.hpp:181
bool mLoadIsComplete
Definition WsfScenario.hpp:401
std::string mSimulationName
Definition WsfScenario.hpp:431
WsfAntennaPatternTypes * mAntennaPatternTypesPtr
Definition WsfScenario.hpp:463
unsigned int GetRunNumberIncrement() const
Get the increment between run numbers.
Definition WsfScenario.hpp:310
WsfSensorErrorModelTypes * mSensorErrorModelTypesPtr
Definition WsfScenario.hpp:488
ComponentFactoryList mComponentFactoryList
This list of component factories attached to the scenario.
Definition WsfScenario.hpp:512
static WsfScenario & FromInput(UtInput &aInput)
Definition WsfScenario.cpp:1294
WsfRadarSignatureTypes & GetRadarSignatureTypes() const
Definition WsfScenario.hpp:271
wsf::comm::Types & GetCommTypes() const
Definition WsfScenario.hpp:252
WsfStringTable mStringTable
Definition WsfScenario.hpp:405
UtScriptTypes * GetScriptTypes() const
Definition WsfScenario.hpp:151
wsf::TerrainInterface * GetTerrainInterface() const
Valid only after WsfScenario::CompleteLoad().
Definition WsfScenario.hpp:169
WsfNoiseCloudTypes & GetNoiseCloudTypes() const
Definition WsfScenario.hpp:266
std::unique_ptr< WsfMessageTable > mMessageTablePtr
Definition WsfScenario.hpp:412
WsfSensorTypes & GetSensorTypes() const
Definition WsfScenario.hpp:277
wsf::comm::router::Types & GetRouterTypes() const
Definition WsfScenario.hpp:274
bool mTestingForInputError
Definition WsfScenario.hpp:395
std::unique_ptr< WsfEnvironment > mEnvironmentPtr
Definition WsfScenario.hpp:410
std::map< std::string, WsfScenarioExtension * > ScenarioExtensionMap
Definition WsfScenario.hpp:113
std::map< std::string, WsfObjectTypeListBaseI * > mTypesListByKind
All of the type lists by type.
Definition WsfScenario.hpp:503
WsfMaskingPatternTypes * mMaskingPatternTypesPtr
Definition WsfScenario.hpp:476
bool mUseQuantitativeTrackQuality
Definition WsfScenario.hpp:421
WsfEM_AttenuationTypes & GetEM_AttenuationTypes() const
Definition WsfScenario.hpp:254
WsfThermalSystemComponentTypes & GetThermalSystemComponentTypes() const
Definition WsfScenario.hpp:279
WsfScriptManager * GetScriptManager() const
Definition WsfScenario.hpp:153
WsfPlatformTypes * mPlatformTypesPtr
Definition WsfScenario.hpp:482
WsfBehaviorTreeNodeTypes & GetBehaviorTreeNodeTypes() const
Definition WsfScenario.hpp:250
WsfCallbackTypes & GetCallbackTypes() const
Definition WsfScenario.hpp:251
std::unique_ptr< wsf::TerrainInterface > mTerrainInterfacePtr
Definition WsfScenario.hpp:414
WsfFilterTypes * mFilterTypesPtr
Definition WsfScenario.hpp:471
bool mExpectInputError
Definition WsfScenario.hpp:397
std::unique_ptr< WsfSimulationInput > mSimulationInputPtr
Definition WsfScenario.hpp:406
unsigned int mFinalRunNumber
The final run number to be executed.
Definition WsfScenario.hpp:439
WsfSimulationInput & GetSimulationInput() const
Definition WsfScenario.hpp:166
wsf::comm::ProtocolTypes & GetProtocolTypes() const
Definition WsfScenario.hpp:270
wsf::TrackExtrapolationStrategyTypes * mTrackExtrapolationStrategyTypesPtr
Definition WsfScenario.hpp:492
WsfIntersectMeshTypes * mIntersectMeshTypesPtr
Definition WsfScenario.hpp:475
WsfMaskingPatternTypes & GetMaskingPatternTypes() const
Definition WsfScenario.hpp:262
WsfAdvancedBehaviorTreeNodeTypes * mAdvancedBehaviorTreeNodeTypesPtr
Definition WsfScenario.hpp:461
WsfFusionStrategyTypes & GetFusionTypes() const
Definition WsfScenario.hpp:259
bool mExtensionsInOrder
Definition WsfScenario.hpp:398
WsfAeroTypes & GetAeroTypes() const
Definition WsfScenario.hpp:248
std::unique_ptr< WsfExtensionList > mExtensionListPtr
The list of scenario extensions attached to the scenario.
Definition WsfScenario.hpp:509
UtAtmosphere & GetAtmosphere() const
Definition WsfScenario.hpp:162
WsfProcessorTypes * mProcessorTypesPtr
Definition WsfScenario.hpp:483
WsfAdvancedBehaviorTreeNodeTypes & GetAdvancedBehaviorTreeNodeTypes() const
Definition WsfScenario.hpp:244
int mOpenConditionalBlocks
Definition WsfScenario.hpp:404
unsigned int GetInitalRunNumber() const
Get the run number of the initial iteration.
Definition WsfScenario.hpp:304
wsf::comm::router::ProtocolTypes * mRouterProtocolTypesPtr
Definition WsfScenario.hpp:487
std::vector< std::unique_ptr< WsfPlatform > > mInputPlatforms
The list of input platforms.
Definition WsfScenario.hpp:454
WsfPathFinderTypes * mPathFinderTypesPtr
Definition WsfScenario.hpp:481
WsfThermalSystemComponentTypes * mThermalSystemComponentTypesPtr
Definition WsfScenario.hpp:495
wsf::comm::ProtocolTypes * mCommProtocolTypesPtr
Definition WsfScenario.hpp:484
WsfZoneTypes * mZoneTypesPtr
Definition WsfScenario.hpp:497
bool mHadUnexpectedError
Definition WsfScenario.hpp:394
ClassificationLevel mClassification
Definition WsfScenario.hpp:426
void SetInitialSeed(long int aInitialSeed)
Definition WsfScenario.hpp:319
const WsfMessageTable * GetMessageTable() const
Definition WsfScenario.hpp:160
friend class ErrorTracker
Definition WsfScenario.hpp:391
std::set< std::string > mTrigraphsSet
Definition WsfScenario.hpp:427
WsfMoverTypes * mMoverTypesPtr
Definition WsfScenario.hpp:478
unsigned int mRunNumberIncrement
The increment between the run numbers.
Definition WsfScenario.hpp:442
T * CloneTypeT(WsfStringId aTypeName) const
Definition WsfScenario.hpp:222
wsf::comm::NetworkTypes * mNetworkTypesPtr
Definition WsfScenario.hpp:479
const WsfSignatureList & GetSignatureListPrototype() const
Definition WsfScenario.hpp:348
WsfObject * FindType(const std::string &aTypeKind, WsfStringId aTypeName) const
Definition WsfScenario.cpp:776
WsfEnvironment & GetEnvironment() const
Definition WsfScenario.hpp:157
WsfFuelTypes * mFuelTypesPtr
Definition WsfScenario.hpp:472
unsigned int mInitialRunNumber
Monte Carlo.
Definition WsfScenario.hpp:436
WsfIntersectMeshTypes & GetIntersectMeshTypes() const
Definition WsfScenario.hpp:261
const std::vector< std::string > & GetInputFiles() const
Returns the input files given to LoadFromFile().
Definition WsfScenario.hpp:177
WsfRouteNetworkTypes & GetRouteNetworkTypes() const
Definition WsfScenario.hpp:273
bool ExpectInputError() const
Returns true in an error is expected.
Definition WsfScenario.hpp:361
std::unique_ptr< UtScriptEnvironment > mScriptEnvironmentPtr
Definition WsfScenario.hpp:408
bool ExpectError() const
Definition WsfScenario.hpp:379
WsfCallbackTypes * mCallbackTypesPtr
Definition WsfScenario.hpp:465
WsfRouteNetworkTypes * mRouteNetworkTypesPtr
Definition WsfScenario.hpp:491
std::vector< std::unique_ptr< WsfObjectTypeListBaseI > > mAllTypeLists
All of the type lists in order of creation.
Definition WsfScenario.hpp:501
WsfScenario & operator=(const WsfScenario &)=delete
wsf::comm::Types * mCommTypesPtr
Definition WsfScenario.hpp:466
size_t mLevelIndex
Definition WsfScenario.hpp:429
WsfIFF_Manager * GetIFF_Manager() const
Returns the IFF manager. The IFF manager is shared by multiple simulations, and must be const after C...
Definition WsfScenario.hpp:172
std::unique_ptr< UtAtmosphere > mAtmospherePtr
Definition WsfScenario.hpp:411
std::function< bool(UtInput &)> InputFunction
Definition WsfScenario.hpp:115
std::unique_ptr< WsfScriptManager > mScriptManagerPtr
Definition WsfScenario.hpp:409
WsfAeroTypes * mAeroTypesPtr
Definition WsfScenario.hpp:462
std::unique_ptr< WsfSignatureList > mSignatureListPrototypePtr
Pointer to the prototype signature list.
Definition WsfScenario.hpp:506
WsfRouteTypes & GetRouteTypes() const
Definition WsfScenario.hpp:272
WsfVisualPartTypes & GetVisualPartTypes() const
Definition WsfScenario.hpp:285
std::unique_ptr< WsfPathFinderList > mPathFinderListPtr
Definition WsfScenario.hpp:413
WsfPathFinderTypes & GetPathFinderTypes() const
Definition WsfScenario.hpp:267
bool HadUnexpectedError() const
Definition WsfScenario.hpp:359
const UtColor & GetClassificationColor() const
Definition WsfScenario.hpp:323
WsfEM_PropagationTypes * mEM_PropagationTypesPtr
Definition WsfScenario.hpp:470
UtInput & GetInput() const
Return the input object used to read scenario inputs.
Definition WsfScenario.hpp:184
WsfThermalSystemTypes & GetThermalSystemTypes() const
Definition WsfScenario.hpp:278
std::vector< WsfObjectTypeListBaseI * > GetTypeLists() const
Definition WsfScenario.hpp:232
WsfApplication * mApplicationPtr
Definition WsfScenario.hpp:393
WsfEM_PropagationTypes & GetEM_PropagationTypes() const
Definition WsfScenario.hpp:256
WsfTrackReportingStrategyTypes & GetTrackReportingStrategyTypes() const
Definition WsfScenario.hpp:284
WsfZoneTypes & GetZoneTypes() const
Definition WsfScenario.hpp:286
Definition WsfScriptContext.hpp:71
Provides the overall management of the scripting capability within the application and scenarios.
Definition WsfScriptManager.hpp:31
Definition WsfSensorErrorModelTypes.hpp:25
Definition WsfSensorTypes.hpp:19
Definition WsfSignatureList.hpp:36
Definition WsfSimulationInput.hpp:30
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfStringTable.hpp:18
Definition WsfSystemLog.hpp:28
Definition WsfThermalSystem.hpp:179
Definition WsfThermalSystemTypes.hpp:21
Definition WsfTrackReportingStrategyTypes.hpp:19
Definition WsfVisualPartTypes.hpp:19
Definition WsfZoneTypes.hpp:19
Manages interface to terrain for a set of WsfTerrain objects.
Definition WsfTerrain.hpp:43
Definition WsfTrackExtrapolationStrategyTypes.hpp:28
Definition WsfCommNetworkTypes.hpp:25
Definition WsfCommProtocolTypes.hpp:26
Definition WsfCommTypes.hpp:24
Definition WsfCommMediumTypes.hpp:40
Definition WsfCommRouterProtocolTypes.hpp:29
Definition WsfCommRouterTypes.hpp:28
Definition WsfCommMedium.cpp:31
Definition WsfComm.hpp:36
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved