13 #ifndef DtStateView_H_
14 #define DtStateView_H_
19 #include <boost/signal.hpp>
21 #include <vlutil/vlExceptions.h>
39 virtual void emitStateViewUpdated() = 0;
51 template<
class StateType>
76 const StateType&
state();
79 const StateType&
state()
const;
109 template<
class StateType>
118 DtTHROW_NEW(DtCorruptedState,
119 "Unable to create DtStateView from DtSimEntry."
120 "Use isCompatible() before creating DtStateView.");
124 template<
class StateType>
131 template<
class StateType>
134 mySimEntry.forceUpdate(
this);
137 template<
class StateType>
140 mySimEntry.setUpdateRate(rate,
this);
143 template<
class StateType>
146 signal_stateViewUpdated(
this);
149 template<
class StateType>
161 template <
class StateType>
164 DtSimEntry::SimStateVector::const_iterator pos = entry.
simStates().begin();
165 DtSimEntry::SimStateVector::const_iterator endPos = entry.
simStates().end();
166 for(; pos != endPos; ++pos)
168 StateType* tState =
dynamic_cast<StateType*
>(*pos);
177 template<
class StateType>
183 template<
class StateType>