12#ifndef WSFSIXDOFTYPEMANAGER_HPP
13#define WSFSIXDOFTYPEMANAGER_HPP
15#include "wsf_six_dof_export.h"
17#include <unordered_map>
94 return cDefaultPointMassSixDOF_IntegratorName;
100 return cDefaultRigidBodySixDOF_IntegratorName;
121 struct ObjectPlatformMatch
123 std::string nameVehicleType;
124 std::string namePlatformType;
128 std::list<ObjectPlatformMatch> mObjectPlatformMatchList;
130 std::unordered_map<std::string, UtCloneablePtr<Mover>> mObjectTypeMap;
131 std::unordered_map<std::string, UtCloneablePtr<ThrustProducerObject>> mThrustProducerTypeMap;
132 std::unordered_map<std::string, UtCloneablePtr<Integrator>> mIntegratorMap;
134 const static std::string cDefaultPointMassSixDOF_IntegratorName;
135 const static std::string cDefaultRigidBodySixDOF_IntegratorName;
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfSixDOF_Integrator.hpp:31
This is a base class for detailed air movers. This umbrella can cover RB6 or PM6 models.
Definition WsfSixDOF_Mover.hpp:58
Definition WsfSixDOF_ThrustProducerObject.hpp:35
std::unique_ptr< Mover > VehicleFactory(const Mover *aSubObjectType) const
Definition WsfSixDOF_TypeManager.cpp:383
bool RegisterThrustProducerObjectType(std::unique_ptr< ThrustProducerObject > aObjectType)
Definition WsfSixDOF_TypeManager.cpp:541
size_t GetNumberOfObjectTypesInList() const
Definition WsfSixDOF_TypeManager.hpp:107
bool ObjectTypeExists(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:526
bool ProcessSubObjectInput(UtInput &aInput, std::list< std::unique_ptr< Mover > > &aSubObjectList)
Definition WsfSixDOF_TypeManager.cpp:155
std::string GetVehiclePlatformTypeMatch(const std::string &aNameVehicleType) const
Definition WsfSixDOF_TypeManager.cpp:605
const ThrustProducerObject * GetThrustProducerObjectType(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:562
bool RegisterObjectType(std::unique_ptr< Mover > aObjectTypePtr)
Definition WsfSixDOF_TypeManager.cpp:505
const Mover * GetObjectTypeByName(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:552
Integrator * GetIntegratorByName(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:487
bool ObjectTypeNameIsUnique(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:531
bool ThrustProducerObjectTypeExists(const std::string &aTypeName) const
Definition WsfSixDOF_TypeManager.cpp:536
bool ProcessInput(UtInput &aInput) override
Definition WsfSixDOF_TypeManager.cpp:67
void SimulationCreated(WsfSimulation &aSimulation) override
Definition WsfSixDOF_TypeManager.cpp:572
void SetIntegrators(const std::string &aFilename)
Definition WsfSixDOF_TypeManager.cpp:457
void UnregisterObjectType(const std::string &aTypeName)
Definition WsfSixDOF_TypeManager.cpp:517
const std::string GetDefaultRigidBodySixDOF_IntegratorName() const
Definition WsfSixDOF_TypeManager.hpp:98
void AddVehiclePlatformTypeMatch(const std::string &aNameVehicleType, const std::string &aNamePlatformType)
Definition WsfSixDOF_TypeManager.cpp:579
void AddedToScenario() override
Definition WsfSixDOF_TypeManager.cpp:49
const std::string GetDefaultPointMassSixDOF_IntegratorName() const
Definition WsfSixDOF_TypeManager.hpp:92
bool ProcessIntegratorsInput(UtInput &aInput)
Definition WsfSixDOF_TypeManager.cpp:410
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32