WSF
WsfL16::Interface_J11 Class Reference

WsfL16::Interface_J11 is an interface to DisSignal PDUs conveying J11 messages. More...

#include <Interface_J11.hpp>

Inheritance diagram for WsfL16::Interface_J11:
Collaboration diagram for WsfL16::Interface_J11:

Public Types

enum  J11_MessageType { cWEAPON_PESPONSE_STATUS , cWEAPON_DIRECTIVE , cWEAPON_COORDINATION }

Public Member Functions

 Interface_J11 (Interface *aInterfacePtr, Interface_J11_Setup &aScenario)
 Constructor.
virtual ~Interface_J11 ()
 Virtual destructor.
void Initialize ()
Public Member Functions inherited from WsfL16::Interface_J11_Setup
 Interface_J11_Setup ()
bool ProcessInput (UtInput &aInput)
void SetDebugEnabled (bool aDebugEnabled)

J11 Message Processing

static UtCallbackListN< void(const DisEntityId &, const unsigned int, unsigned int &)> FindWeaponIndex
static UtCallbackListN< void(WsfWeapon *, WsfDisPlatform *&)> UpdateFiringEntity
void ProcessJ11Message (const DisEntityId &aSenderEntityId, const Messages::InitialBase &aMessage, int aSubLabel)
void ProcessJ11_0Message (const DisEntityId &aSenderEntityId, const Messages::InitialBase &aMessage)
void ProcessJ11_1Message (const DisEntityId &aSenderEntityId, const Messages::InitialBase &aMessage)
void ProcessJ11_2Message (const DisEntityId &aSenderEntityId, const Messages::InitialBase &aMessage)
void WeaponFired (double aSimTime, const WsfWeaponEngagement *aEngagementPtr, const WsfTrack *aTargetTrackPtr)
void WeaponTerminated (double aSimTime, const WsfWeaponEngagement *aEngagementPtr)
void HandoffControlChange (const DisEntityId &aSenderEntityId, const unsigned int aSenderTrackNumber, WsfPlatform *aWeaponPlatformPtr, const Messages::InitialBase &aMessage)
void InFlightTargetUpdate (const DisEntityId &aSenderEntityId, WsfPlatform *aWeaponPlatformPtr, const Messages::InitialBase &aMessage)
double ProcessWIFT_Event (double aSimTime, WsfPlatform *aWeaponPlatformPtr)
 Event for weapon in-flight track reporting.
void SendBombHitIndicationReport (WsfPlatform *aWeaponPlatformPtr, WsfPlatform *aTargetPlatformPtr)
void SendWeaponSelfAbortReport (WsfPlatform *aWeaponPlatformPtr, const std::string &aExtendedResult)
WsfSimulationGetSimulation () const

Additional Inherited Members

Protected Types inherited from WsfL16::Interface_J11_Setup
typedef std::pair< WsfStringId, Messages::J11_0::WeaponNEW_TypeField::WeaponNEW_TypeType > TypeOfNEW_MapTypePair
 Weapon in-flight track report interval.
typedef std::map< WsfStringId, Messages::J11_0::WeaponNEW_TypeField::WeaponNEW_TypeType > TypeOfNEW_MapType
typedef std::map< WsfStringId, Messages::J11_0::WeaponNEW_TypeField::WeaponNEW_TypeType >::iterator TypeOfNEW_MapTypeIterator
typedef std::map< unsigned int, WsfStringIdControllerMapType
Protected Member Functions inherited from WsfL16::Interface_J11_Setup
void AddTypeOfNEW (WsfStringId aPlatformType, int aNEW_Type)
Protected Attributes inherited from WsfL16::Interface_J11_Setup
bool mDebugEnabled
bool mDebugPrintMessages
 Debug flag.
bool mAllowAnyComm
bool mUseTimeOfTargetMeasurement
 True if any comm device can be used.
double mWIFT_Interval
 True if using J11.1C3 TIME OF TARGET MEASUREMENT.
TypeOfNEW_MapType mTypeOfNEW_Map
ControllerMapType mControllerMap

Detailed Description

WsfL16::Interface_J11 is an interface to DisSignal PDUs conveying J11 messages.

