WSF
WsfDisInput Class Reference

#include <WsfDisInput.hpp>

Inheritance diagram for WsfDisInput:
Collaboration diagram for WsfDisInput:

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::ArticulationListGetArticulationList () const
void AddComponent (Component *aComponentPtr)
const ComponentListGetComponents () 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< WsfStringIdmShadowTypeId
std::set< WsfStringIdmShadowNameId
std::vector< DeviceConfigurationmDeviceConfigurations
RangeFilteredPlatforms mRangeFilteredPlatforms
std::set< WsfExtEntityTypemIgnoredTypes
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

Detailed Description

Configuration data for the DIS interface. Seeded by the input file (ProcessInput). Copied to the DIS interface upon creation

Member Typedef Documentation

◆ ArticulationMap

◆ ArticulationVec

◆ Component

◆ ComponentList

◆ IdIdToStringIDMap

◆ IdIdToStringIDMapIter

◆ NameTypeToStateIdPair

using WsfDisInput::NameTypeToStateIdPair = std::pair<WsfStringId, int>
protected

◆ RangeFilteredPlatforms

using WsfDisInput::RangeFilteredPlatforms = std::vector<std::tuple<WsfStringId, size_t, double>>
protected

◆ StringToStateIdPair

using WsfDisInput::StringToStateIdPair = std::pair<std::string, WsfStringId>
protected

◆ StringToStateIdVec

using WsfDisInput::StringToStateIdVec = std::vector<StringToStateIdPair>
protected

Constructor & Destructor Documentation

◆ WsfDisInput()

Member Function Documentation

◆ AddComponent()

void WsfDisInput::AddComponent ( Component * aComponentPtr)
inline

References mComponents.

Referenced by WsfMilExtension::AddedToScenario().

◆ DebugEnabled()

bool WsfDisInput::DebugEnabled ( ) const
inline

References mDebugEnabled.

Referenced by WsfDisUtil::DebugEnabled().

◆ GetArticulationList()

const WsfDisArticulatedPart::ArticulationList & WsfDisInput::GetArticulationList ( ) const
inline

References mArticulationList.

◆ GetComponents()

const ComponentList & WsfDisInput::GetComponents ( ) const
inline

References mComponents.

Referenced by WsfMilDisInterface::Find().

◆ GetDeviceConfigurations()

std::vector< DeviceConfiguration > & WsfDisInput::GetDeviceConfigurations ( )
inline

Return whether device configurations for evaluation.

References mDeviceConfigurations.

Referenced by engage::SimulationExtension::Initialize().

◆ GetIgnoredSiteAndApplicationPair()

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.

◆ GetIgnoredSiteAndApps()

std::set< std::pair< unsigned short, unsigned short > > & WsfDisInput::GetIgnoredSiteAndApps ( )
inline

Returns the list of ignored sites and applications.

References mIgnoredSiteAndApps.

◆ GetSensorUpdateInterval()

double WsfDisInput::GetSensorUpdateInterval ( ) const
inline

References mSensorUpdateInterval.

◆ GetTimeToLive()

int WsfDisInput::GetTimeToLive ( ) const
inline

References mMulticastTimeToLive.

◆ IgnoreSiteAndApplication()

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().

◆ IsTerseMode()

bool WsfDisInput::IsTerseMode ( ) const
inline

Return whether the user has specified to limit information displayed on stdout (such as introduction of external platforms).

References mTerseMode.

◆ MultiThreaded()

bool WsfDisInput::MultiThreaded ( ) const
inline

References mMultiThreaded.

◆ ProcessArticulatedPart()

◆ ProcessBlockInput()

◆ ProcessDeviceInput()

◆ ProcessFilterAllowance()

◆ ProcessInput()

bool WsfDisInput::ProcessInput ( WsfScenario & aScenario,
UtInput & aInput )

◆ SuppressCME_DetectBeam()

bool WsfDisInput::SuppressCME_DetectBeam ( ) const
inline

