WSF
InputConfig.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
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// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef INPUTCONFIG_HPP
16#define INPUTCONFIG_HPP
17
18#include <list>
19
20#include "OutputConfig.hpp"
21#include "OutputRate.hpp"
22#include "RunConfig.hpp"
23#include "Simulation.hpp"
24#include "Variables.hpp"
26
27namespace engage
28{
29
30class Task;
31
33{
34public:
36 ~InputConfig() override;
37
38 static InputConfig& FindExtension(WsfScenario& aScenario);
39
41
42 bool ProcessInput(UtInput& aInput) override;
43 bool Complete() override;
44 void SimulationCreated(WsfSimulation& aSimulation) override;
46
47 const OutputRate* GetOutputRate(const std::string& aTableName) const;
48
49 int GetThreadCount() const { return mThreadCount; }
50 int GetTaskCount() const { return mTaskCount; }
51
52 Task MakeTask(int aTaskIndex) const;
53
54 typedef std::list<RunConfig> RunList;
56 const RunList& GetRunList() const { return mRunList; }
57
58private:
59 typedef std::map<std::string, OutputConfig> OutputTemplates;
60 typedef std::map<std::string, OutputRate> OutputRates;
61
62 int mThreadCount;
63 int mTaskCount;
64
65 Variables mVariables;
66 OutputTemplates mOutputTemplates;
67 OutputRates mOutputRates;
68 RunList mRunList;
69};
70
71} // namespace engage
72
73#endif
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
friend class WsfScenario
Definition WsfScenarioExtension.hpp:39
The main controller for a simulation.
Definition WsfSimulation.hpp:109
InputConfig()
Definition InputConfig.cpp:31
static InputConfig & FindExtension(WsfScenario &aScenario)
Given a scenario, find the input data extension.
Definition InputConfig.cpp:53
bool ProcessInput(UtInput &aInput) override
Definition InputConfig.cpp:64
bool Complete() override
Definition InputConfig.cpp:114
~InputConfig() override
Definition InputConfig.cpp:48
const OutputRate * GetOutputRate(const std::string &aTableName) const
Definition InputConfig.cpp:148
void SimulationCreated(WsfSimulation &aSimulation) override
Definition InputConfig.cpp:142
int GetTaskCount() const
Definition InputConfig.hpp:50
Task MakeTask(int aTaskIndex) const
Create a 'Task' object for the specified task index.
Definition InputConfig.cpp:161
int GetThreadCount() const
Definition InputConfig.hpp:49
std::list< RunConfig > RunList
Definition InputConfig.hpp:54
const RunList & GetRunList() const
Return a reference to the list of runs to be performed.
Definition InputConfig.hpp:56
Defines a table of simulation output rate as a function of simulation time.
Definition OutputRate.hpp:28
Definition Task.hpp:47
This represents all of the variables the user can select for writing.
Definition Variables.hpp:29
Definition ApplicationExtension.cpp:26
Copyrights Multiple, All Rights Reserved