Member Enumeration Documentation

◆ J11_MessageType

Enumerator
cWEAPON_PESPONSE_STATUS 
cWEAPON_DIRECTIVE 
cWEAPON_COORDINATION 

Constructor & Destructor Documentation

◆ Interface_J11()

WsfL16::Interface_J11::Interface_J11 ( Interface * aInterfacePtr,
Interface_J11_Setup & aScenario )

◆ ~Interface_J11()

WsfL16::Interface_J11::~Interface_J11 ( )
virtual

Virtual destructor.

Member Function Documentation

◆ GetSimulation()

◆ HandoffControlChange()

void WsfL16::Interface_J11::HandoffControlChange ( const DisEntityId & aSenderEntityId,
const unsigned int aSenderTrackNumber,
WsfPlatform * aWeaponPlatformPtr,
const Messages::InitialBase & aMessage )

Process a J11.1-11 message

Parameters
aSenderEntityId[input] DIS Entity ID of the sender.
aSenderTrackNumber[input] The track number of the sender.
aWeaponPlatformPtr[input] A pointer to the weapon platform
aMessage[input] JTIDS J11 message

References WsfL16::Messages::J11_1::ThirdPartySourceField::cALTERNATE_CONTROLLER, and WsfPlatform::GetIndex().

Referenced by ProcessJ11_1Message().

◆ InFlightTargetUpdate()

void WsfL16::Interface_J11::InFlightTargetUpdate ( const DisEntityId & aSenderEntityId,
WsfPlatform * aWeaponPlatformPtr,
const Messages::InitialBase & aMessage )

Process a J11.1-5 message

Parameters
aSenderEntityId[input] The entity ID of the originator
aWeaponPlatformPtr[input] A pointer to the weapon platform
aMessage[input] JTIDS J11 message

References WsfTrackManager::GetCurrentTarget(), WsfObject::GetNameId(), WsfTrack::GetTargetIndex(), WsfTrack::GetTargetName(), WsfTrack::GetTargetType(), WsfPlatform::GetTrackManager(), and trackPtr.

Referenced by ProcessJ11_1Message().

◆ Initialize()

void WsfL16::Interface_J11::Initialize ( )

◆ ProcessJ11_0Message()

void WsfL16::Interface_J11::ProcessJ11_0Message ( const DisEntityId & aSenderEntityId,
const Messages::InitialBase & aMessage )

Process a J11.0 message (Weapon Response/Status)

Parameters
aSenderEntityId[input] DIS Entity ID of the sender.
aMessage[input] JTIDS J11 message

References c4, WsfSimulation::GetPlatformByName(), WsfSimulation::GetSimTime(), GetSimulation(), WsfL16::Interface_J11_Setup::mControllerMap, WsfL16::Interface_J11_Setup::mDebugEnabled, and WsfL16::Interface_J11_Setup::mDebugPrintMessages.

Referenced by ProcessJ11Message().

◆ ProcessJ11_1Message()

void WsfL16::Interface_J11::ProcessJ11_1Message ( const DisEntityId & aSenderEntityId,
const Messages::InitialBase & aMessage )

◆ ProcessJ11_2Message()

void WsfL16::Interface_J11::ProcessJ11_2Message ( const DisEntityId & aSenderEntityId,
const Messages::InitialBase & aMessage )

Process a J11.2 message (Weapon Coordination)

Parameters
aSenderEntityId[input] DIS Entity ID of the sender.
aMessage[input] JTIDS J11 message

References WsfSimulation::GetSimTime(), GetSimulation(), WsfL16::Interface_J11_Setup::mDebugEnabled, and WsfL16::Interface_J11_Setup::mDebugPrintMessages.

Referenced by ProcessJ11Message().

◆ ProcessJ11Message()

void WsfL16::Interface_J11::ProcessJ11Message ( const DisEntityId & aSenderEntityId,
const Messages::InitialBase & aMessage,
int aSubLabel )

Process a J11 message

Parameters
aSenderEntityId[input] DIS Entity ID of the sender.
aMessage[input] JTIDS J11 message
aSubLabel[input] The message sub-label

