VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
directedEnergyFirePublisher.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
15 #include <vl/objectPublisherDIS.h>
16 #include <vl/pdu.h>
18 #include <vlutil/vlPrint.h>
21 
23 {
24 public:
25 
27  typedef DtDirectedEnergyFireRepository* (*DtStateRepCreator)();
28 
29 public:
30 
33  DtDirectedEnergyFireRepository *stateRepToUse,
34  DtExerciseConn* conn);
35 
38 
41 
42 public:
47  virtual bool tick();
48 
51  virtual void setPulsedBeamMode(bool pulseOnPulseOff);
52 
55  virtual inline DtDirectedEnergyFireRepository* directedEnergyFireStateRep();
56 
58  virtual inline DtDirectedEnergyFireRepository* defr();
59 
62  virtual inline DtDirectedEnergyFireDecoder* decoder() { return myDecoder; }
63 
66  virtual inline DtDirectedEnergyFireEncoder* encoder() { return myEncoder; }
67 
69  virtual const DtEventId& eventId() const;
70 
73  virtual inline void forceUpdate();
74 
76  virtual const DtObjectId& localId() const;
78  virtual const DtObjectId& id() const;
80  virtual const DtGlobalObjectDesignator& globalId() const;
81 
82 public:
83 
85  static void setStateRepCreator(DtStateRepCreator creator);
86  static DtStateRepCreator stateRepCreator(void);
87 
88 protected:
89 
91  void init( const DtEventId& = DtEventId::nullId());
92 
93  virtual void startEngagement();
94 
97  virtual void finishEngagement();
98 
100  virtual void sendFirePdu();
101 
103  virtual void sendDetonationPdu();
104 
107 
110 
111 protected:
117 protected:
118 
119  static DtStateRepCreator theStateRepCreator;
120 };
121 
123 {
124  return defr();
125 }
126 
128 {
129  return static_cast<DtDirectedEnergyFireRepository*>(myStateRep);
130 }
131 
133 {
135 }
136 
137 #endif
DtDirectedEnergyFireEncoder * myEncoder
Definition: directedEnergyFirePublisher.h:113
DtStateRepository * myStateRep
Definition: objectPublisherDIS.h:193
virtual DtDirectedEnergyFireEncoder * encoder()
Returns a pointer to the Encoder being used to encode current state into an entity state PDU...
Definition: directedEnergyFirePublisher.h:66
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void forceUpdate()
Force a state update to be sent during the next call to tick, even if nothing would normally cause a ...
Definition: directedEnergyFirePublisher.h:132
static DtStateRepCreator theStateRepCreator
Definition: directedEnergyFirePublisher.h:119
bool myPulseBeamMode
Definition: directedEnergyFirePublisher.h:114
Instances of DtObjectPublisher are used for local or source simulations of objects, (i.e.
Definition: objectPublisherDIS.h:36
Functions in vlPrint.h provide an error and print facility for vrlink.
virtual void forceUpdate()=0
For publisher to send PDU on next tick.
Contains the DtDirectedEnergyFireRepository class declaration.
Instances of DtDirectedEnergyFireRepository are used to store the state of firing a directed energy w...
Definition: directedEnergyFireRepository.h:22
virtual const DtObjectId & id() const =0
The id is the same as the globalId, a DtEntityIdentifier unique to this object.
static const DtEventId & nullId()
returns an empty string
virtual DtDirectedEnergyFireRepository * directedEnergyFireStateRep()
Returns a pointer to the DirectedEnergyFireRepository - through which you can set or inspect current ...
Definition: directedEnergyFirePublisher.h:122
virtual DtDirectedEnergyFireRepository * defr()
Synonym for directedEnergyFireStateRep().
Definition: directedEnergyFirePublisher.h:127
Represents Events in DIS.
Definition: eventId.h:154
virtual const DtGlobalObjectDesignator & globalId() const =0
The entityIdentifier unique to this object.
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtObjectPublisher & operator=(const DtObjectPublisher &orig)
assignment operator – not implemented
The DtStateDecoder class provides a base class for all DIS Decoders.
Definition: directedEnergyFireDecoder.h:22
This class declares the DIS version of DtObjectPublisher.
bool myEngagementInProgress
Definition: directedEnergyFirePublisher.h:115
The DtStateEncoder class provides a base class for all DIS encoders.
Definition: directedEnergyFireEncoder.h:22
virtual DtDirectedEnergyFireDecoder * decoder()
Returns a pointer to the Decoder being used to decode PDUs that we send back into the asSeenByRemote ...
Definition: directedEnergyFirePublisher.h:62
bool myHaveSentFire
Definition: directedEnergyFirePublisher.h:116
virtual bool tick()=0
Tick (update) this object.
virtual const DtObjectId & localId() const =0
The localId is the same as the globalId, a DtEntityIdentifier unique to this object.
virtual void setSendNeeded()
Sets myForceSendNeeded to true.
Definition: directedEnergyFirePublisher.h:22
DtDirectedEnergyFireDecoder * myDecoder
Definition: directedEnergyFirePublisher.h:112

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)