WSF
WsfDisEmission Class Reference

#include <WsfDisEmission.hpp>

Inherits DisEmission.

Public Types

using OverrideTypeAndFunctionCallback = UtCallbackListN<void(WsfPlatformPart*, DisSystem*, DisEnum16&, DisEnum8&)>

Public Member Functions

 WsfDisEmission (DisPdu &aPdu, GenI &aGenI, WsfDisInterface *aInterfacePtr)
 WsfDisEmission ()=default
 ~WsfDisEmission () override=default
int Process () override
 Process the DIS Emission PDU.
WsfExtEmissionGetExtEmission () const

Static Public Attributes

static OverrideTypeAndFunctionCallback OverrideTypeAndFunction

Update methods using DIS emission PDU data.

void UpdateSensor (DisSystem *aSystemPtr, WsfSensor *aSensorPtr)
void UpdateLocation (DisSystem *aSystemPtr, WsfArticulatedPart *aArticulatedPartPtr)
 Updates the articulated part given the DIS emission PDU location data.
void UpdateXmtr (DisBeam *aBeamPtr, WsfEM_Xmtr *aXmtrPtr, bool &aBeamOn)
 Updates an EM transmitter using the DIS emission PDU beam data.
void UpdateSysBeamMapping (unsigned int aSysUniqueId, unsigned int aBeamUniqueId, unsigned int aXmtrUniqueId)
 Update the system-beam to xmtr ID mapping.

Member Typedef Documentation

◆ OverrideTypeAndFunctionCallback

using WsfDisEmission::OverrideTypeAndFunctionCallback = UtCallbackListN<void(WsfPlatformPart*, DisSystem*, DisEnum16&, DisEnum8&)>

Constructor & Destructor Documentation

◆ WsfDisEmission() [1/2]

WsfDisEmission::WsfDisEmission ( DisPdu & aPdu,
GenI & aGenI,
WsfDisInterface * aInterfacePtr )

◆ WsfDisEmission() [2/2]

WsfDisEmission::WsfDisEmission ( )
default

◆ ~WsfDisEmission()

WsfDisEmission::~WsfDisEmission ( )
overridedefault

References Process().

Member Function Documentation

◆ GetExtEmission()

WsfExtEmission * WsfDisEmission::GetExtEmission ( ) const

◆ Process()

◆ UpdateLocation()

void WsfDisEmission::UpdateLocation ( DisSystem * aSystemPtr,
WsfArticulatedPart * aArticulatedPartPtr )

Updates the articulated part given the DIS emission PDU location data.

Updates the articulated part location from the DIS emitter location data.

Parameters
aSystemPtr[input] Pointer to the DIS emission PDU system.
aArticulatedPartPtr[input] Pointer to the part to update.

Referenced by UpdateSensor(), and WsfMilDisInterface::UpdateWeapon().

◆ UpdateSensor()

◆ UpdateSysBeamMapping()

void WsfDisEmission::UpdateSysBeamMapping ( unsigned int aSysUniqueId,
unsigned int aBeamUniqueId,
unsigned int aXmtrUniqueId )

Update the system-beam to xmtr ID mapping.

Parameters
aSysUniqueId[input] Unique ID of the DIS system.
aBeamUniqueId[input] Unique ID of the DIS beam.
aXmtrUniqueId[input] Unique ID of the xmtr.

References WsfDisUtil::FindDisPlatform(), and WsfDisPlatform::SetSysBeamIdToPartId().

Referenced by UpdateSensor(), and WsfMilDisInterface::UpdateWeapon().

◆ UpdateXmtr()

void WsfDisEmission::UpdateXmtr ( DisBeam * aBeamPtr,
WsfEM_Xmtr * aXmtrPtr,
bool & aBeamOn )

Updates an EM transmitter using the DIS emission PDU beam data.

Updates the EM transmitter from the DIS emitter beam data.

Parameters
aBeamPtr[input] Pointer to the DIS emission PDU beam.
aXmtrPtr[input] Pointer to the transmitter to update.
aBeamOn[updated] Set to 'true' if the effective radiated power is > 0.0, otherwise not changed.

References WsfExtEmission::cLEVEL_TWO_DEBUG, WsfEM_XmtrRcvr::GetAntennaGain(), WsfEM_XmtrRcvr::GetBandwidth(), GetExtEmission(), WsfEM_XmtrRcvr::GetFrequency(), WsfEM_XmtrRcvr::GetInternalLoss(), WsfEM_XmtrRcvr::GetMode(), WsfNamed::GetName(), WsfEM_XmtrRcvr::GetPolarization(), WsfEM_Xmtr::GetPulseRepetitionFrequency(), WsfEM_Xmtr::GetPulseWidth(), WsfEM_Xmtr::SetBandwidth(), WsfEM_Xmtr::SetFrequency(), WsfEM_Xmtr::SetPower(), WsfEM_Xmtr::SetPulseRepetitionFrequency(), and WsfEM_Xmtr::SetPulseWidth().

Referenced by UpdateSensor(), and WsfMilDisInterface::UpdateWeapon().

Member Data Documentation

◆ OverrideTypeAndFunction

WsfDisEmission::OverrideTypeAndFunctionCallback WsfDisEmission::OverrideTypeAndFunction
static

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