References cWEAPON_COORDINATION, cWEAPON_DIRECTIVE, cWEAPON_PESPONSE_STATUS, ProcessJ11_0Message(), ProcessJ11_1Message(), and ProcessJ11_2Message().

◆ ProcessWIFT_Event()

double WsfL16::Interface_J11::ProcessWIFT_Event ( double aSimTime,
WsfPlatform * aWeaponPlatformPtr )

Event for weapon in-flight track reporting.

Periodic sending of the weapon in-flight track (WIFT) report

Parameters
aSimTimeThe current simulation time.
aWeaponPlatformPtr[input] A pointer to the weapon platform

References WsfPlatform::GetIndex(), WsfObject::GetName(), WsfSimulation::GetSimTime(), GetSimulation(), WsfL16::Interface_J11_Setup::mDebugEnabled, and WsfL16::Interface_J11_Setup::mWIFT_Interval.

◆ SendBombHitIndicationReport()

void WsfL16::Interface_J11::SendBombHitIndicationReport ( WsfPlatform * aWeaponPlatformPtr,
WsfPlatform * aTargetPlatformPtr )

Send a J11.0-3 message

Parameters
aWeaponPlatformPtr[input] A pointer to the weapon platform
aTargetPlatformPtr[input] A pointer to the target platform

References WsfTrackManager::GetCurrentTarget(), WsfObject::GetName(), WsfSimulation::GetSimTime(), GetSimulation(), WsfPlatform::GetTrackManager(), and WsfL16::Interface_J11_Setup::mDebugEnabled.

Referenced by WeaponTerminated().

◆ SendWeaponSelfAbortReport()

void WsfL16::Interface_J11::SendWeaponSelfAbortReport ( WsfPlatform * aWeaponPlatformPtr,
const std::string & aExtendedResult )

Send a J11.0-7 message

Parameters
aWeaponPlatformPtr[input] A pointer to the weapon platform
aExtendedResult[input] Extended result from weapon

References WsfObject::GetName(), WsfSimulation::GetSimTime(), GetSimulation(), and WsfL16::Interface_J11_Setup::mDebugEnabled.

Referenced by WeaponTerminated().

◆ WeaponFired()

void WsfL16::Interface_J11::WeaponFired ( double aSimTime,
const WsfWeaponEngagement * aEngagementPtr,
const WsfTrack * aTargetTrackPtr )

A simulation observer callback to handle weapon firing events

Parameters
aSimTimeThe current simulation time.
aEngagementPtrA pointer to the weapon engagement data.
aTargetTrackPtrA pointer to the target track (may be 0).

References WsfSimulation::AddEvent(), WsfDisInterface::GetDisPlatform(), WsfDisPlatform::GetEntityId(), WsfWeaponEngagement::GetFiringPlatform(), WsfPlatform::GetIndex(), WsfObject::GetName(), WsfSimulation::GetSimTime(), GetSimulation(), WsfWeaponEngagement::GetWeaponPlatform(), WsfPlatform::IsExternallyControlled(), and WsfL16::Interface_J11_Setup::mDebugEnabled.

◆ WeaponTerminated()

void WsfL16::Interface_J11::WeaponTerminated ( double aSimTime,
const WsfWeaponEngagement * aEngagementPtr )

A simulation observer callback to handle weapon termination events

Parameters
aSimTimeThe current simulation time.
aEngagementPtrA pointer to the weapon engagement data.

References WsfWeaponEngagement::GetExtendedResult(), WsfPlatform::GetIndex(), WsfSimulation::GetPlatformByIndex(), GetSimulation(), WsfWeaponEngagement::GetTargetPlatformIndex(), WsfWeaponEngagement::GetWeaponPlatform(), SendBombHitIndicationReport(), and SendWeaponSelfAbortReport().

Member Data Documentation

◆ FindWeaponIndex

UtCallbackListN< void(const DisEntityId &, const unsigned int, unsigned int &)> WsfL16::Interface_J11::FindWeaponIndex
static

◆ UpdateFiringEntity

UtCallbackListN< void(WsfWeapon *, WsfDisPlatform *&)> WsfL16::Interface_J11::UpdateFiringEntity
static

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