13 #include <vlutil/vlExceptions.h>
33 #include <boost/function.hpp>
34 #include <boost/unordered_set.hpp>
43 class DtVrfSelectionFilter;
44 class DtVrfGuiOrbatManager;
46 class DtAggregateStateViewCollection;
47 class DtPropulsionNoiseStateDataViewCollection;
48 class DtIffStateDataViewCollection;
49 class DtEmitterSystemStateViewCollection;
50 class DtWeatherStateViewCollection;
51 class DtCloudLayerStateViewCollection;
52 class DtEnvironmentStateViewCollection;
53 class DtActiveSonarStateViewCollection;
54 class DtLaserDesignatorStateViewCollection;
69 operator DtString () {
return markingText(); };
81 : makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedEntityState>(
82 de, makVrv::DtSimEntryUpdater::NoUpdates)
95 makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedBaseState>(de, makVrv::DtSimEntryUpdater::NoUpdates)
153 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const makVrv::DtUniqueID&
id);
157 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const makVrv::DtUniqueID&
id);
161 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupVrfTDLData(
const makVrv::DtUniqueID&
id);
165 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const std::string& name);
169 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupVrfTDLData(
const std::string& uniqueIdentifier);
173 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupOrbatData(
const makVrv::DtUniqueID&
id);
177 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupOrbatData(
const std::string& name);
181 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const DtUUID&);
189 virtual DtVector centerOfMass(
const boost::unordered_set<DtUUID>& uuids,
190 bool ignoreEmbarked =
true);
195 template<
typename T_ObjectDataInterfaceType>
198 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(
id));
204 template<
typename T_ObjectDataInterfaceType>
207 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(
id));
213 template<
typename T_ObjectDataInterfaceType>
216 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupVrfTDLData(
id));
222 template<
typename T_ObjectDataInterfaceType>
225 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupOrbatData(
id));
231 template<
typename T_ObjectDataInterfaceType>
234 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(uuid));
240 template<
typename T_ObjectDataInterfaceType>
243 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(name));
249 template<
typename T_ObjectDataInterfaceType>
252 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupVrfTDLData(
id));
258 template<
typename T_ObjectDataInterfaceType>
261 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupOrbatData(name));
282 const std::string& markingText);
305 if (!mySpotReportStateViewCollection->hasStateView(
id))
311 (mySpotReportStateViewCollection->findStateView(
id));
318 if (!myVrfTDLDataStateViewCollection->hasStateView(
id))
324 (myVrfTDLDataStateViewCollection->findStateView(
id));
331 if (!myExternalDataStateViewCollection->hasStateView(
id))
337 (myExternalDataStateViewCollection->findStateView(
id));
344 if (!myOrbatStateViewCollection->hasStateView(
id))
350 (myOrbatStateViewCollection->findStateView(
id));
354 virtual void clearUUIDInformation();
361 return mySimulatedEntityStateView;
366 return mySimulatedBaseStateViewCollection;
371 return myObjectDataStateViewCollection;
376 return myEnvironmentStateViewCollection;
381 return myExtendedStateDataViewCollection;
386 return myWeatherStateViewCollection;
391 return myCloudLayerStateViewCollection;
396 return myIffStateDataViewCollection;
401 return myPropulsionNoiseStateDataViewCollection;
406 return myEmitterSystemStateViewCollection;
411 return myActiveSonarStateViewCollection;
416 return myLaserDesignatorStateViewCollection;
421 return mySpotReportStateViewCollection;
426 return myExternalDataStateViewCollection;
431 return myVrfTDLDataStateViewCollection;
436 return myOrbatStateViewCollection;
441 return myAggregateStateViewCollection;
446 return mySensorFieldOfViewStateViewCollection;
461 const std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>&
464 return myStealthStates;
482 typedef std::vector<makVrv::DtSimEntryUpdater::UpdateRate>
UpdateRates;
500 virtual void waiting();
514 virtual void uniqueEntityTypes(
makVrv::DtUniqueID, std::vector<DtEntityType>& entityTypes);
522 virtual const std::set<makVrv::DtUniqueID>& dIGuyIds();
526 virtual void signalWhenAllObjectsDiscovered(
const std::map<short, int>&);
536 boost::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateAdded;
537 boost::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateRemoved;
540 boost::signals2::signal<void (makVrv::DtUniqueID, const DtUUID& oldUUID, const DtUUID& newUUID)>
signal_uuidChanged;
547 boost::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*,
const std::string& newName)> signal_nameChanged;
549 const std::set<makVrv::DtUniqueID>& tacticalGraphicElements()
const;
554 virtual int maxMarkingTextLengthFor(
const DtEntityType&)
const;
558 virtual int defaultMaxMarkingTextLengthFunction(
const DtEntityType&);
561 virtual void uniqueEntityTypes(
makVrv::DtUniqueID, std::vector<DtEntityType>& entityTypes, std::set<std::string>& typesChecked);
595 typedef boost::unordered_map<makVrv::DtBaseStateView*, UpdateRates>
UpdateRateMap;
615 typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID>
UUIDToIdMap;
616 typedef boost::unordered_map<makVrv::DtUniqueID, DtUUID>
IdToUUIDMap;
623 std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>
myStealthStates;
638 makVrv::DtSimEntry::SimStateVector::const_iterator pos = entry->
simStates().begin();
639 makVrv::DtSimEntry::SimStateVector::const_iterator endPos = entry->
simStates().end();
640 for(; pos != endPos; ++pos)
642 T tState =
dynamic_cast<T
>(*pos);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
std::set< makVrv::DtUniqueID > myDIGuyIds
Definition: vrfStateViewCollectionManager.h:628
DtCloudLayerStateViewCollection * myCloudLayerStateViewCollection
Definition: vrfStateViewCollectionManager.h:585
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastObjectData(const DtUUID &uuid)
Definition: vrfStateViewCollectionManager.h:232
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfStateViewCollectionManager.h:612
std::vector< DtUniqueID > SceneObjectIdList
Public Type Definitions.
Definition: DtElementData.h:37
DtExternalDataStateViewCollection * externalDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:424
StateViewAddedOrRemovedSignal * removed
Definition: vrfStateViewCollectionManager.h:605
This is the protocol independent state of an entity.
Definition: DtEntityState.h:30
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastObjectData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:196
Definition: vrfSelectionFilters.h:29
DtIffStateDataViewCollection * myIffStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:583
DtExtendedStateDataViewCollection * myExtendedStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:582
Virtual base class.
Definition: DtVirtualBaseClass.h:22
StateViewAddedOrRemovedSignal * added
Definition: vrfStateViewCollectionManager.h:603
DT_DLL_VRFGUICORE std::vector< DtUUID > convertMarkingTextVectorToUUIDVector(const std::vector< DtString > &v)
Utility method to convert a vector of names to UUIDs.
std::map< makVrv::DtElementID, bool > myWaiting
Definition: vrfStateViewCollectionManager.h:613
DtExternalDataStateViewCollection * myExternalDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:578
UUIDToIdMap myUUIDToIdMap
Definition: vrfStateViewCollectionManager.h:618
Contains makVrv::DtStateViewCollection class.
DtStateViewMarkingTextProvider(makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *sv)
Definition: vrfStateViewCollectionManager.h:63
DtVrfSimulatedEntityStateViewCollection(makVrv::DtDe &de)
Definition: vrfStateViewCollectionManager.h:80
const SimStateVector & simStates() const
SimStateVector accessor.
DtCloudLayerStateViewCollection * cloudLayerStateViewCollection()
Definition: vrfStateViewCollectionManager.h:389
makVrv::DtVrlinkSensorFieldsOfViewStateViewCollection * mySensorFieldOfViewStateViewCollection
Definition: vrfStateViewCollectionManager.h:590
Collection of VRF IFF specific state data. Use this state view to get information for IFF data for an...
Definition: iffStateData.h:102
DT_DLL_VRFGUICORE std::vector< std::string > convertUUIDVectorToMarkingTextVector(const std::vector< DtUUID > &v)
Returns a vector of objectName() from UUID.
UpdateRateMap myUpdateRateMap
Definition: vrfStateViewCollectionManager.h:597
UpdateRate
Definition: DtSimEntryUpdater.h:34
DtVrfObjectDataStateViewCollection * objectDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:369
Marking text provider for state view.
Definition: vrfStateViewCollectionManager.h:60
boost::unordered_set< makVrv::DtUniqueID > myIdsToCheckForDIGuy
Definition: vrfStateViewCollectionManager.h:629
makVrv::DtDe & myDe
Definition: vrfStateViewCollectionManager.h:591
State view collection for orbat data.
Definition: orbatState.h:52
Collection of VRF propulsion noise specific state data.
Definition: propulsionNoiseStateData.h:98
DtVrlinkSimulatedBaseStateViewCollection * mySimulatedBaseStateViewCollection
Definition: vrfStateViewCollectionManager.h:574
DtAggregateStateViewCollection * myAggregateStateViewCollection
Definition: vrfStateViewCollectionManager.h:581
A DtBaseStateView is a the base class for all DtStateView's.
Definition: DtStateView.h:28
State view collection for external data.
Definition: externalDataState.h:98
std::string myStealthType
Definition: vrfStateViewCollectionManager.h:624
makVrv::DtVrlinkSensorFieldsOfViewStateViewCollection * sensorFieldOfViewStateViewCollection()
Definition: vrfStateViewCollectionManager.h:444
A DtSimEntry is a container of DtSimState's and represents the total state of an simulation object...
Definition: DtSimEntry.h:31
The DtVrfGuiOrbatManager is the interface to determine if items are in the orbat hierarchy or not...
Definition: vrfGuiOrbatManager.h:54
State view collection for aggregate data.
Definition: aggregateState.h:135
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastSpotReportData(const std::string &name)
Definition: vrfStateViewCollectionManager.h:241
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVrfSimulatedEntityStateViewCollection * mySimulatedEntityStateView
Definition: vrfStateViewCollectionManager.h:573
StateViewAddedOrRemovedCallbacks myStateViewAddedOrRemovedCallbacks
Definition: vrfStateViewCollectionManager.h:610
DtVrfTDLMessageDataStateViewCollection * myVrfTDLDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:579
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
makVrv::DtStateView< DtExternalDataState > * findExternalDataStateView(const makVrv::DtUniqueID &id)
Finds an external state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:329
std::map< short, int > myWaitingForDiscovery
Definition: vrfStateViewCollectionManager.h:593
DtVrfSimulatedEntityStateViewCollection * simulatedEntityStateViewCollection()
Definition: vrfStateViewCollectionManager.h:359
Collection of VRF active sonar specific state data. Use this state view to get information for laser ...
Definition: laserDesignatorState.h:63
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastSpotReportData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:205
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastOrbatData(const std::string &name)
Definition: vrfStateViewCollectionManager.h:259
std::vector< StateViewAddedOrRemovedStruct > StateViewAddedOrRemovedCallbacks
Definition: vrfStateViewCollectionManager.h:609
DtMaxMarkingTextLengthFunction myMaxMarkingTextLengthFunction
Definition: vrfStateViewCollectionManager.h:633
State view collection for entity state data.
Definition: vrfStateViewCollectionManager.h:76
DtSpotReportStateViewCollection * spotReportStateViewCollection()
Definition: vrfStateViewCollectionManager.h:419
boost::signal< void()> signal_allObjectsDiscovered
If set up for it, a signal sent when the object counts map has had all the objects of all kind/domain...
Definition: vrfStateViewCollectionManager.h:544
boost::unordered_set< DtUUID > myDidNotFindStateViewFor
Definition: vrfStateViewCollectionManager.h:631
std::map< makVrv::DtUniqueID, const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > * > myStealthStates
Definition: vrfStateViewCollectionManager.h:623
DtOrbatStateViewCollection * orbatStateViewCollection()
Definition: vrfStateViewCollectionManager.h:434
T findStateFor(makVrv::DtSimEntry *entry)
Definition: vrfStateViewCollectionManager.h:636
DtOrbatStateViewCollection * myOrbatStateViewCollection
Definition: vrfStateViewCollectionManager.h:580
Collection of VRF active sonar specific state data. Use this state view to get information for active...
Definition: vrlinkActiveSonarState.h:130
virtual ~DtStateViewMarkingTextProvider()
Definition: vrfStateViewCollectionManager.h:65
std::vector< makVrv::DtSimEntryUpdater::UpdateRate > UpdateRates
Definition: vrfStateViewCollectionManager.h:482
Contains makVrv::DtVirtualBaseClass class.
DtSpotReportStateViewCollection * mySpotReportStateViewCollection
Definition: vrfStateViewCollectionManager.h:577
virtual DtUUIDMarkingTextProvider * clone() const
Definition: vrfStateViewCollectionManager.h:67
State view collection for all state data.
Definition: vrfStateViewCollectionManager.h:90
Definition: vrfStateViewCollectionManager.h:600
bool isCompatible(makVrv::DtSimObjectEntry &entry)
Definition: vrfStateViewCollectionManager.h:99
Collection of VRF Weather specific state data. Use this state view to get information for Weather dat...
Definition: vrlinkSimulatedCloudLayerState.h:73
DtEnvironmentStateViewCollection * environmentStateViewCollection()
Definition: vrfStateViewCollectionManager.h:374
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:25
State view collection for environmental data.
Definition: vrlinkSimulatedEnvironmentProcess.h:152
boost::unordered_map< DtUUID, makVrv::DtUniqueID > UUIDToIdMap
Definition: vrfStateViewCollectionManager.h:615
Collection of VRF Weather specific state data. Use this state view to get information for Weather dat...
Definition: vrlinkSimulatedWeatherState.h:139
DtLaserDesignatorStateViewCollection * myLaserDesignatorStateViewCollection
Definition: vrfStateViewCollectionManager.h:589
State view collection for extended state data.
Definition: extendedStateData.h:58
State view collection for spot report data.
Definition: spotReportState.h:118
makVrv::DtStateView< DtSpotReportState > * findSpotReportStateView(const makVrv::DtUniqueID &id)
Finds a spot report state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:303
virtual DtString markingText()
Definition: vrfStateViewCollectionManager.h:66
makVrv::DtStateView< DtVrfTDLMessageDataState > * findVrfTDLDataStateView(const makVrv::DtUniqueID &id)
Finds a TDL state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:316
makVrv::DtStateView< DtOrbatState > * findOrbatStateView(const makVrv::DtUniqueID &id)
Finds an orbat state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:342
DtActiveSonarStateViewCollection * activeSonarStateViewCollection()
Definition: vrfStateViewCollectionManager.h:409
std::vector< EntryAttributes > EntryAttributesList
Definition: DtElementAttributeManager.h:41
boost::unordered_map< makVrv::DtBaseStateView *, UpdateRates > UpdateRateMap
Definition: vrfStateViewCollectionManager.h:595
A DtStateViewCollection is a collection of DtStateViews of a specific state.
Definition: DtStateViewCollection.h:27
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains makVrv::DtEntityState class.
State view collection for TDL data.
Definition: vrfTDLMessageDataState.h:108
DtEmitterSystemStateViewCollection * emitterSystemStateViewCollection()
Definition: vrfStateViewCollectionManager.h:404
boost::signals2::signal< void(makVrv::DtUniqueID, const DtUUID &oldUUID, const DtUUID &newUUID)> signal_uuidChanged
Signal sent when a UUID has changed for the particular element ID.
Definition: vrfStateViewCollectionManager.h:540
This class is the central point for looking up information about a particular object in the VRF GUI...
Definition: vrfStateViewCollectionManager.h:126
DtVrfSelectionFilter * filter
Definition: vrfStateViewCollectionManager.h:602
DtLaserDesignatorStateViewCollection * laserDesignatorStateViewCollection()
Definition: vrfStateViewCollectionManager.h:414
ElementType
Definition: DtElementEntry.h:26
Collection of VRF Object specific state data.
Definition: vrfObjectDataState.h:224
DtExtendedStateDataViewCollection * extendedStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:379
DtVrfGuiOrbatManager * myVrfGuiOrbatManager
Definition: vrfStateViewCollectionManager.h:621
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastVrfTDLData(const std::string &id)
Definition: vrfStateViewCollectionManager.h:250
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
DtPropulsionNoiseStateDataViewCollection * propulsionNoiseStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:399
DtIffStateDataViewCollection * iffStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:394
bool isCompatible(DtSimObjectEntry &entry)
Returns true if the DtSimEntry contains a state of type T.
Definition: DtStateViewCollection.h:196
int myNextToken
Definition: vrfStateViewCollectionManager.h:599
IdToUUIDMap myIdToUUIDMap
Definition: vrfStateViewCollectionManager.h:619
std::set< makVrv::DtUniqueID > myTacticalGraphicElements
Definition: vrfStateViewCollectionManager.h:626
const std::map< makVrv::DtUniqueID, const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > * > & stealthStates() const
Returns all the current stealth states. myEntityId is the site/app id of the stealth.
Definition: vrfStateViewCollectionManager.h:462
int addedReference
Definition: vrfStateViewCollectionManager.h:604
Base class to provide boost signal/slot management.
DtPropulsionNoiseStateDataViewCollection * myPropulsionNoiseStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:586
DtWeatherStateViewCollection * weatherStateViewCollection()
Definition: vrfStateViewCollectionManager.h:384
DtVrfTDLMessageDataStateViewCollection * vrfTDLDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:429
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:22
boost::unordered_map< makVrv::DtUniqueID, DtUUID > IdToUUIDMap
Definition: vrfStateViewCollectionManager.h:616
Contains the DtElementAttributeManager class declaration.
boost::function< int(const DtEntityType &)> DtMaxMarkingTextLengthFunction
Definition: vrfStateViewCollectionManager.h:55
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtEnvironmentStateViewCollection * myEnvironmentStateViewCollection
Definition: vrfStateViewCollectionManager.h:576
boost::signals2::signal< void(const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)> StateViewAddedOrRemovedSignal
Definition: vrfStateViewCollectionManager.h:129
DtActiveSonarStateViewCollection * myActiveSonarStateViewCollection
Definition: vrfStateViewCollectionManager.h:588
DtVrlinkSimulatedBaseStateViewCollection * simulatedBaseStateViewCollection()
Definition: vrfStateViewCollectionManager.h:364
int removedReference
Definition: vrfStateViewCollectionManager.h:606
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastVrfTDLData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:214
DtWeatherStateViewCollection * myWeatherStateViewCollection
Definition: vrfStateViewCollectionManager.h:584
DtEmitterSystemStateViewCollection * myEmitterSystemStateViewCollection
Definition: vrfStateViewCollectionManager.h:587
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastOrvatData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:223
DT_DLL_VRFGUICORE std::vector< std::string > convertUUIDVectorToUUIDStringVector(const std::vector< DtUUID > &v)
Returns a vector of uuidString.
DtAggregateStateViewCollection * aggregateStateViewCollection()
Definition: vrfStateViewCollectionManager.h:439
To allow for faster marking text lookups, the DtUUIDMarkingTextProvider class wraps an object that wi...
Definition: rwUUID.h:38
DtVrlinkSimulatedBaseStateViewCollection(makVrv::DtDe &de)
Definition: vrfStateViewCollectionManager.h:94
Contains makVrv::DtElementEntry class.
DtVrfObjectDataStateViewCollection * myObjectDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:575
DtStateViewMarkingTextProvider(const DtStateViewMarkingTextProvider &orig)
Definition: vrfStateViewCollectionManager.h:64
Collection of VRF emitter specific state data. Use this state view to get information for emitter dat...
Definition: vrlinkEmitterSystemState.h:137