|
WSF
|
#include <WsfXIO_RemotePlatformList.hpp>

Public Types | |
| enum | InformationLevel { cBASIC_INFORMATION = 1 , cSTATE_INFORMATION = 3 , cROUTE_INFORMATION = 4 , cNO_CHANGE = 0x10000000 } |
| typedef std::multimap< WsfXIO_EntityId, WsfXIO_PlatformInfo * > | EntityIdMap |
| typedef std::map< WsfXIO_PlatformId, WsfXIO_PlatformInfo * > | PlatformIdMap |
| typedef std::pair< WsfStringId, unsigned int > | PlatformNameId |
| typedef std::map< PlatformNameId, WsfXIO_PlatformInfo * > | PlatformNameIdMap |
Public Member Functions | |
| void | Send (WsfXIO_Packet &aPkt) |
| Send an XIO Packet to all connections maintained by the remote platform list. | |
| WsfXIO_RemotePlatformList (WsfXIO_Interface *aInterfacePtr) | |
| ~WsfXIO_RemotePlatformList () | |
| void | SetReliableEntityState (bool aIsReliable) |
| void | SetIgnoreExternalPlatforms (bool aIgnore) |
| void | SetInformationLevels (int aPlatformInformationLevel) |
| void | SetDeadReckonParameters (double aDeadReckonInterval, double aMaxDeadReckonError=5.0, double aMaxDeadReckonOrientationError=3.0 *UtMath::cRAD_PER_DEG) |
| void | SetInformationLevels (int aPlatformInformationLevel, WsfXIO_PlatformInfo *aPlatformPtr, double aDeadReckonInterval=1.0, double aMaxDeadReckonError=5.0, double aMaxDeadReckonOrientationError=3.0 *UtMath::cRAD_PER_DEG) |
| void | Destroy () |
| Call this method to clean out the Remote Platform List's memory. | |
| bool | AddConnection (WsfXIO_Connection *aConnectionPtr, const WsfClockSource *aClockPtr) |
| void | DropConnection (WsfXIO_Connection *aConnectionPtr) |
| WsfXIO_Connection * | GetConnectionByEntityId (const WsfXIO_EntityId &aEntityId) |
| WsfXIO_PlatformInfo * | GetPlatformByEntityId (const WsfXIO_EntityId &aEntityId) |
| WsfXIO_PlatformInfo * | GetPlatformByIndex (const WsfXIO_Connection *aConnectionPtr, const unsigned int aPlatformIndex) |
| WsfXIO_PlatformInfo * | FindPlatform (WsfXIO_PlatformId aPlaformId) |
| WsfXIO_PlatformInfo * | FindPlatform (WsfXIO_EntityId aId, int aConnectionId) |
| Returns the platform info for a platform with the given entity ID and connection ID. | |
| WsfXIO_PlatformInfo * | FindPlatformByIndex (int aPlatformIndex, const WsfXIO_Connection *aConnectionPtr=nullptr) |
| WsfXIO_PlatformInfo * | FindPlatformByName (WsfStringId aPlatformName, const WsfXIO_Connection *aConnectionPtr=nullptr) |
| CommandChainList | GetCommandChainByEntityId (const WsfXIO_EntityId &aEntityId) const |
| std::list< WsfXIO_PlatformInfo * > | GetCurrentPlatforms () const |
| unsigned int | GetConnectionCount () const |
| const PlatformIdMap & | GetAllPlatforms () const |
| const EntityIdMap & | GetPlatformsByEntityId () const |
Public Attributes | |
| UtCallbackListN< void(WsfXIO_PlatformInfo &)> | PlatformAdded |
| UtCallbackListN< void(WsfXIO_PlatformInfo &)> | PlatformRemoved |
| UtCallbackListN< void(WsfXIO_PlatformInfo &)> | PlatformEntityStateChanged |
| Provides information about a platform when its entity state changes. | |
| UtCallbackListN< void(WsfXIO_PlatformInfo &, WsfXIO_PlatformPartInfo &)> | PlatformPartStateChanged |
| Provides information about a platform when a platform part state changes. | |
| UtCallbackListN< void(WsfXIO_PlatformInfo &)> | TrackManagerStateChanged |
| Provides information about a platform when its track manager state changes. | |
| UtCallbackListN< void(WsfXIO_PlatformInfo &, const std::vector< WsfXIO_CommandChain > &)> | CommandChainInitialized |
| Provides information about a platform when its entity state changes. | |
| UtCallbackListN< void(WsfXIO_PlatformInfo &)> | RouteUpdated |
Protected Member Functions | |
| unsigned int | GetInfoType (int aInfoLevel) |
| ConnectionInfo * | FindConnection (const GenUniqueId &aId) |
Protected Attributes | |
| WsfXIO_Interface * | mInterfacePtr |
| bool | mReliableEntityState |
| bool | mUseDefaultDR_Params |
| bool | mIgnoreExternalPlatforms |
| ConnectionMap | mConnectionMap |
| EntityIdMap | mAllPlatformsMap |
| CommandChainMap | mCommandChainMap |
| PlatformIdMap | mPlatforms |
| PlatformNameIdMap | mPlatformsByName |
| UtCallbackHolder | mCallbacks |
| int | mDefaultPlatformInfoLevel |
| double | mDefaultDeadReckonInterval |
| double | mDefaultMaxDeadReckonError |
| double | mDefaultMaxDeadReckonOrientationError |
Friends | |
| class | ConnectionInfo |
WsfXIO_RemotePlatformList allows you to subscribe to platform lists maintained by remote WSF-based applications. The WsfXIO_RemotePlatformList consolidates these platforms so that you can access them by DisEntityId without needing to know their host application. Alternatively, you can look up a platform by platform index if you know the platform's host application.
| typedef std::multimap<WsfXIO_EntityId, WsfXIO_PlatformInfo*> WsfXIO_RemotePlatformList::EntityIdMap |
| typedef std::map<WsfXIO_PlatformId, WsfXIO_PlatformInfo*> WsfXIO_RemotePlatformList::PlatformIdMap |
| typedef std::pair<WsfStringId, unsigned int> WsfXIO_RemotePlatformList::PlatformNameId |
| typedef std::map<PlatformNameId, WsfXIO_PlatformInfo*> WsfXIO_RemotePlatformList::PlatformNameIdMap |
Information level specifies the depth of information you want from the platforms you have subscribed to.
| WsfXIO_RemotePlatformList::WsfXIO_RemotePlatformList | ( | WsfXIO_Interface * | aInterfacePtr | ) |
Instantiate the RemotePlatformList. You must call AddConnection to subscribe to remote platforms.
References cBASIC_INFORMATION, mDefaultDeadReckonInterval, mDefaultMaxDeadReckonError, mDefaultMaxDeadReckonOrientationError, mDefaultPlatformInfoLevel, mIgnoreExternalPlatforms, mInterfacePtr, mReliableEntityState, and mUseDefaultDR_Params.
| WsfXIO_RemotePlatformList::~WsfXIO_RemotePlatformList | ( | ) |
References Destroy().
| bool WsfXIO_RemotePlatformList::AddConnection | ( | WsfXIO_Connection * | aConnectionPtr, |
| const WsfClockSource * | aClockPtr ) |
Subscribe to an additional XIO connection (presumably from an additional remote host application).
References ConnectionInfo, WsfXIO_Connection::GetApplicationId(), WsfXIO_Connection::GetInterface(), mCallbacks, mConnectionMap, and mDefaultPlatformInfoLevel.
| void WsfXIO_RemotePlatformList::Destroy | ( | ) |
Call this method to clean out the Remote Platform List's memory.
Referenced by ~WsfXIO_RemotePlatformList().
| void WsfXIO_RemotePlatformList::DropConnection | ( | WsfXIO_Connection * | aConnectionPtr | ) |
Unsubscribe from an XIO Connection (presumably from an additional remote host application).
References WsfXIO_Connection::GetApplicationId().
|
protected |
References mConnectionMap.
Referenced by SetInformationLevels().
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::FindPlatform | ( | WsfXIO_EntityId | aId, |
| int | aConnectionId ) |
Returns the platform info for a platform with the given entity ID and connection ID.
References end(), and mAllPlatformsMap.
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::FindPlatform | ( | WsfXIO_PlatformId | aPlaformId | ) |
References mPlatforms, and platformPtr.
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::FindPlatformByIndex | ( | int | aPlatformIndex, |
| const WsfXIO_Connection * | aConnectionPtr = nullptr ) |
Returns the platform with remote index aPlatformIndex hosted by connection aConnectionPtr (optional) note: If aConnectionPtr is not given, there may be multiple platforms sharing the same index.
References WsfXIO_Connection::GetConnectionId(), WsfXIO_PlatformId::mConnectionId, WsfXIO_PlatformId::mIndex, mPlatforms, and platformPtr.
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::FindPlatformByName | ( | WsfStringId | aPlatformName, |
| const WsfXIO_Connection * | aConnectionPtr = nullptr ) |
Returns the platform with name aPlatformName hosted by aConnectionPtr (optional). note: If aConnectionPtr is not given, there may be multiple platforms sharing the same name.
References WsfXIO_Connection::GetConnectionId(), WsfXIO_PlatformId::mConnectionId, mPlatformsByName, and platformPtr.
|
inline |
References mPlatforms.
| std::vector< WsfXIO_CommandChain > WsfXIO_RemotePlatformList::GetCommandChainByEntityId | ( | const WsfXIO_EntityId & | aEntityId | ) | const |
Returns the platform's command chain. CommandChainList::empty() == true if the command chain data is not available.
References mCommandChainMap.
| WsfXIO_Connection * WsfXIO_RemotePlatformList::GetConnectionByEntityId | ( | const WsfXIO_EntityId & | aEntityId | ) |
Get the Connection that supplied the given Dis Entity ID. Returns 0 pointer if that Dis Entity ID isn't subscribed to.
Returns the connection which is sending the entity with the ID aEntityId.
References mAllPlatformsMap.
|
inline |
Returns the number of connections that the RemotePlatformList presently is subscribed to.
References mConnectionMap.
| std::list< WsfXIO_PlatformInfo * > WsfXIO_RemotePlatformList::GetCurrentPlatforms | ( | ) | const |
Returns the list of all platforms presently recognized by the remote platform list. The list returns contains pointers to the source platforms. Do not maintain this list beyond scope.
References mAllPlatformsMap.
|
protected |
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::GetPlatformByEntityId | ( | const WsfXIO_EntityId & | aEntityId | ) |
Get Platform Information associated with the given Dis Entity ID. Returns 0 pointer if that Dis Entity ID isn't subscribed to.
Returns a WsfXIO_PlatformInfo for a platform with the given WsfXIO_EntityId if one exists
References mAllPlatformsMap, and platformPtr.
| WsfXIO_PlatformInfo * WsfXIO_RemotePlatformList::GetPlatformByIndex | ( | const WsfXIO_Connection * | aConnectionPtr, |
| const unsigned int | aPlatformIndex ) |
Get Platform information associated with the given platform index hosted by the specified XIO connection. Returns 0 pointer if that Dis Entity ID isn't subscribed to.
References WsfXIO_Connection::GetApplicationId(), mConnectionMap, and platformPtr.
|
inline |
References mAllPlatformsMap.
| void WsfXIO_RemotePlatformList::Send | ( | WsfXIO_Packet & | aPkt | ) |
Send an XIO Packet to all connections maintained by the remote platform list.
Send an XIO Packet to all connections maintained by the remote platform list.
References mConnectionMap, and mInterfacePtr.
| void WsfXIO_RemotePlatformList::SetDeadReckonParameters | ( | double | aDeadReckonInterval, |
| double | aMaxDeadReckonError = 5.0, | ||
| double | aMaxDeadReckonOrientationError = 3.0 * UtMath::cRAD_PER_DEG ) |
|
inline |
References mIgnoreExternalPlatforms.
| void WsfXIO_RemotePlatformList::SetInformationLevels | ( | int | aPlatformInformationLevel | ) |
References mDefaultPlatformInfoLevel.
| void WsfXIO_RemotePlatformList::SetInformationLevels | ( | int | aPlatformInformationLevel, |
| WsfXIO_PlatformInfo * | aPlatformPtr, | ||
| double | aDeadReckonInterval = 1.0, | ||
| double | aMaxDeadReckonError = 5.0, | ||
| double | aMaxDeadReckonOrientationError = 3.0 * UtMath::cRAD_PER_DEG ) |
|
inline |
References mReliableEntityState.
|
friend |
Referenced by AddConnection().
| UtCallbackListN<void(WsfXIO_PlatformInfo&, const std::vector<WsfXIO_CommandChain>&)> WsfXIO_RemotePlatformList::CommandChainInitialized |
Provides information about a platform when its entity state changes.
|
protected |
Referenced by FindPlatform(), GetConnectionByEntityId(), GetCurrentPlatforms(), GetPlatformByEntityId(), and GetPlatformsByEntityId().
|
protected |
Referenced by AddConnection().
|
protected |
Referenced by GetCommandChainByEntityId().
|
protected |
Referenced by AddConnection(), FindConnection(), GetConnectionCount(), GetPlatformByIndex(), and Send().
|
protected |
Referenced by SetDeadReckonParameters(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by SetDeadReckonParameters(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by SetDeadReckonParameters(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by AddConnection(), SetInformationLevels(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by SetIgnoreExternalPlatforms(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by Send(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by FindPlatform(), FindPlatformByIndex(), and GetAllPlatforms().
|
protected |
Referenced by FindPlatformByName().
|
protected |
Referenced by SetReliableEntityState(), and WsfXIO_RemotePlatformList().
|
protected |
Referenced by SetDeadReckonParameters(), and WsfXIO_RemotePlatformList().
| UtCallbackListN<void(WsfXIO_PlatformInfo&)> WsfXIO_RemotePlatformList::PlatformAdded |
Provides information about a platform when it enters the distributed simulation environment.
| UtCallbackListN<void(WsfXIO_PlatformInfo&)> WsfXIO_RemotePlatformList::PlatformEntityStateChanged |
Provides information about a platform when its entity state changes.
| UtCallbackListN<void(WsfXIO_PlatformInfo&, WsfXIO_PlatformPartInfo&)> WsfXIO_RemotePlatformList::PlatformPartStateChanged |
Provides information about a platform when a platform part state changes.
| UtCallbackListN<void(WsfXIO_PlatformInfo&)> WsfXIO_RemotePlatformList::PlatformRemoved |
Provides information about a platform when it leaves the distributed simulation environment.
| UtCallbackListN<void(WsfXIO_PlatformInfo&)> WsfXIO_RemotePlatformList::RouteUpdated |
| UtCallbackListN<void(WsfXIO_PlatformInfo&)> WsfXIO_RemotePlatformList::TrackManagerStateChanged |
Provides information about a platform when its track manager state changes.