VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtDirectedEnergyFirePublisher Class Reference
+ Inheritance diagram for DtDirectedEnergyFirePublisher:
+ Collaboration diagram for DtDirectedEnergyFirePublisher:

Public Types

typedef
DtDirectedEnergyFireRepository *(* 
DtStateRepCreator )()
 Function prototype for functions that create DtDirectedEnergyFireRepositories. More...
 
- Public Types inherited from DtObjectPublisher
typedef DtAttributePdu *(* DtNonCoupledAttributePduCreator )(const DtPduWithAttributeRecordSets *, void *)
 Function prototype for functions that create DtAggregateStateRepositories. More...
 

Public Member Functions

 DtDirectedEnergyFirePublisher (DtDirectedEnergyFireRepository *stateRepToUse, DtExerciseConn *conn)
 constructor More...
 
 DtDirectedEnergyFirePublisher (DtExerciseConn *conn)
 constructor More...
 
virtual ~DtDirectedEnergyFirePublisher ()
 destructor More...
 
virtual bool tick ()
 This function should be called once per frame for each directedEnergyFire object. More...
 
virtual void setPulsedBeamMode (bool pulseOnPulseOff)
 If this is set, the detonation PDU will not be send on Weapon OFF. More...
 
virtual
DtDirectedEnergyFireRepository
directedEnergyFireStateRep ()
 Returns a pointer to the DirectedEnergyFireRepository - through which you can set or inspect current state information. More...
 
virtual
DtDirectedEnergyFireRepository
defr ()
 Synonym for directedEnergyFireStateRep(). More...
 
virtual
DtDirectedEnergyFireDecoder
decoder ()
 Returns a pointer to the Decoder being used to decode PDUs that we send back into the asSeenByRemote ESR. More...
 
virtual
DtDirectedEnergyFireEncoder
encoder ()
 Returns a pointer to the Encoder being used to encode current state into an entity state PDU. More...
 
virtual const DtEventIdeventId () const
 Get the directedEnergyFire's event id. More...
 
virtual void forceUpdate ()
 Force a state update to be sent during the next call to tick, even if nothing would normally cause a send. More...
 
virtual const DtObjectIdlocalId () const
 The localId is the same as the globalId, a DtEntityIdentifier unique to this object. More...
 
virtual const DtObjectIdid () const
 The id is the same as the globalId, a DtEntityIdentifier unique to this object. More...
 
virtual const
DtGlobalObjectDesignator
globalId () const
 The entityIdentifier unique to this object. More...
 
- Public Member Functions inherited from DtObjectPublisher
 DtObjectPublisher (DtExerciseConn *conn, DtStateRepository *stateRep, DtStateRepository *asSeenByRemote, bool okToDeleteStateRep=true)
 Constructor takes an DtExerciseConn which must have a lifetime greater than the ObjectPubliser. More...
 
virtual ~DtObjectPublisher ()
 Destructor. More...
 
virtual DtStateRepositorystateRep ()
 Returns a pointer to the DtStateRepository - through which you can set or inspect current state information. More...
 
virtual DtStateRepositorysr ()
 Returns a pointer to the DtStateRepository - through which you can set or inspect current state information. More...
 
virtual DtExerciseConnexerciseConn ()
 Get our exercise connection. More...
 
virtual bool parallelTick ()
 Tick (update) this object in parallel threads. More...
 
virtual void setTimeThreshold (DtTime time)
 Set the heartbeat rate for this object. More...
 
virtual DtTime timeThreshold () const
 The heartbeat rate for this object. More...
 
virtual void setRelLocTimeThreshold (DtTime time)
 Set the heartbeat rate of relative location updates for this object. More...
 
virtual DtTime relLocTimeThreshold () const
 The relative location heartbeat rate for this object. More...
 
virtual DtStateRepositoryapproximateRemoteStateRep ()
 Returns a pointer to the approximate remote DtStateRepository – This state repository contains the contents of the last sent message. More...
 
virtual DtTime lastTimeUpdated () const
 Returns the value of wallclock time at the time an update was last received for the entity. More...
 
virtual DtTime lastTimeAttrUpdated () const
 
virtual DtTime lastSimTimeUpdated () const
 Returns the value of sim time at the time an update was last received for the entity. More...
 
virtual void setUseCustomThreshold (bool useCustom)
 Sets whether or not this object will use a custom threshold value, or the default. More...
 
virtual bool useCustomThreshold ()
 Returns whether or not this object will use a custom threshold value, or the default. More...
 
virtual void setAttributePduStrategy (DtAttributePduStrategy strat)
 Sets/Gets whether to couple the attribute PDU. More...
 
virtual DtAttributePduStrategy attributePduStrategy () const
 
virtual void encodeExtensions (DtStateRepository *stateRep, const DtStateRepository &asSeenByRemote)
 Encode State Repository Extensions. Extensions should be added to stateRep attributeRecords. More...
 
virtual void decodeExtensions (DtPdu *pdu, const DtStateRepository &stateRep)
 Decode State Repository Extensions. More...
 
