WSF
WsfP6DOF_TypeManager.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// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef WSFP6DOF_TYPEMANAGER_HPP
16#define WSFP6DOF_TYPEMANAGER_HPP
17
18#include "P6DofTypeManager.hpp"
20
21class UtInput;
22class WsfSimulation;
23
25{
26public:
28 ~WsfP6DOF_TypeManager() override;
29
30 // The extension has been added to the scenario. GetScenario() is now callable.
31 // This adds "WSF_P6DOF_MOVER" (WsfP6DOF_Mover), "WSF_P6DOF_GUIDANCE_COMPUTER"
32 // (WsfP6DOF_GuidanceComputer), "WSF_P6DOF_FUEL" (WsfP6DOF_Fuel), and
33 // "WSF_P6DOF_EXPLICIT_WEAPON" (WsfP6DOF_ExplicitWeapon). It also registers
34 // ScriptTypes for WsfScriptP6DOF_MoverClass (for WsfP6DOF_Mover).
35 void AddedToScenario() override;
36
37 // This reads "p6dof_object_types" input blocks
38 bool ProcessInput(UtInput& aInput) override;
39
40 // This calls WsfSimulation::RegisterExtension() every time a new simulation is
41 // created, giving it a new P6DOF object manager.
42 void SimulationCreated(WsfSimulation& aSimulation) override;
43
44 // This returns the platform type name for the specified P6DOF vehicle type. If no match is
45 // found, an empty string will be returned.
46 std::string GetP6DofVehiclePlatformTypeMatch(const std::string& aNameP6DofVehicleType) const;
47
48private:
49 // This adds the specified P6DOF vehicle type and platform type matching to the master list,
50 // as long as the vehicle type name is unique.
51 void AddP6DofVehiclePlatformTypeMatch(const std::string& aNameP6DofVehicleType, const std::string& aNamePlatformType);
52
53 struct ObjectPlatformMatch
54 {
55 std::string nameP6DofVehicleType;
56 std::string namePlatformType;
57 };
58
59 // This provides a list of P6DOF vehicle to Platform matches
60 std::list<ObjectPlatformMatch> mObjectPlatformMatchList;
61};
62
63#endif
P6DofTypeManager()
Definition P6DofTypeManager.cpp:38
void AddedToScenario() override
Definition WsfP6DOF_TypeManager.cpp:57
~WsfP6DOF_TypeManager() override
Definition WsfP6DOF_TypeManager.cpp:55
std::string GetP6DofVehiclePlatformTypeMatch(const std::string &aNameP6DofVehicleType) const
Definition WsfP6DOF_TypeManager.cpp:143
void SimulationCreated(WsfSimulation &aSimulation) override
Definition WsfP6DOF_TypeManager.cpp:110
bool ProcessInput(UtInput &aInput) override
Definition WsfP6DOF_TypeManager.cpp:74
WsfP6DOF_TypeManager()
Definition WsfP6DOF_TypeManager.cpp:48
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved