12#ifndef P6DOFTYPEMANAGER_H
13#define P6DOFTYPEMANAGER_H
15#include "p6dof_export.h"
19#include <unordered_map>
44 bool ProcessInput(UtInput& aInput);
47 void SetIntegrators(
const std::string& aFilename);
52 bool RegisterObjectType(
const std::string& aTypeName,
P6DofVehicleType* aObjectTypePtr);
57 void UnregisterObjectType(
const std::string& aTypeName);
61 const P6DofVehicleType* GetObjectTypeByName(
const std::string& aTypeName)
const;
68 bool ObjectTypeExists(
const std::string& aTypeName)
const;
71 bool ObjectTypeNameIsUnique(
const std::string& aTypeName)
const;
74 std::string GetEngineBaseType(
const std::string& aTypeName)
const;
77 bool ThrustProducerObjectTypeExists(
const std::string& aTypeName)
const;
84 const P6DofIntegrator* GetIntegratorByName(
const std::string& aTypeName)
const;
99 bool ProcessIntegratorsInput(UtInput& aInput);
Definition P6DofIntegrator.hpp:28
Definition P6DofPilotObject.hpp:37
Definition P6DofScenario.hpp:25
Definition P6DofThrustProducerObject.hpp:34
size_t GetNumberOfObjectTypesInList() const
Definition P6DofTypeManager.hpp:80
P6DofTypeManager * Clone() const
Definition P6DofTypeManager.cpp:67
P6DofTypeManager()
Definition P6DofTypeManager.cpp:38
std::unordered_map< std::string, P6DofVehicleType * > mObjectTypeMap
Definition P6DofTypeManager.hpp:101
std::string GetDefaultIntegratorName() const
Definition P6DofTypeManager.hpp:87
static const std::string mDefaultIntegratorName
Definition P6DofTypeManager.hpp:108
P6DofTypeManager(const P6DofTypeManager &)
Definition P6DofTypeManager.hpp:91
std::unordered_map< std::string, P6DofThrustProducerObject * > mThrustProducerTypeMap
Definition P6DofTypeManager.hpp:102
P6DofScenario * mScenario
Definition P6DofTypeManager.hpp:104
P6DofTypeManager & operator=(const P6DofTypeManager &other)=delete
P6DofScenario * GetP6DofScenario() const
Definition P6DofTypeManager.hpp:41
std::unordered_map< std::string, P6DofIntegrator * > mIntegratorMap
Definition P6DofTypeManager.hpp:106
Definition P6DofVehicleType.hpp:41