virtual void setUpdateRateWarningThreshold (unsigned short updatesPerSecond)
 Overrides the default (static) updates per second for a specific instance Sets/Gets for private member. More...
 
virtual unsigned short updateRateWarningThreshold () const
 
virtual void checkForUpdateRateWarning () const
 Helper function that determines whether or not to trigger a spam warning. More...
 
DtNonCoupledAttributePduCreator setNonCoupledAttributePduCreator (DtNonCoupledAttributePduCreator creator)
 Give us a function to be used for creating non-coupled Attribute PDUs. More...
 
DtNonCoupledAttributePduCreator nonCoupledAttributePduCreator (void)
 

Static Public Member Functions

static void setStateRepCreator (DtStateRepCreator creator)
 Give us a function to be used for creating SRs. More...
 
static DtStateRepCreator stateRepCreator (void)
 
- Static Public Member Functions inherited from DtObjectPublisher
static void setDfltTimeThreshold (DtTime time)
 Set the default heartbeat rate. More...
 
static DtTime dfltTimeThreshold ()
 The default heartbeat rate, see setDfltTimeThreshold(). More...
 
static void setDfltUpdateRateWarningThreshold (unsigned short updatesPerSecond)
 Sets the default (static) updates per second for any instance. More...
 
static unsigned short dfltUpdateRateWarningThreshold ()
 Return the value of theDfltUpdateRateWarningThreshold. More...
 
static void setDfltRelLocTimeThreshold (DtTime time)
 Set the default heartbeat rate for relative location updates. More...
 
static DtTime dfltRelLocTimeThreshold ()
 The default heartbeat rate for relative location updates, see setDfltRelLocTimeThreshold() More...
 
static
DtNonCoupledAttributePduCreator 
setDefaultNonCoupledAttributePduCreator (DtNonCoupledAttributePduCreator creator)
 Give us a function to be used for creating non-coupled Attribute PDUs. More...
 
static
DtNonCoupledAttributePduCreator 
defaultNonCoupledAttributePduCreator (void)
 

Protected Member Functions

void init (const DtEventId &=DtEventId::nullId())
 Not virtual since called from constructor. More...
 
virtual void startEngagement ()
 
virtual void finishEngagement ()
 Completes the Directed Energy Fire Engagement. More...
 
virtual void sendFirePdu ()
 Send Fire PDU. More...
 
virtual void sendDetonationPdu ()
 Send Detonation PDU. More...
 
 DtDirectedEnergyFirePublisher (const DtDirectedEnergyFirePublisher &)
 copy constructor – Not Implemented More...
 
DtDirectedEnergyFirePublisheroperator= (const DtDirectedEnergyFirePublisher &)
 assignment operator – Not Implemented More...
 
- Protected Member Functions inherited from DtObjectPublisher
virtual void send (DtPdu *pdu) const
 Puts the PDU on the network and updates timestamps. More...
 

Protected Attributes

DtDirectedEnergyFireDecodermyDecoder
 
DtDirectedEnergyFireEncodermyEncoder
 
bool myPulseBeamMode
 
bool myEngagementInProgress
 
bool myHaveSentFire
 
- Protected Attributes inherited from DtObjectPublisher
DtExerciseConnmyExConn
 
DtStateRepositorymyStateRep
 
DtStateRepositorymyAsSeenByRemote
 
bool myOkToDeleteStateRepFlag
 
bool myUseCustomThreshold
 
DtTime myTimeThreshold
 Time threshold for the heartbeat rate. More...
 
DtTime myRelLocTimeThreshold
 Time threshold for heartbeat rate of relative location updates (only for embarked/attached entities) More...
 
DtTime mySimTimeLastUpdate
 Set in const send() method. More...
 
DtTime myRealTimeLastUpdate
 Set in const send() method. More...
 
DtTime myRealTimeLastAttrUpdate
 
DtTime myLastSpamCheckTime
 Set in constructor. More...
 
unsigned short myNumberOfPdusPerSecond
 Set in constructor. More...
 
unsigned short myUpdateRateWarningThreshold
 Set in constructor. More...
 
bool myCanWarn
 Set in constructor. More...
 
DtNonCoupledAttributePduCreator myNonCoupledAttributePduCreator
 
DtAttributePduStrategy myAttributePduStrategy
 
std::vector
< DtStateRepositoryExtensionEncoder * > 
myStateRepositoryExtensionEncoderList
 
std::vector
< DtStateRepositoryExtensionDecoder * > 
myStateRepositoryExtensionDecoderList
 

Static Protected Attributes

static DtStateRepCreator theStateRepCreator
 
- Static Protected Attributes inherited from DtObjectPublisher
static
DtNonCoupledAttributePduCreator 
theDefaultNonCoupledAttributePduCreator
 
static DtTime theDfltTimeThreshold
 
static DtTime theDfltRelLocTimeThreshold
 
static unsigned short theDfltUpdateRateWarningThreshold
 

Member Typedef Documentation

