WSF
WsfSensorErrorModelTypes.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 2016 Infoscitex, a DCS 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 WSFSENSORERRORMODELTYPES_HPP
16#define WSFSENSORERRORMODELTYPES_HPP
17
18#include <memory>
19#include <vector>
20
21#include "WsfObjectTypeList.hpp"
23
24class WsfSensorErrorModelTypes : public WsfObjectTypeList<wsf::SensorErrorModelBase>
25{
26public:
28
30 static WSF_EXPORT const WsfSensorErrorModelTypes& Get(const WsfScenario& aScenario);
32
33 using FactoryPtr = std::function<std::unique_ptr<wsf::SensorErrorModelBase>(const std::string&)>;
34
35 explicit WsfSensorErrorModelTypes(WsfScenario& aScenario);
36
37 LoadResult LoadType(UtInput& aInput) override;
38
39 WSF_EXPORT void AddObjectFactory(FactoryPtr aFactoryPtr);
40
41 WSF_EXPORT bool LoadInstance(UtInput& aInput, std::unique_ptr<wsf::SensorErrorModelBase>& aSensorErrorModelPtr);
42
43private:
44 std::unique_ptr<wsf::SensorErrorModelBase> CreateInstance(const std::string& aTypeName);
45
46 // The list of object factories.
47 using ObjectFactoryList = std::vector<FactoryPtr>;
48
49 ObjectFactoryList mObjectFactoryList;
50 int mUniqueId;
51};
52
53#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfObjectTypeList(WsfScenario &aScenario, unsigned int aFlags, const std::string &aBlockName)
Definition WsfObjectTypeList.hpp:76
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
LoadResult LoadType(UtInput &aInput) override
Definition WsfSensorErrorModelTypes.cpp:133
WsfSensorErrorModelTypes(WsfScenario &aScenario)
Definition WsfSensorErrorModelTypes.cpp:54
std::function< std::unique_ptr< wsf::SensorErrorModelBase >(const std::string &)> FactoryPtr
Definition WsfSensorErrorModelTypes.hpp:33
WSF_EXPORT bool LoadInstance(UtInput &aInput, std::unique_ptr< wsf::SensorErrorModelBase > &aSensorErrorModelPtr)
Definition WsfSensorErrorModelTypes.cpp:77
static WSF_EXPORT WsfSensorErrorModelTypes & Get(WsfScenario &aScenario)
Return a modifiable reference to the type list associated with the specified scenario.
Definition WsfSensorErrorModelTypes.cpp:41
WSF_EXPORT void AddObjectFactory(FactoryPtr aFactoryPtr)
Definition WsfSensorErrorModelTypes.cpp:67
Copyrights Multiple, All Rights Reserved