◆ SuppressCME_EntityData()

bool WsfDisInput::SuppressCME_EntityData ( ) const
inline

◆ SuppressCME_PassiveSensor()

bool WsfDisInput::SuppressCME_PassiveSensor ( ) const
inline

◆ SuppressNonStandardData() [1/2]

bool WsfDisInput::SuppressNonStandardData ( ) const
inline

Returns 'true' if the DIS interface is only sending standard DIS data.

References mSuppressNonStandardData.

Referenced by ProcessBlockInput().

◆ SuppressNonStandardData() [2/2]

void WsfDisInput::SuppressNonStandardData ( bool aDoSupress)

Called by WsfDisInterface to disable output of non-DIS standard data.

References mSuppressCME_DetectBeam, mSuppressCME_EntityData, and mSuppressCME_PassiveSensor.

◆ UseSimpleAccelerations()

bool WsfDisInput::UseSimpleAccelerations ( ) const
inline

Returns the value of the bool being used to see the acceleration data required in the entity state PDU.

References mUseSimpleAccelerations.

◆ UseTrackJamForTrackingRequests()

bool WsfDisInput::UseTrackJamForTrackingRequests ( )
inline

Is the sensor track-jam list being used to indicate a tracking request.

References mUseTrackJamForTrackingRequests.

◆ ValidSignatureTypeName()

bool WsfDisInput::ValidSignatureTypeName ( std::string & aType)
static

Referenced by ProcessDeviceInput().

Member Data Documentation

◆ [union]

union { ... } WsfDisInput

◆ mAfterBurnerByName

IdIdToStringIDMap WsfDisInput::mAfterBurnerByName
protected

Afterburner map for changing of signatures via DIS Entity Appearance afterburner field (bit 16).

Referenced by ProcessDeviceInput().

◆ mAfterBurnerByType

IdIdToStringIDMap WsfDisInput::mAfterBurnerByType
protected

Referenced by ProcessDeviceInput().

◆ mArticulationByName

ArticulationMap WsfDisInput::mArticulationByName
protected

Map for changing appearance (signatures, etc.) via articulated parts.

Referenced by ProcessDeviceInput().

◆ mArticulationByType

ArticulationMap WsfDisInput::mArticulationByType
protected

Referenced by ProcessDeviceInput().

◆ mArticulationList

WsfDisArticulatedPart::ArticulationList WsfDisInput::mArticulationList
protected

◆ mAutostart

◆ mComponents

◆ mConfigIdByName

IdIdToStringIDMap WsfDisInput::mConfigIdByName
protected

Referenced by ProcessDeviceInput().

◆ mConfigIdByType

IdIdToStringIDMap WsfDisInput::mConfigIdByType
protected

Referenced by ProcessDeviceInput().

◆ mDebugAppearanceUpdates

bool WsfDisInput::mDebugAppearanceUpdates

Referenced by ProcessBlockInput().

◆ mDebugEnabled

bool WsfDisInput::mDebugEnabled

Referenced by DebugEnabled(), and ProcessBlockInput().

◆ mDebugThread

bool WsfDisInput::mDebugThread

Referenced by ProcessBlockInput().

◆ mDeviceConfigurations

◆ mFlags

unsigned int WsfDisInput::mFlags

Referenced by WsfDisInput().

◆ mIgnoredKindAndDomain

std::set<std::pair<unsigned short, unsigned short> > WsfDisInput::mIgnoredKindAndDomain
protected

◆ mIgnoredPduTypes

std::set<DisEnum8> WsfDisInput::mIgnoredPduTypes
protected

◆ mIgnoredSiteAndApps

◆ mIgnoredTypes

std::set<WsfExtEntityType> WsfDisInput::mIgnoredTypes
protected

◆ mIgnoreStopFreezePDU

bool WsfDisInput::mIgnoreStopFreezePDU

Ignore the Stop/Freeze PDU; can be used by simulations running asynchronously.

