WSF
WsfMultiresolutionWrapperMetaModel< DerivedComponent > Class Template Referencefinal

A class template for defining multiresolution containers for WsfPlatformComponent types. More...

#include <WsfMultiresolutionWrapperMetaModel.hpp>

Inheritance diagram for WsfMultiresolutionWrapperMetaModel< DerivedComponent >:
Collaboration diagram for WsfMultiresolutionWrapperMetaModel< DerivedComponent >:

Public Member Functions

 WsfMultiresolutionWrapperMetaModel ()=default
 ~WsfMultiresolutionWrapperMetaModel () noexcept override=default
WsfMultiresolutionWrapperMetaModeloperator= (const WsfMultiresolutionWrapperMetaModel &aSrc)=delete
 WsfMultiresolutionWrapperMetaModel (WsfMultiresolutionWrapperMetaModel &&)=delete
WsfMultiresolutionWrapperMetaModeloperator= (WsfMultiresolutionWrapperMetaModel &&aSrc)=delete
Public Member Functions inherited from WsfMultiresolutionPlatformComponent< DerivedComponent >
 WsfMultiresolutionPlatformComponent ()
bool PreInitialize (double aSimTime) override
WsfStringId GetComponentName () const override
const int * GetComponentRoles () const override
void * QueryInterface (int aRole) override
Public Member Functions inherited from WsfComponentT< WsfPlatform >
 WsfComponentT ()
 WsfComponentT (const WsfComponentT &) noexcept
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
virtual void ComponentParentChanged (ParentType *aParentPtr)
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
virtual int GetComponentInitializationOrder () const
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
virtual bool Initialize (double aSimTime)
virtual bool Initialize2 (double aSimTime)
virtual void PreInput ()
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Framework methods.

WsfComponentCloneComponent () const override
WsfObjectClone () const override
bool ProcessInput (UtInput &aInput) override

Additional Inherited Members

Public Types inherited from WsfComponentT< WsfPlatform >
typedef WsfPlatform ParentType
 This is needed to support the WsfComponentList template.
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
static WsfMultiresolutionPlatformComponent< DerivedComponent > * Find (const WsfPlatform &aParent)
double GetFidelity () const
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Detailed Description

template<typename DerivedComponent>
class WsfMultiresolutionWrapperMetaModel< DerivedComponent >

A class template for defining multiresolution containers for WsfPlatformComponent types.

The purpose of this class is to define a multiresolution container for a WsfPlatformComponent. The assumptions are that the container defines a family of models, each assigned non-overlapping fidelity ranges (which are values between 0 and 1 inclusive). These fidelity ranges define the range over which the model should be used when a fidelity value is given, currently only defined on this container, though in the future it may be definable at other parts of a scenario.

More specifically, the container can consist of one or more instantiations of its specific WsfPlatformComponent (such as WsfMover) that are chosen from during initialization. The choice is made by assigning each contained WsfPlatformComponent a non-overlapping fidelity range. The container itself then has a fidelity and the model whose range contains the container's fidelity is used as the containing platform's model. There is also an input available for users to forward input commands to all models.

Template Parameters
DerivedComponentA type deriving from WsfPlatformComponent
Note
Future enhancement may enable specifying fidelity at different input scope(s) than directly in the container. In other words, the fidelity parameter will be specifiable elsewhere so that specifying the model fidelity to use is simpler.

Constructor & Destructor Documentation

◆ WsfMultiresolutionWrapperMetaModel() [1/2]

template<typename DerivedComponent>
WsfMultiresolutionWrapperMetaModel< DerivedComponent >::WsfMultiresolutionWrapperMetaModel ( )
default

◆ ~WsfMultiresolutionWrapperMetaModel()

template<typename DerivedComponent>
WsfMultiresolutionWrapperMetaModel< DerivedComponent >::~WsfMultiresolutionWrapperMetaModel ( )
overridedefaultnoexcept

◆ WsfMultiresolutionWrapperMetaModel() [2/2]

template<typename DerivedComponent>
WsfMultiresolutionWrapperMetaModel< DerivedComponent >::WsfMultiresolutionWrapperMetaModel ( WsfMultiresolutionWrapperMetaModel< DerivedComponent > && )
delete

Member Function Documentation

◆ Clone()

template<typename DerivedComponent>
WsfObject * WsfMultiresolutionWrapperMetaModel< DerivedComponent >::Clone ( ) const
overridevirtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfObject.

References WsfMultiresolutionWrapperMetaModel(), and WsfObject::WsfObject().

Referenced by operator=().

◆ CloneComponent()

template<typename DerivedComponent>
WsfComponent * WsfMultiresolutionWrapperMetaModel< DerivedComponent >::CloneComponent ( ) const
overridevirtual

Clones a component. May return null if component does not support clone.

Implements WsfComponent.

References WsfMultiresolutionWrapperMetaModel().

Referenced by operator=().

◆ operator=() [1/2]

template<typename DerivedComponent>
WsfMultiresolutionWrapperMetaModel & WsfMultiresolutionWrapperMetaModel< DerivedComponent >::operator= ( const WsfMultiresolutionWrapperMetaModel< DerivedComponent > & aSrc)
delete

◆ operator=() [2/2]

template<typename DerivedComponent>
WsfMultiresolutionWrapperMetaModel & WsfMultiresolutionWrapperMetaModel< DerivedComponent >::operator= ( WsfMultiresolutionWrapperMetaModel< DerivedComponent > && aSrc)
delete

◆ ProcessInput()

template<typename DerivedComponent>
bool WsfMultiresolutionWrapperMetaModel< DerivedComponent >::ProcessInput ( UtInput & aInput)
overridevirtual

Evaluate the current input command and determine if it is one processed by the component. The component should get the current command from the input stream and determine if it is one that it recognizes. If it does not recognize the command then it should leave the command in the input stream and return false. If it does recognize the command then it should process the command and return true. If invalid arguments are encountered then it should throw an exception.

Parameters
aInputThe input stream.
Returns
true if the current command was recognized (and processed), or false if the command was not recognized.
Exceptions
UtInput::ExceptionBaseif an invalid input was encountered.

Reimplemented from WsfMultiresolutionPlatformComponent< DerivedComponent >.

References WsfMultiresolutionPlatformComponent< DerivedComponent >::ProcessInput().

Referenced by operator=().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved