|
WSF
|
#include <WsfDisInput.hpp>


Classes | |
| struct | Articulation |
| struct | DeviceConfiguration |
Public Types | |
| using | Component = WsfDisComponent |
| using | ComponentList = WsfComponentListT<WsfDisComponent> |
| using | ArticulationVec = std::vector<Articulation> |
| using | ArticulationMap = std::map<WsfStringId, ArticulationVec> |
Public Member Functions | |
| WsfDisInput () | |
| bool | ProcessInput (WsfScenario &aScenario, UtInput &aInput) |
| bool | ProcessBlockInput (WsfScenario &aScenario, UtInput &aInput) |
| std::vector< DeviceConfiguration > & | GetDeviceConfigurations () |
| Return whether device configurations for evaluation. | |
| bool | ProcessDeviceInput (WsfScenario &aScenario, UtInput &aInput, DeviceConfiguration &aConfiguration) |
| bool | ProcessFilterAllowance (UtInput &aInput, WsfDisFilterAllowance &aAllowance) |
| std::set< std::pair< unsigned short, unsigned short > > & | GetIgnoredSiteAndApps () |
| Returns the list of ignored sites and applications. | |
| bool | GetIgnoredSiteAndApplicationPair (unsigned int aIndex, std::pair< unsigned short, unsigned short > &aSiteAndAppPair) |
| Returns a site and application begin filtered out by index. | |
| bool | IgnoreSiteAndApplication (unsigned short aSite, unsigned short aApp) |
| bool | IsTerseMode () const |
| bool | UseSimpleAccelerations () const |
| bool | SuppressNonStandardData () const |
| Returns 'true' if the DIS interface is only sending standard DIS data. | |
| bool | MultiThreaded () const |
| bool | DebugEnabled () const |
| void | SuppressNonStandardData (bool aDoSupress) |
| Called by WsfDisInterface to disable output of non-DIS standard data. | |
| bool | UseTrackJamForTrackingRequests () |
| Is the sensor track-jam list being used to indicate a tracking request. | |
| bool | SuppressCME_PassiveSensor () const |
| bool | SuppressCME_EntityData () const |
| bool | SuppressCME_DetectBeam () const |
| double | GetSensorUpdateInterval () const |
| int | GetTimeToLive () const |
| const WsfDisArticulatedPart::ArticulationList & | GetArticulationList () const |
| void | AddComponent (Component *aComponentPtr) |
| const ComponentList & | GetComponents () const |
Static Public Member Functions | |
| static bool | ValidSignatureTypeName (std::string &aType) |
Public Attributes | |
| union { | |
| struct { | |
| bool mMultiThreaded: 1 | |
| bool mDebugEnabled: 1 | |
| bool mShadowAll: 1 | |
| bool mLogCreatedEntities: 1 | |
| bool mSuppressCommData: 1 | |
| bool mSuppressEmissionsData: 1 | |
| bool mSendPeriodicsWhilePaused: 1 | |
| bool mDebugAppearanceUpdates: 1 | |
| bool mUsePduTime: 1 | |
| bool mAutostart: 1 | |
| bool mUseSimpleAccelerations: 1 | |
| bool mTerseMode: 1 | |
| bool mUseSimpleOrientRates: 1 | |
| Use the calculated simple orientation rates. More... | |
| bool mJoinExercise: 1 | |
| Join an exercise for non-realtime simulation. More... | |
| bool mUseTrackJamForTrackingRequests: 1 | |
| bool mSimpleMissReporting: 1 | |
| bool mDebugThread: 1 | |
| bool mUseWorldToBodyAngularVelocities: 1 | |
| Force the world (Euler) angular velocities to body axis angular velocities. More... | |
| bool mZeroBodyAngularVelocities: 1 | |
| Zero out the world (Euler) angular velocities to body axis angular velocities. More... | |
| bool mIgnoreStopFreezePDU: 1 | |
| Ignore the Stop/Freeze PDU; can be used by simulations running asynchronously. More... | |
| bool mSuppressCME_DetectBeam: 1 | |
| Deprecated commands. More... | |
| bool mSuppressCME_EntityData: 1 | |
| 'true' if the non-standard 'other' PDU used for CME entity data should NOT be sent. More... | |
| bool mSuppressCME_DrawData: 1 | |
| 'true' if the non-standard practice of sending WsfDraw PDUs across the network should NOT take place More... | |
| bool mSuppressCME_PassiveSensor: 1 | |
| 'true' if the non-standard practice of sending emissions PDUs for passive sensors should NOT take place. More... | |
| bool mUseDeprecatedCME_DrawData: 1 | |
| 'true' if the WsfDraw DIS 'Other' PDUs containing draw commands will be sent using the deprecated format. More... | |
| bool mSuppressNonStandardData: 1 | |
| 'true' if WSF will only output standard DIS data. More... | |
| } | |
| unsigned int mFlags | |
| }; | |
| unsigned | mMaxBadPDU_Count |
| int | mMulticastTimeToLive |
| double | mThreadSleepTime |
Protected Types | |
| using | RangeFilteredPlatforms = std::vector<std::tuple<WsfStringId, size_t, double>> |
| using | NameTypeToStateIdPair = std::pair<WsfStringId, int> |
| using | StringToStateIdPair = std::pair<std::string, WsfStringId> |
| using | StringToStateIdVec = std::vector<StringToStateIdPair> |
| using | IdIdToStringIDMap = std::map<NameTypeToStateIdPair, StringToStateIdVec> |
| using | IdIdToStringIDMapIter = std::map<NameTypeToStateIdPair, StringToStateIdVec>::iterator |
Protected Member Functions | |
| bool | ProcessArticulatedPart (UtInput &aInput) |
Protected Attributes | |
| std::set< WsfStringId > | mShadowTypeId |
| std::set< WsfStringId > | mShadowNameId |
| std::vector< DeviceConfiguration > | mDeviceConfigurations |
| RangeFilteredPlatforms | mRangeFilteredPlatforms |
| std::set< WsfExtEntityType > | mIgnoredTypes |
| std::set< DisEnum8 > | mIgnoredPduTypes |
| std::set< std::pair< unsigned short, unsigned short > > | mIgnoredSiteAndApps |
| std::set< std::pair< unsigned short, unsigned short > > | mIgnoredKindAndDomain |
| double | mInputHeartbeatMultiplier |
| double | mSensorUpdateInterval |
| IdIdToStringIDMap | mAfterBurnerByName |
| IdIdToStringIDMap | mAfterBurnerByType |
| ArticulationMap | mArticulationByName |
| Map for changing appearance (signatures, etc.) via articulated parts. | |
| ArticulationMap | mArticulationByType |
| IdIdToStringIDMap | mConfigIdByName |
| IdIdToStringIDMap | mConfigIdByType |
| WsfDisArticulatedPart::ArticulationList | mArticulationList |
| bool | sDebugEnabled |
| std::set< int > | sExcludedPlatformTypes |
| ComponentList | mComponents |
Configuration data for the DIS interface. Seeded by the input file (ProcessInput). Copied to the DIS interface upon creation
| using WsfDisInput::ArticulationMap = std::map<WsfStringId, ArticulationVec> |
| using WsfDisInput::ArticulationVec = std::vector<Articulation> |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| WsfDisInput::WsfDisInput | ( | ) |
References mDeviceConfigurations, mFlags, mInputHeartbeatMultiplier, mMaxBadPDU_Count, mMulticastTimeToLive, mSensorUpdateInterval, mSuppressCME_DetectBeam, mSuppressCME_DrawData, mSuppressCME_EntityData, mSuppressCME_PassiveSensor, mThreadSleepTime, and sDebugEnabled.
Referenced by WsfDisInterface::WsfDisInterface().
|
inline |
References mComponents.
Referenced by WsfMilExtension::AddedToScenario().
|
inline |
References mDebugEnabled.
Referenced by WsfDisUtil::DebugEnabled().
|
inline |
References mArticulationList.
|
inline |
References mComponents.
Referenced by WsfMilDisInterface::Find().
|
inline |
Return whether device configurations for evaluation.
References mDeviceConfigurations.
Referenced by engage::SimulationExtension::Initialize().
| bool WsfDisInput::GetIgnoredSiteAndApplicationPair | ( | unsigned int | aIndex, |
| std::pair< unsigned short, unsigned short > & | aSiteAndAppPair ) |
Returns a site and application begin filtered out by index.
References mIgnoredSiteAndApps, and ok.
|
inline |
Returns the list of ignored sites and applications.
References mIgnoredSiteAndApps.
|
inline |
References mSensorUpdateInterval.
|
inline |
References mMulticastTimeToLive.
| bool WsfDisInput::IgnoreSiteAndApplication | ( | unsigned short | aSite, |
| unsigned short | aApp ) |
Used to filter out specific sites and applications. Must input site and application as a pair.
References mIgnoredSiteAndApps, and ok.
Referenced by ProcessBlockInput().
|
inline |
Return whether the user has specified to limit information displayed on stdout (such as introduction of external platforms).
References mTerseMode.
|
inline |
References mMultiThreaded.
|
protected |
References mArticulationList, WsfDisArticulatedPart::PublishAzimuth, WsfDisArticulatedPart::PublishAzimuthRate, WsfDisArticulatedPart::PublishElevation, WsfDisArticulatedPart::PublishElevationRate, WsfDisArticulatedPart::PublishRotation, WsfDisArticulatedPart::PublishRotationRate, WsfDisArticulatedPart::PublishX, WsfDisArticulatedPart::PublishX_Rate, WsfDisArticulatedPart::PublishY, WsfDisArticulatedPart::PublishY_Rate, WsfDisArticulatedPart::PublishZ, and WsfDisArticulatedPart::PublishZ_Rate.
Referenced by ProcessBlockInput().
| bool WsfDisInput::ProcessBlockInput | ( | WsfScenario & | aScenario, |
| UtInput & | aInput ) |
References WsfExtData::ConvertInputToEntityType(), IgnoreSiteAndApplication(), WsfDisInput::DeviceConfiguration::IsComplete(), WsfDisInput::DeviceConfiguration::mAddress, mAutostart, mDebugAppearanceUpdates, mDebugEnabled, mDebugThread, mDeviceConfigurations, WsfDisInput::DeviceConfiguration::mDeviceType, WsfDisInput::DeviceConfiguration::mFilterAllowances, mIgnoredKindAndDomain, mIgnoredPduTypes, mIgnoredTypes, mIgnoreStopFreezePDU, mJoinExercise, mLogCreatedEntities, mMaxBadPDU_Count, mMulticastTimeToLive, mMultiThreaded, mRangeFilteredPlatforms, mSendPeriodicsWhilePaused, WsfDisInput::DeviceConfiguration::mSendPort, mSensorUpdateInterval, mShadowAll, mShadowNameId, mShadowTypeId, mSuppressCME_DetectBeam, mSuppressCME_DrawData, mSuppressCME_EntityData, mSuppressCME_PassiveSensor, mSuppressCommData, mSuppressEmissionsData, mSuppressNonStandardData, mTerseMode, mThreadSleepTime, mUseDeprecatedCME_DrawData, mUsePduTime, mUseSimpleAccelerations, mUseSimpleOrientRates, mUseTrackJamForTrackingRequests, mUseWorldToBodyAngularVelocities, mZeroBodyAngularVelocities, ProcessArticulatedPart(), ProcessDeviceInput(), ProcessFilterAllowance(), WsfDisExchange::ProcessInput(), WsfDisFilterAllowance::SetPduType(), and SuppressNonStandardData().
Referenced by ProcessInput().
| bool WsfDisInput::ProcessDeviceInput | ( | WsfScenario & | aScenario, |
| UtInput & | aInput, | ||
| DeviceConfiguration & | aConfiguration ) |
References WsfDisDevice::cDEVICE_BROADCAST, WsfDisDevice::cDEVICE_MULTICAST, WsfDisDevice::cDEVICE_PLAYBACK, WsfDisDevice::cDEVICE_RECORD, WsfDisDevice::cDEVICE_UNICAST, WsfScenario::FindExtension(), WsfDisInput::DeviceConfiguration::mAddress, mAfterBurnerByName, mAfterBurnerByType, mArticulationByName, mArticulationByType, mComponents, mConfigIdByName, mConfigIdByType, WsfDisInput::DeviceConfiguration::mDeviceType, mInputHeartbeatMultiplier, WsfDisInput::DeviceConfiguration::mInterfaceAddress, WsfDisInput::Articulation::mPartNumber, WsfDisInput::DeviceConfiguration::mRecvPort, WsfDisInput::Articulation::mScriptId, WsfDisInput::DeviceConfiguration::mSendPort, mSimpleMissReporting, WsfDisInput::Articulation::mVariableId, WsfExtInput::ProcessExtInput(), and ValidSignatureTypeName().
Referenced by ProcessBlockInput().
| bool WsfDisInput::ProcessFilterAllowance | ( | UtInput & | aInput, |
| WsfDisFilterAllowance & | aAllowance ) |
References WsfDisFilterAllowance::cALL, WsfDisFilterAllowance::cENTITYFORCE, WsfDisFilterAllowance::cENTITYTYPE, WsfDisFilterAllowance::cTRACKED, WsfDisFilterAllowance::mEntitySide, WsfDisFilterAllowance::mEntityTypeName, WsfDisFilterAllowance::mFilterType, WsfDisFilterAllowance::mTrackedFlag, and WsfDisFilterAllowance::mTrackingSide.
Referenced by ProcessBlockInput().
| bool WsfDisInput::ProcessInput | ( | WsfScenario & | aScenario, |
| UtInput & | aInput ) |
References ProcessBlockInput().
Referenced by wsf::dis::ScenarioExtension::ProcessInput().
|
inline |
References mSuppressCME_DetectBeam.
|
inline |
References mSuppressCME_EntityData.
|
inline |
References mSuppressCME_PassiveSensor.
|
inline |
Returns 'true' if the DIS interface is only sending standard DIS data.
References mSuppressNonStandardData.
Referenced by ProcessBlockInput().
| void WsfDisInput::SuppressNonStandardData | ( | bool | aDoSupress | ) |
Called by WsfDisInterface to disable output of non-DIS standard data.
References mSuppressCME_DetectBeam, mSuppressCME_EntityData, and mSuppressCME_PassiveSensor.
|
inline |
Returns the value of the bool being used to see the acceleration data required in the entity state PDU.
References mUseSimpleAccelerations.
|
inline |
Is the sensor track-jam list being used to indicate a tracking request.
References mUseTrackJamForTrackingRequests.
|
static |
Referenced by ProcessDeviceInput().
| union { ... } WsfDisInput |
|
protected |
Afterburner map for changing of signatures via DIS Entity Appearance afterburner field (bit 16).
Referenced by ProcessDeviceInput().
|
protected |
Referenced by ProcessDeviceInput().
|
protected |
Map for changing appearance (signatures, etc.) via articulated parts.
Referenced by ProcessDeviceInput().
|
protected |
Referenced by ProcessDeviceInput().
|
protected |
Referenced by GetArticulationList(), and ProcessArticulatedPart().
| bool WsfDisInput::mAutostart |
|
protected |
|
protected |
Referenced by ProcessDeviceInput().
|
protected |
Referenced by ProcessDeviceInput().
| bool WsfDisInput::mDebugAppearanceUpdates |
Referenced by ProcessBlockInput().
| bool WsfDisInput::mDebugEnabled |
Referenced by DebugEnabled(), and ProcessBlockInput().
| bool WsfDisInput::mDebugThread |
Referenced by ProcessBlockInput().
|
protected |
| unsigned int WsfDisInput::mFlags |
Referenced by WsfDisInput().
|
protected |
Referenced by WsfDisInterface::PrepareExtension(), ProcessBlockInput(), and WsfDisInterface::ResetFiltering().
|
protected |
Referenced by WsfDisInterface::PrepareExtension(), ProcessBlockInput(), and WsfDisInterface::ResetFiltering().
|
protected |
|
protected |
Referenced by WsfDisInterface::PrepareExtension(), ProcessBlockInput(), and WsfDisInterface::ResetFiltering().
| bool WsfDisInput::mIgnoreStopFreezePDU |
Ignore the Stop/Freeze PDU; can be used by simulations running asynchronously.
Referenced by WsfDisInterface::IgnoreStopFreezePDU(), and ProcessBlockInput().
|
protected |
Referenced by WsfDisInterface::PrepareExtension(), ProcessDeviceInput(), and WsfDisInput().
| bool WsfDisInput::mJoinExercise |
Join an exercise for non-realtime simulation.
Referenced by WsfDisInterface::ActivateConnection(), ProcessBlockInput(), WsfDisInterface::RequestTimeAdvance(), and WsfDisInterface::ShouldJoinExercise().
| bool WsfDisInput::mLogCreatedEntities |
Referenced by ProcessBlockInput().
| unsigned WsfDisInput::mMaxBadPDU_Count |
Referenced by ProcessBlockInput(), WsfDisInterface::ReceivedBadEntityState(), and WsfDisInput().
| int WsfDisInput::mMulticastTimeToLive |
Referenced by WsfDisInterface::ActivateConnection(), GetTimeToLive(), ProcessBlockInput(), and WsfDisInput().
| bool WsfDisInput::mMultiThreaded |
|
protected |
Referenced by WsfDisInterface::PrepareExtension(), ProcessBlockInput(), and WsfDisInterface::ResetFiltering().
| bool WsfDisInput::mSendPeriodicsWhilePaused |
Referenced by ProcessBlockInput(), and WsfDisInterface::SimulationPausing().
|
protected |
Referenced by WsfDisInterface::ExecuteSensorUpdateEvent(), GetSensorUpdateInterval(), ProcessBlockInput(), and WsfDisInput().
| bool WsfDisInput::mShadowAll |
Referenced by ProcessBlockInput().
|
protected |
Referenced by ProcessBlockInput().
|
protected |
Referenced by ProcessBlockInput().
| bool WsfDisInput::mSimpleMissReporting |
Referenced by ProcessDeviceInput().
| bool WsfDisInput::mSuppressCME_DetectBeam |
Deprecated commands.
'true' if the non-standard pseudo-beam used for CME detections should NOT be sent.
Referenced by ProcessBlockInput(), WsfDisInterface::SuppressAllNonStandardPDUs(), SuppressCME_DetectBeam(), SuppressNonStandardData(), and WsfDisInput().
| bool WsfDisInput::mSuppressCME_DrawData |
'true' if the non-standard practice of sending WsfDraw PDUs across the network should NOT take place
Referenced by WsfDisInterface::ActivateConnection(), ProcessBlockInput(), and WsfDisInput().
| bool WsfDisInput::mSuppressCME_EntityData |
'true' if the non-standard 'other' PDU used for CME entity data should NOT be sent.
Referenced by ProcessBlockInput(), WsfDisInterface::SuppressAllNonStandardPDUs(), SuppressCME_EntityData(), SuppressNonStandardData(), and WsfDisInput().
| bool WsfDisInput::mSuppressCME_PassiveSensor |
'true' if the non-standard practice of sending emissions PDUs for passive sensors should NOT take place.
Referenced by ProcessBlockInput(), WsfDisInterface::SuppressAllNonStandardPDUs(), SuppressCME_PassiveSensor(), SuppressNonStandardData(), and WsfDisInput().
| bool WsfDisInput::mSuppressCommData |
Referenced by WsfDisInterface::MessageReceived(), WsfDisInterface::MessageTransmitted(), and ProcessBlockInput().
| bool WsfDisInput::mSuppressEmissionsData |
Referenced by WsfDisInterface::GetSuppressEmissionsData(), and ProcessBlockInput().
| bool WsfDisInput::mSuppressNonStandardData |
'true' if WSF will only output standard DIS data.
Referenced by WsfDisInterface::ActivateConnection(), ProcessBlockInput(), and SuppressNonStandardData().
| bool WsfDisInput::mTerseMode |
Referenced by IsTerseMode(), and ProcessBlockInput().
| double WsfDisInput::mThreadSleepTime |
Referenced by ProcessBlockInput(), and WsfDisInput().
| bool WsfDisInput::mUseDeprecatedCME_DrawData |
'true' if the WsfDraw DIS 'Other' PDUs containing draw commands will be sent using the deprecated format.
Referenced by WsfDisInterface::ActivateConnection(), and ProcessBlockInput().
| bool WsfDisInput::mUsePduTime |
Referenced by WsfDisInterface::GetTimeFromPdu(), and ProcessBlockInput().
| bool WsfDisInput::mUseSimpleAccelerations |
Force acceleration data in acceleration fields and use simple acceleration equation
Referenced by ProcessBlockInput(), and UseSimpleAccelerations().
| bool WsfDisInput::mUseSimpleOrientRates |
Use the calculated simple orientation rates.
Referenced by ProcessBlockInput(), and WsfDisInterface::UseSimpleOrientationRate().
| bool WsfDisInput::mUseTrackJamForTrackingRequests |
If 'true', the track-jam list in tracking sensors will reflect entities for which tracking requests are active.
Referenced by ProcessBlockInput(), and UseTrackJamForTrackingRequests().
| bool WsfDisInput::mUseWorldToBodyAngularVelocities |
Force the world (Euler) angular velocities to body axis angular velocities.
Referenced by ProcessBlockInput(), and WsfDisInterface::UseWorldToBodyAngularVelocities().
| bool WsfDisInput::mZeroBodyAngularVelocities |
Zero out the world (Euler) angular velocities to body axis angular velocities.
Referenced by ProcessBlockInput(), and WsfDisInterface::ZeroWorldToBodyAngularVelocities().
|
protected |
Referenced by WsfDisInput().
|
protected |