13 #include <vlutil/vlExceptions.h>
38 #include <boost/function.hpp>
47 class DtVrfSelectionFilter;
55 : makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedEntityState>(
56 de, makVrv::DtSimEntryUpdater::NoUpdates)
69 makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedBaseState>(de, makVrv::DtSimEntryUpdater::NoUpdates)
95 makVrv::DtStateViewCollection<
DtIffStateData>(de, makVrv::DtSimEntryUpdater::NoUpdates)
156 makVrv::DtStateViewCollection<
DtExtendedStateData>(de, makVrv::DtSimEntryUpdater::NoUpdates)
176 makVrv::DtStateViewCollection<
DtSpotReportState>(de, makVrv::DtSimEntryUpdater::AnyUpdates)
230 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const makVrv::DtUniqueID&
id);
234 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const makVrv::DtUniqueID&
id);
238 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const std::string& name);
242 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const std::string& name);
247 template<
typename T_ObjectDataInterfaceType>
250 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(
id));
256 template<
typename T_ObjectDataInterfaceType>
257 DtBoost::shared_ptr<T_ObjectDataInterfaceType> lookupAndCastSpotReportData(
const makVrv::DtUniqueID&
id)
259 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(
id));
265 template<
typename T_ObjectDataInterfaceType>
266 DtBoost::shared_ptr<T_ObjectDataInterfaceType> lookupAndCastObjectData(
const std::string& name)
268 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(name));
274 template<
typename T_ObjectDataInterfaceType>
275 DtBoost::shared_ptr<T_ObjectDataInterfaceType> lookupAndCastSpotReportData(
const std::string& name)
277 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(name));
290 const std::string& markingText);
303 if (!mySpotReportStateViewCollection->hasStateView(
id))
309 (mySpotReportStateViewCollection->findStateView(
id));
317 return mySimulatedEntityStateView;
322 return mySimulatedBaseStateViewCollection;
327 return myObjectDataStateViewCollection;
332 return myEnvironmentStateViewCollection;
337 return myExtendedStateDataViewCollection;
342 return myWeatherStateViewCollection;
347 return myIffStateDataViewCollection;
352 return myPropulsionNoiseStateDataViewCollection;
357 return myEmitterSystemStateViewCollection;
362 return myActiveSonarStateViewCollection;
367 return mySpotReportStateViewCollection;
372 return myAggregateStateViewCollection;
387 const std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>&
388 stealthStates()
const
390 return myStealthStates;
405 typedef std::vector<makVrv::DtSimEntryUpdater::UpdateRate>
UpdateRates;
423 virtual void waiting();
438 virtual void signalWhenAllObjectsDiscovered(
const std::map<short, int>&);
441 boost::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateAdded;
442 boost::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateRemoved;
468 typedef boost::unordered_map<makVrv::DtBaseStateView*, UpdateRates>
UpdateRateMap;
494 std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>
myStealthStates;
500 makVrv::DtSimEntry::SimStateVector::const_iterator pos = entry->
simStates().begin();
501 makVrv::DtSimEntry::SimStateVector::const_iterator endPos = entry->
simStates().end();
502 for(; pos != endPos; ++pos)
504 T tState =
dynamic_cast<T
>(*pos);