typedef DtDirectedEnergyFireRepository*(* DtDirectedEnergyFirePublisher::DtStateRepCreator)()

Function prototype for functions that create DtDirectedEnergyFireRepositories.

Constructor & Destructor Documentation

DtDirectedEnergyFirePublisher::DtDirectedEnergyFirePublisher ( DtDirectedEnergyFireRepository stateRepToUse,
DtExerciseConn conn 
)

constructor

DtDirectedEnergyFirePublisher::DtDirectedEnergyFirePublisher ( DtExerciseConn conn)

constructor

virtual DtDirectedEnergyFirePublisher::~DtDirectedEnergyFirePublisher ( )
virtual

destructor

DtDirectedEnergyFirePublisher::DtDirectedEnergyFirePublisher ( const DtDirectedEnergyFirePublisher )
protected

copy constructor – Not Implemented

Member Function Documentation

virtual DtDirectedEnergyFireDecoder* DtDirectedEnergyFirePublisher::decoder ( )
inlinevirtual

Returns a pointer to the Decoder being used to decode PDUs that we send back into the asSeenByRemote ESR.

DtDirectedEnergyFireRepository * DtDirectedEnergyFirePublisher::defr ( )
inlinevirtual
DtDirectedEnergyFireRepository * DtDirectedEnergyFirePublisher::directedEnergyFireStateRep ( )
inlinevirtual

Returns a pointer to the DirectedEnergyFireRepository - through which you can set or inspect current state information.

References defr().

virtual DtDirectedEnergyFireEncoder* DtDirectedEnergyFirePublisher::encoder ( )
inlinevirtual

Returns a pointer to the Encoder being used to encode current state into an entity state PDU.

virtual const DtEventId& DtDirectedEnergyFirePublisher::eventId ( ) const
virtual

Get the directedEnergyFire's event id.

virtual void DtDirectedEnergyFirePublisher::finishEngagement ( )
protectedvirtual

Completes the Directed Energy Fire Engagement.

Call during tick() when weapon off and pulseBeamMode false This reinitializes internal state and sends the detonation pdu.

void DtDirectedEnergyFirePublisher::forceUpdate ( )
inlinevirtual

Force a state update to be sent during the next call to tick, even if nothing would normally cause a send.

Implements DtObjectPublisher.

References myEncoder, and DtStateEncoder::setSendNeeded().

virtual const DtGlobalObjectDesignator& DtDirectedEnergyFirePublisher::globalId ( ) const
virtual

The entityIdentifier unique to this object.

Implements DtObjectPublisher.

virtual const DtObjectId& DtDirectedEnergyFirePublisher::id ( ) const
virtual

The id is the same as the globalId, a DtEntityIdentifier unique to this object.

Implements DtObjectPublisher.

void DtDirectedEnergyFirePublisher::init ( const DtEventId = DtEventId::nullId())
protected

Not virtual since called from constructor.

virtual const DtObjectId& DtDirectedEnergyFirePublisher::localId ( ) const
virtual

The localId is the same as the globalId, a DtEntityIdentifier unique to this object.

Implements DtObjectPublisher.

DtDirectedEnergyFirePublisher& DtDirectedEnergyFirePublisher::operator= ( const DtDirectedEnergyFirePublisher )
protected

assignment operator – Not Implemented

virtual void DtDirectedEnergyFirePublisher::sendDetonationPdu ( )
protectedvirtual

Send Detonation PDU.

virtual void DtDirectedEnergyFirePublisher::sendFirePdu ( )
protectedvirtual

Send Fire PDU.

virtual void DtDirectedEnergyFirePublisher::setPulsedBeamMode ( bool  pulseOnPulseOff)
virtual

If this is set, the detonation PDU will not be send on Weapon OFF.

In order to complete the engagement you must set this false so the next tick will send the detonation (if the weapon is off)

static void DtDirectedEnergyFirePublisher::setStateRepCreator ( DtStateRepCreator  creator)
static

Give us a function to be used for creating SRs.

virtual void DtDirectedEnergyFirePublisher::startEngagement ( )
protectedvirtual
static DtStateRepCreator DtDirectedEnergyFirePublisher::stateRepCreator ( void  )
static
virtual bool DtDirectedEnergyFirePublisher::tick ( )
virtual

This function should be called once per frame for each directedEnergyFire object.

It determines if any data needs to be sent to the other exercise participants, and if so then it sends the data. Will return true if data was sent.

Implements DtObjectPublisher.

Member Data Documentation

DtDirectedEnergyFireDecoder* DtDirectedEnergyFirePublisher::myDecoder
protected
DtDirectedEnergyFireEncoder* DtDirectedEnergyFirePublisher::myEncoder
protected

Referenced by forceUpdate().

bool DtDirectedEnergyFirePublisher::myEngagementInProgress
protected
bool DtDirectedEnergyFirePublisher::myHaveSentFire
protected
bool DtDirectedEnergyFirePublisher::myPulseBeamMode
protected
DtStateRepCreator DtDirectedEnergyFirePublisher::theStateRepCreator
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)