|
WSF
|
WsfL16::Interface_J11 is an interface to DisSignal PDUs conveying J11 messages. More...
#include <Interface_J11.hpp>


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) |
| WsfSimulation * | GetSimulation () 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, WsfStringId > | ControllerMapType |
| 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 |
WsfL16::Interface_J11 is an interface to DisSignal PDUs conveying J11 messages.
| WsfL16::Interface_J11::Interface_J11 | ( | Interface * | aInterfacePtr, |
| Interface_J11_Setup & | aScenario ) |
Constructor.
References WsfL16::Interface_J11_Setup::Interface_J11_Setup().
|
virtual |
Virtual destructor.
| WsfSimulation * WsfL16::Interface_J11::GetSimulation | ( | ) | const |
| void WsfL16::Interface_J11::HandoffControlChange | ( | const DisEntityId & | aSenderEntityId, |
| const unsigned int | aSenderTrackNumber, | ||
| WsfPlatform * | aWeaponPlatformPtr, | ||
| const Messages::InitialBase & | aMessage ) |
Process a J11.1-11 message
| 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().
| void WsfL16::Interface_J11::InFlightTargetUpdate | ( | const DisEntityId & | aSenderEntityId, |
| WsfPlatform * | aWeaponPlatformPtr, | ||
| const Messages::InitialBase & | aMessage ) |
Process a J11.1-5 message
| 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().
| void WsfL16::Interface_J11::Initialize | ( | ) |
| void WsfL16::Interface_J11::ProcessJ11_0Message | ( | const DisEntityId & | aSenderEntityId, |
| const Messages::InitialBase & | aMessage ) |
Process a J11.0 message (Weapon Response/Status)
| 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().
| void WsfL16::Interface_J11::ProcessJ11_1Message | ( | const DisEntityId & | aSenderEntityId, |
| const Messages::InitialBase & | aMessage ) |
Process a J11.1 message (Weapon Directive)
| aSenderEntityId | [input] DIS Entity ID of the sender. |
| aMessage | [input] JTIDS J11 message |
References WsfL16::Messages::J11_1::WeaponDiscreteField::cHANDOFF_CONTROL_CHANGE_ORDER, WsfL16::Messages::J11_1::WeaponDiscreteField::cIN_FLIGHT_TARGET_UPDATE, WsfSimulation::GetSimTime(), GetSimulation(), HandoffControlChange(), InFlightTargetUpdate(), WsfL16::Interface_J11_Setup::mDebugEnabled, and WsfL16::Interface_J11_Setup::mDebugPrintMessages.
Referenced by ProcessJ11Message().
| void WsfL16::Interface_J11::ProcessJ11_2Message | ( | const DisEntityId & | aSenderEntityId, |
| const Messages::InitialBase & | aMessage ) |
Process a J11.2 message (Weapon Coordination)
| 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().
| void WsfL16::Interface_J11::ProcessJ11Message | ( | const DisEntityId & | aSenderEntityId, |
| const Messages::InitialBase & | aMessage, | ||
| int | aSubLabel ) |
Process a J11 message
| 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().
| 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
| aSimTime | The 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.
| void WsfL16::Interface_J11::SendBombHitIndicationReport | ( | WsfPlatform * | aWeaponPlatformPtr, |
| WsfPlatform * | aTargetPlatformPtr ) |
Send a J11.0-3 message
| 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().
| void WsfL16::Interface_J11::SendWeaponSelfAbortReport | ( | WsfPlatform * | aWeaponPlatformPtr, |
| const std::string & | aExtendedResult ) |
Send a J11.0-7 message
| 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().
| void WsfL16::Interface_J11::WeaponFired | ( | double | aSimTime, |
| const WsfWeaponEngagement * | aEngagementPtr, | ||
| const WsfTrack * | aTargetTrackPtr ) |
A simulation observer callback to handle weapon firing events
| aSimTime | The current simulation time. |
| aEngagementPtr | A pointer to the weapon engagement data. |
| aTargetTrackPtr | A 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.
| void WsfL16::Interface_J11::WeaponTerminated | ( | double | aSimTime, |
| const WsfWeaponEngagement * | aEngagementPtr ) |
A simulation observer callback to handle weapon termination events
| aSimTime | The current simulation time. |
| aEngagementPtr | A pointer to the weapon engagement data. |
References WsfWeaponEngagement::GetExtendedResult(), WsfPlatform::GetIndex(), WsfSimulation::GetPlatformByIndex(), GetSimulation(), WsfWeaponEngagement::GetTargetPlatformIndex(), WsfWeaponEngagement::GetWeaponPlatform(), SendBombHitIndicationReport(), and SendWeaponSelfAbortReport().
|
static |
|
static |