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;
70 operator DtString () {
return markingText(); };
82 : makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedEntityState>(
83 de, makVrv::DtSimEntryUpdater::NoUpdates)
96 makVrv::DtStateViewCollection<makVrv::DtVrlinkSimulatedBaseState>(de, makVrv::DtSimEntryUpdater::NoUpdates)
154 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const makVrv::DtUniqueID&
id);
158 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const makVrv::DtUniqueID&
id);
162 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupVrfTDLData(
const makVrv::DtUniqueID&
id);
166 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupSpotReportData(
const std::string& name);
170 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupVrfTDLData(
const std::string& uniqueIdentifier);
174 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupOrbatData(
const makVrv::DtUniqueID&
id);
178 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupOrbatData(
const std::string& name);
182 virtual DtBoost::shared_ptr<DtObjectDataInterface> lookupObjectData(
const DtUUID&);
190 virtual DtVector centerOfMass(
const boost::unordered_set<DtUUID>& uuids,
191 bool ignoreEmbarked =
true);
196 template<
typename T_ObjectDataInterfaceType>
199 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(
id));
205 template<
typename T_ObjectDataInterfaceType>
208 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(
id));
214 template<
typename T_ObjectDataInterfaceType>
217 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupVrfTDLData(
id));
223 template<
typename T_ObjectDataInterfaceType>
226 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupOrbatData(
id));
232 template<
typename T_ObjectDataInterfaceType>
235 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupObjectData(uuid));
241 template<
typename T_ObjectDataInterfaceType>
244 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupSpotReportData(name));
250 template<
typename T_ObjectDataInterfaceType>
253 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupVrfTDLData(
id));
259 template<
typename T_ObjectDataInterfaceType>
262 return DtObjectDataInterface::cast<T_ObjectDataInterfaceType>(lookupOrbatData(name));
283 const std::string& markingText);
306 if (!mySpotReportStateViewCollection->hasStateView(
id))
312 (mySpotReportStateViewCollection->findStateView(
id));
319 if (!myVrfTDLDataStateViewCollection->hasStateView(
id))
325 (myVrfTDLDataStateViewCollection->findStateView(
id));
332 if (!myExternalDataStateViewCollection->hasStateView(
id))
338 (myExternalDataStateViewCollection->findStateView(
id));
345 if (!myOrbatStateViewCollection->hasStateView(
id))
351 (myOrbatStateViewCollection->findStateView(
id));
355 virtual void clearUUIDInformation();
362 return mySimulatedEntityStateView;
367 return mySimulatedBaseStateViewCollection;
372 return myObjectDataStateViewCollection;
377 return myEnvironmentStateViewCollection;
382 return myExtendedStateDataViewCollection;
387 return myWeatherStateViewCollection;
392 return myCloudLayerStateViewCollection;
397 return myIffStateDataViewCollection;
402 return myPropulsionNoiseStateDataViewCollection;
407 return myEmitterSystemStateViewCollection;
412 return myActiveSonarStateViewCollection;
417 return myLaserDesignatorStateViewCollection;
422 return mySpotReportStateViewCollection;
427 return myExternalDataStateViewCollection;
432 return myVrfTDLDataStateViewCollection;
437 return myOrbatStateViewCollection;
442 return myAggregateStateViewCollection;
447 return mySensorFieldOfViewStateViewCollection;
462 const std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>&
465 return myStealthStates;
483 typedef std::vector<makVrv::DtSimEntryUpdater::UpdateRate>
UpdateRates;
501 virtual void waiting();
515 virtual void uniqueEntityTypes(
makVrv::DtUniqueID, std::vector<DtEntityType>& entityTypes);
523 virtual const std::set<makVrv::DtUniqueID>& dIGuyIds();
527 virtual void signalWhenAllObjectsDiscovered(
const std::map<short, int>&);
537 boost::signals2::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateAdded;
538 boost::signals2::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*)> signal_stateRemoved;
541 boost::signals2::signal<void (makVrv::DtUniqueID, const DtUUID& oldUUID, const DtUUID& newUUID)>
signal_uuidChanged;
548 boost::signals2::signal <void (const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*,
const std::string& newName)> signal_nameChanged;
550 const std::set<makVrv::DtUniqueID>& tacticalGraphicElements()
const;
555 virtual int maxMarkingTextLengthFor(
const DtEntityType&)
const;
559 virtual int defaultMaxMarkingTextLengthFunction(
const DtEntityType&);
562 virtual void uniqueEntityTypes(
makVrv::DtUniqueID, std::vector<DtEntityType>& entityTypes, std::set<std::string>& typesChecked);
597 typedef boost::unordered_map<makVrv::DtBaseStateView*, UpdateRates>
UpdateRateMap;
617 typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID>
UUIDToIdMap;
618 typedef boost::unordered_map<makVrv::DtUniqueID, DtUUID>
IdToUUIDMap;
625 std::map<makVrv::DtUniqueID, const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*>
myStealthStates;
640 makVrv::DtSimEntry::SimStateVector::const_iterator pos = entry->
simStates().begin();
641 makVrv::DtSimEntry::SimStateVector::const_iterator endPos = entry->
simStates().end();
642 for(; pos != endPos; ++pos)
644 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:630
DtCloudLayerStateViewCollection * myCloudLayerStateViewCollection
Definition: vrfStateViewCollectionManager.h:586
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastObjectData(const DtUUID &uuid)
Definition: vrfStateViewCollectionManager.h:233
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfStateViewCollectionManager.h:614
std::vector< DtUniqueID > SceneObjectIdList
Public Type Definitions.
Definition: DtElementData.h:37
DtExternalDataStateViewCollection * externalDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:425
StateViewAddedOrRemovedSignal * removed
Definition: vrfStateViewCollectionManager.h:607
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:197
Definition: vrfSelectionFilters.h:29
DtIffStateDataViewCollection * myIffStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:584
DtExtendedStateDataViewCollection * myExtendedStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:583
Virtual base class.
Definition: DtVirtualBaseClass.h:19
StateViewAddedOrRemovedSignal * added
Definition: vrfStateViewCollectionManager.h:605
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:615
DtExternalDataStateViewCollection * myExternalDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:579
UUIDToIdMap myUUIDToIdMap
Definition: vrfStateViewCollectionManager.h:620
Contains makVrv::DtStateViewCollection class.
DtStateViewMarkingTextProvider(makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *sv)
Definition: vrfStateViewCollectionManager.h:64
DtVrfSimulatedEntityStateViewCollection(makVrv::DtDe &de)
Definition: vrfStateViewCollectionManager.h:81
const SimStateVector & simStates() const
SimStateVector accessor.
DtCloudLayerStateViewCollection * cloudLayerStateViewCollection()
Definition: vrfStateViewCollectionManager.h:390
makVrv::DtVrlinkSensorFieldsOfViewStateViewCollection * mySensorFieldOfViewStateViewCollection
Definition: vrfStateViewCollectionManager.h:591
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:599
UpdateRate
Definition: DtSimEntryUpdater.h:31
DtVrfObjectDataStateViewCollection * objectDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:370
Marking text provider for state view.
Definition: vrfStateViewCollectionManager.h:61
boost::unordered_set< makVrv::DtUniqueID > myIdsToCheckForDIGuy
Definition: vrfStateViewCollectionManager.h:631
makVrv::DtDe & myDe
Definition: vrfStateViewCollectionManager.h:593
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:575
DtAggregateStateViewCollection * myAggregateStateViewCollection
Definition: vrfStateViewCollectionManager.h:582
A DtBaseStateView is a the base class for all DtStateView's.
Definition: DtStateView.h:25
State view collection for external data.
Definition: externalDataState.h:98
std::string myStealthType
Definition: vrfStateViewCollectionManager.h:626
makVrv::DtVrlinkSensorFieldsOfViewStateViewCollection * sensorFieldOfViewStateViewCollection()
Definition: vrfStateViewCollectionManager.h:445
A DtSimEntry is a container of DtSimState's and represents the total state of an simulation object...
Definition: DtSimEntry.h:27
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:242
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVrfSimulatedEntityStateViewCollection * mySimulatedEntityStateView
Definition: vrfStateViewCollectionManager.h:574
StateViewAddedOrRemovedCallbacks myStateViewAddedOrRemovedCallbacks
Definition: vrfStateViewCollectionManager.h:612
DtVrfTDLMessageDataStateViewCollection * myVrfTDLDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:580
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
makVrv::DtStateView< DtExternalDataState > * findExternalDataStateView(const makVrv::DtUniqueID &id)
Finds an external state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:330
std::map< short, int > myWaitingForDiscovery
Definition: vrfStateViewCollectionManager.h:595
DtVrfSimulatedEntityStateViewCollection * simulatedEntityStateViewCollection()
Definition: vrfStateViewCollectionManager.h:360
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:206
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastOrbatData(const std::string &name)
Definition: vrfStateViewCollectionManager.h:260
std::vector< StateViewAddedOrRemovedStruct > StateViewAddedOrRemovedCallbacks
Definition: vrfStateViewCollectionManager.h:611
DtMaxMarkingTextLengthFunction myMaxMarkingTextLengthFunction
Definition: vrfStateViewCollectionManager.h:635
State view collection for entity state data.
Definition: vrfStateViewCollectionManager.h:77
DtSpotReportStateViewCollection * spotReportStateViewCollection()
Definition: vrfStateViewCollectionManager.h:420
boost::unordered_set< DtUUID > myDidNotFindStateViewFor
Definition: vrfStateViewCollectionManager.h:633
std::map< makVrv::DtUniqueID, const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > * > myStealthStates
Definition: vrfStateViewCollectionManager.h:625
DtOrbatStateViewCollection * orbatStateViewCollection()
Definition: vrfStateViewCollectionManager.h:435
T findStateFor(makVrv::DtSimEntry *entry)
Definition: vrfStateViewCollectionManager.h:638
DtOrbatStateViewCollection * myOrbatStateViewCollection
Definition: vrfStateViewCollectionManager.h:581
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:66
std::vector< makVrv::DtSimEntryUpdater::UpdateRate > UpdateRates
Definition: vrfStateViewCollectionManager.h:483
Contains makVrv::DtVirtualBaseClass class.
DtSpotReportStateViewCollection * mySpotReportStateViewCollection
Definition: vrfStateViewCollectionManager.h:578
virtual DtUUIDMarkingTextProvider * clone() const
Definition: vrfStateViewCollectionManager.h:68
State view collection for all state data.
Definition: vrfStateViewCollectionManager.h:91
Definition: vrfStateViewCollectionManager.h:602
bool isCompatible(makVrv::DtSimObjectEntry &entry)
Definition: vrfStateViewCollectionManager.h:100
Collection of VRF Weather specific state data. Use this state view to get information for Weather dat...
Definition: vrlinkSimulatedCloudLayerState.h:75
DtEnvironmentStateViewCollection * environmentStateViewCollection()
Definition: vrfStateViewCollectionManager.h:375
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
State view collection for environmental data.
Definition: vrlinkSimulatedEnvironmentProcess.h:152
boost::unordered_map< DtUUID, makVrv::DtUniqueID > UUIDToIdMap
Definition: vrfStateViewCollectionManager.h:617
Collection of VRF Weather specific state data. Use this state view to get information for Weather dat...
Definition: vrlinkSimulatedWeatherState.h:168
DtLaserDesignatorStateViewCollection * myLaserDesignatorStateViewCollection
Definition: vrfStateViewCollectionManager.h:590
State view collection for extended state data.
Definition: extendedStateData.h:58
State view collection for spot report data.
Definition: spotReportState.h:119
makVrv::DtStateView< DtSpotReportState > * findSpotReportStateView(const makVrv::DtUniqueID &id)
Finds a spot report state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:304
virtual DtString markingText()
Definition: vrfStateViewCollectionManager.h:67
makVrv::DtStateView< DtVrfTDLMessageDataState > * findVrfTDLDataStateView(const makVrv::DtUniqueID &id)
Finds a TDL state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:317
makVrv::DtStateView< DtOrbatState > * findOrbatStateView(const makVrv::DtUniqueID &id)
Finds an orbat state view given the objects element id.
Definition: vrfStateViewCollectionManager.h:343
DtActiveSonarStateViewCollection * activeSonarStateViewCollection()
Definition: vrfStateViewCollectionManager.h:410
std::vector< EntryAttributes > EntryAttributesList
Definition: DtElementAttributeManager.h:43
boost::unordered_map< makVrv::DtBaseStateView *, UpdateRates > UpdateRateMap
Definition: vrfStateViewCollectionManager.h:597
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:20
Contains makVrv::DtEntityState class.
State view collection for TDL data.
Definition: vrfTDLMessageDataState.h:114
DtEmitterSystemStateViewCollection * emitterSystemStateViewCollection()
Definition: vrfStateViewCollectionManager.h:405
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:541
This class is the central point for looking up information about a particular object in the VRF GUI...
Definition: vrfStateViewCollectionManager.h:127
DtVrfSelectionFilter * filter
Definition: vrfStateViewCollectionManager.h:604
DtLaserDesignatorStateViewCollection * laserDesignatorStateViewCollection()
Definition: vrfStateViewCollectionManager.h:415
ElementType
Definition: DtElementEntry.h:26
Collection of VRF Object specific state data.
Definition: vrfObjectDataState.h:224
DtExtendedStateDataViewCollection * extendedStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:380
DtVrfGuiOrbatManager * myVrfGuiOrbatManager
Definition: vrfStateViewCollectionManager.h:623
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastVrfTDLData(const std::string &id)
Definition: vrfStateViewCollectionManager.h:251
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtPropulsionNoiseStateDataViewCollection * propulsionNoiseStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:400
DtIffStateDataViewCollection * iffStateDataViewCollection()
Definition: vrfStateViewCollectionManager.h:395
bool isCompatible(DtSimObjectEntry &entry)
Returns true if the DtSimEntry contains a state of type T.
Definition: DtStateViewCollection.h:196
int myNextToken
Definition: vrfStateViewCollectionManager.h:601
IdToUUIDMap myIdToUUIDMap
Definition: vrfStateViewCollectionManager.h:621
std::set< makVrv::DtUniqueID > myTacticalGraphicElements
Definition: vrfStateViewCollectionManager.h:628
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:463
boost::signals2::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:545
int addedReference
Definition: vrfStateViewCollectionManager.h:606
Base class to provide boost signal/slot management.
DtPropulsionNoiseStateDataViewCollection * myPropulsionNoiseStateDataViewCollection
Definition: vrfStateViewCollectionManager.h:587
DtWeatherStateViewCollection * weatherStateViewCollection()
Definition: vrfStateViewCollectionManager.h:385
DtVrfTDLMessageDataStateViewCollection * vrfTDLDataStateViewCollection()
Definition: vrfStateViewCollectionManager.h:430
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:19
boost::unordered_map< makVrv::DtUniqueID, DtUUID > IdToUUIDMap
Definition: vrfStateViewCollectionManager.h:618
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:577
boost::signals2::signal< void(const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)> StateViewAddedOrRemovedSignal
Definition: vrfStateViewCollectionManager.h:130
DtActiveSonarStateViewCollection * myActiveSonarStateViewCollection
Definition: vrfStateViewCollectionManager.h:589
DtVrlinkSimulatedBaseStateViewCollection * simulatedBaseStateViewCollection()
Definition: vrfStateViewCollectionManager.h:365
int removedReference
Definition: vrfStateViewCollectionManager.h:608
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastVrfTDLData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:215
DtWeatherStateViewCollection * myWeatherStateViewCollection
Definition: vrfStateViewCollectionManager.h:585
DtEmitterSystemStateViewCollection * myEmitterSystemStateViewCollection
Definition: vrfStateViewCollectionManager.h:588
DtBoost::shared_ptr< T_ObjectDataInterfaceType > lookupAndCastOrvatData(const makVrv::DtUniqueID &id)
Definition: vrfStateViewCollectionManager.h:224
DT_DLL_VRFGUICORE std::vector< std::string > convertUUIDVectorToUUIDStringVector(const std::vector< DtUUID > &v)
Returns a vector of uuidString.
DtAggregateStateViewCollection * aggregateStateViewCollection()
Definition: vrfStateViewCollectionManager.h:440
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:95
Contains makVrv::DtElementEntry class.
DtVrfObjectDataStateViewCollection * myObjectDataStateViewCollection
Definition: vrfStateViewCollectionManager.h:576
DtStateViewMarkingTextProvider(const DtStateViewMarkingTextProvider &orig)
Definition: vrfStateViewCollectionManager.h:65
Collection of VRF emitter specific state data. Use this state view to get information for emitter dat...
Definition: vrlinkEmitterSystemState.h:137