12#ifndef WSFMODELIST_HPP
13#define WSFMODELIST_HPP
15#include "wsf_export.h"
66 size_t GetModeByName(
WsfStringId aModeNameId)
const;
73 virtual bool Initialize();
75 virtual bool ProcessInput(UtInput& aInput);
77 virtual void Deselect(
double aSimTime,
WsfStringId aModeNameId);
79 virtual void Select(
double aSimTime,
WsfStringId aModeNameId);
81 virtual void TurnOff(
double aSimTime);
83 virtual void TurnOn(
double aSimTime);
109 for (
typename std::vector<WsfMode*>::size_type i = 0; i <
mModeList.size(); ++i)
111 T modePtr =
dynamic_cast<T
>(
mModeList[i]);
112 assert(modePtr !=
nullptr);
113 aModeList[i] = modePtr;
118 void DeselectP(
double aSimTime,
size_t aModeIndex);
119 void SelectP(
double aSimTime,
size_t aModeIndex);
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
void GetDerivedModeList(std::vector< T > &aModeList) const
Definition WsfModeList.hpp:106
bool mModeChangeScheduled
The last successful mode selection time.
Definition WsfModeList.hpp:145
double mModeSelectDelay
Definition WsfModeList.hpp:143
WsfStringId mInitialModeNameId
Definition WsfModeList.hpp:134
std::vector< WsfMode * > ModeList
Definition WsfModeList.hpp:33
WsfMode * GetModeTemplate() const
Returns the mode that is the 'mode_template' or the implicit mode.
Definition WsfModeList.hpp:71
WsfMode * mTemplatePtr
The mode that is the 'mode_template' or the implicit mode.
Definition WsfModeList.hpp:124
bool mCanMultiSelect
Definition WsfModeList.hpp:131
bool mIsTurnedOn
'true' if the system is currently turned on.
Definition WsfModeList.hpp:138
virtual void SetModeChangeScheduled(bool aModeChangeScheduled)
Definition WsfModeList.hpp:95
size_t GetModeCount() const
Definition WsfModeList.hpp:57
WsfModeList & operator=(const WsfModeList &)=delete
bool mIsInitialized
'true' if the system has been initialized
Definition WsfModeList.hpp:136
size_t mCurrentModeIndex
The vector index of the currently selected mode.
Definition WsfModeList.hpp:140
WsfMode * GetModeEntry(size_t aModeIndex) const
Definition WsfModeList.hpp:64
virtual bool IsModeChangeScheduled() const
Definition WsfModeList.hpp:91
WsfModeList(WsfMode *aTemplatePtr)
Definition WsfModeList.cpp:39
bool CanMultiSelect() const
Definition WsfModeList.hpp:47
virtual void AddMode(WsfMode *aModePtr)
Definition WsfModeList.cpp:116
bool mExplicitModeUsed
'true' if 'mode' was or 'mode_template' has been used.
Definition WsfModeList.hpp:126
bool mImplicitModeUsed
'true' if a mode was implicitly defined without using 'mode' or 'mode_template'.
Definition WsfModeList.hpp:128
std::vector< WsfMode * > mModeList
This list of modes.
Definition WsfModeList.hpp:122
static WsfStringId GetDefaultModeNameId()
Return the string id of the 'default' mode name.
Definition WsfModeList.cpp:107
size_t GetCurrentMode() const
Definition WsfModeList.hpp:53
virtual double GetModeSelectDelay()
Definition WsfModeList.hpp:87
Definition WsfMode.hpp:32