Referenced by WsfDisInterface::IgnoreStopFreezePDU(), and ProcessBlockInput().

◆ mInputHeartbeatMultiplier

double WsfDisInput::mInputHeartbeatMultiplier
protected

◆ mJoinExercise

bool WsfDisInput::mJoinExercise

◆ mLogCreatedEntities

bool WsfDisInput::mLogCreatedEntities

Referenced by ProcessBlockInput().

◆ mMaxBadPDU_Count

unsigned WsfDisInput::mMaxBadPDU_Count

◆ mMulticastTimeToLive

int WsfDisInput::mMulticastTimeToLive

◆ mMultiThreaded

◆ mRangeFilteredPlatforms

RangeFilteredPlatforms WsfDisInput::mRangeFilteredPlatforms
protected

◆ mSendPeriodicsWhilePaused

bool WsfDisInput::mSendPeriodicsWhilePaused

◆ mSensorUpdateInterval

double WsfDisInput::mSensorUpdateInterval
protected

◆ mShadowAll

bool WsfDisInput::mShadowAll

Referenced by ProcessBlockInput().

◆ mShadowNameId

std::set<WsfStringId> WsfDisInput::mShadowNameId
protected

Referenced by ProcessBlockInput().

◆ mShadowTypeId

std::set<WsfStringId> WsfDisInput::mShadowTypeId
protected

Referenced by ProcessBlockInput().

◆ mSimpleMissReporting

bool WsfDisInput::mSimpleMissReporting

Referenced by ProcessDeviceInput().

◆ mSuppressCME_DetectBeam

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().

◆ mSuppressCME_DrawData

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().

◆ mSuppressCME_EntityData

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().

◆ mSuppressCME_PassiveSensor

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().

◆ mSuppressCommData

bool WsfDisInput::mSuppressCommData

◆ mSuppressEmissionsData

bool WsfDisInput::mSuppressEmissionsData

◆ mSuppressNonStandardData

bool WsfDisInput::mSuppressNonStandardData

'true' if WSF will only output standard DIS data.

Referenced by WsfDisInterface::ActivateConnection(), ProcessBlockInput(), and SuppressNonStandardData().

◆ mTerseMode

bool WsfDisInput::mTerseMode

Referenced by IsTerseMode(), and ProcessBlockInput().

◆ mThreadSleepTime

double WsfDisInput::mThreadSleepTime

Referenced by ProcessBlockInput(), and WsfDisInput().

◆ mUseDeprecatedCME_DrawData

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().

◆ mUsePduTime

bool WsfDisInput::mUsePduTime

◆ mUseSimpleAccelerations

bool WsfDisInput::mUseSimpleAccelerations

Force acceleration data in acceleration fields and use simple acceleration equation

Referenced by ProcessBlockInput(), and UseSimpleAccelerations().

◆ mUseSimpleOrientRates

bool WsfDisInput::mUseSimpleOrientRates

Use the calculated simple orientation rates.

Referenced by ProcessBlockInput(), and WsfDisInterface::UseSimpleOrientationRate().

◆ mUseTrackJamForTrackingRequests

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().

◆ mUseWorldToBodyAngularVelocities

bool WsfDisInput::mUseWorldToBodyAngularVelocities

Force the world (Euler) angular velocities to body axis angular velocities.

Referenced by ProcessBlockInput(), and WsfDisInterface::UseWorldToBodyAngularVelocities().

◆ mZeroBodyAngularVelocities

bool WsfDisInput::mZeroBodyAngularVelocities

Zero out the world (Euler) angular velocities to body axis angular velocities.

Referenced by ProcessBlockInput(), and WsfDisInterface::ZeroWorldToBodyAngularVelocities().

◆ sDebugEnabled

bool WsfDisInput::sDebugEnabled
protected

Referenced by WsfDisInput().

◆ sExcludedPlatformTypes

std::set<int> WsfDisInput::sExcludedPlatformTypes
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved