12#ifndef WSF_MULTIRESOLUTION_PLATFORM_COMPONENT_HPP
13#define WSF_MULTIRESOLUTION_PLATFORM_COMPONENT_HPP
19#include "UtCloneablePtr.hpp"
20#include "UtOptional.hpp"
38template<
typename DerivedComponent>
41 static_assert(std::is_base_of<WsfPlatformComponent, DerivedComponent>::value ||
42 std::is_base_of<WsfSignature, DerivedComponent>::value,
43 "WsfMultiresolutionPlatformComponent must be instantiated with a type derived from "
44 "WsfPlatformComponent or WsfSignature");
67 virtual std::unique_ptr<DerivedComponent>
GetModel()
const = 0;
73 double mFidelity = 1.0;
75 static constexpr int cMULTIRESOLUTION_COMPONENT_ROLE =
81namespace multiresolution
84template<
typename DerivedComponent>
90 assert(derivedComponentList);
91 return *derivedComponentList;
WsfComponentT< WsfPlatform > WsfPlatformComponent
A convenient typedef for a platform component.
Definition WsfComponent.hpp:171
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
The interface an object type list must support.
Definition WsfObjectTypeListBase.hpp:38
Definition WsfObjectTypeList.hpp:42
WsfStringId GetNameId() const
Definition WsfObject.hpp:66
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
static WsfScenario & FromInput(UtInput &aInput)
Definition WsfScenario.cpp:1294
WsfObjectTypeListBaseI * GetTypes(const std::string &aTypesKind) const
Returns the type list of the given name, or null if it does not exist.
Definition WsfScenario.cpp:1045
constexpr const char * BaseComponentName()
Definition ComponentNameHelper.hpp:103
WsfObjectTypeList< DerivedComponent > & GetObjectTypeList(UtInput &aInput)
Definition WsfMultiresolutionPlatformComponent.hpp:85
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfComponentRoles.hpp:60