VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
directedEnergyFirePdu.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include <vlpi/entityType.h>
16 #include <vl/stateMsgDIS.h>
17 #include <vl/interaction.h>
18 #include <vl/eventId.h>
19 
20 class DtExerciseConn;
21 class DtDirectedEnergyFirePdu;
26 
28 typedef DtDirectedEnergyFirePdu DtDirectedEnergyFire;
29 
30 typedef void (*DtDirectedEnergyFireCb)(DtDirectedEnergyFire *inter, void *usr);
31 
34 class DT_DLL_VL DtDirectedEnergyFirePdu : public DtStateMsg
35 {
36 public:
37 
38  static DtPdu* create( const DtNetPacket *initial,
40  DtPduFactory* pduFactory = 0 );
41 
42  DtDirectedEnergyFirePdu( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
43 
44  DtDirectedEnergyFirePdu( const DtNetDirectedEnergyFirePdu *initial,
46  DtPduFactory* pduFactory = 0 );
47 
49  virtual ~DtDirectedEnergyFirePdu();
50 
52  virtual const DtEntityIdentifier& firingEntityId() const;
54  virtual void setFiringEntityId(const DtEntityIdentifier& firingEntityId);
55 
57  virtual const DtEventID& eventId() const;
59  virtual void setEventId(const DtEventID& id);
60 
62  virtual const DtEntityType& munitionType() const;
64  virtual void setMunitionType(const DtEntityType& munitionType);
65 
67  virtual const DtTime shotStartTime() const;
69  virtual void setShotStartTime(DtTime shotStartTime);
70 
72  virtual float cumulativeShotTime() const;
74  virtual void setCumulativeShotTime(float cumulativeShotTime);
75 
77  virtual const DtVector& location() const;
79  virtual void setLocation(const DtVector& location);
80 
82  virtual float apertureDiameter() const;
84  virtual void setApertureDiameter(float apertureDiameter);
85 
87  virtual float waveLength() const;
89  virtual void setWaveLength(float waveLength);
90 
92  virtual float pulseRepetitionFrequency() const;
94  virtual void setPulseRepetitionFrequency(float pulseRepetitionFrequency);
95 
97  virtual float pulseWidth() const;
99  virtual void setPulseWidth(float pulseWidth);
100 
102  virtual unsigned int flags() const;
104  virtual void setFlags(unsigned int flags);
105 
107  virtual bool isFlagsWeaponsOn() const;
109  virtual void setFlagsWeaponsOn();
110 
112  virtual bool isFlagsWeaponsOff() const;
114  virtual void setFlagsWeaponsOff();
115 
117  virtual bool flagsUpdateDueToHeartbeatTimer() const;
119  virtual void setFlagsUpdateDueToHeartbeatTimer();
120 
122  virtual bool flagsStateChange() const;
124  virtual void setFlagsStateChange();
125 
127  virtual DtPulseShape pulseShape() const;
129  virtual void setPulseShape(DtPulseShape pulseShape);
130 
132  virtual void addPrecisionAimpointRecord(const DtDirectedEnergyPrecisionAimpointRecord& record);
134  virtual void addAreaAimpointRecord(const DtDirectedEnergyAreaAimpointRecord& record);
135 
137  virtual void addPrecisionAimpointRecords(const std::vector<DtDirectedEnergyPrecisionAimpointRecord>& records);
139  virtual void addAreaAimpointRecords(const std::vector<DtDirectedEnergyAreaAimpointRecord>& records);
140 
142  virtual void getPrecisionAimpointRecords(std::vector<DtDirectedEnergyPrecisionAimpointRecord>& records) const;
144  virtual void getAreaAimpointRecords(std::vector<DtDirectedEnergyAreaAimpointRecord>& records) const;
145 
149  virtual void printData() const;
150  virtual void printDataToStream(std::ostream& stream) const;
151  virtual void printDataToString(DtString& str) const;
152 
153  static void addCallback( DtExerciseConn* conn,
154  DtDirectedEnergyFireCb cb, void* usr );
155  static void removeCallback( DtExerciseConn* conn,
156  DtDirectedEnergyFireCb cb, void* usr );
157 
159  virtual unsigned int numberOfRecords() const;
160 
161 protected:
162 
164  virtual void printRecordsToStream(std::ostream& stream) const;
165 
167  DtPduKind internalGetPduKind() const {return DtDirectedEnergyFirePduKind;}
168 
169 protected:
170 
172  static const int theStaticSize;
173 
174  DtEntityIdentifier myFiringEntityId;
175  DtEventID myEvent;
176  DtEntityType myMunitionType;
177  DtTime myShotStartTime;
178  float myCumulativeShotTime;
179  DtVector myApertureEmitterLocationInFiringEntityCoordinates;
180  float myApertureDiameter;
181  float myWaveLength;
182  float myPulseRepetitionFrequency;
183  float myPulseWidth;
184  DtPulseShape myPulseShape;
185  DtNetU16 myFlags;
186 
187 };
188 
189 #endif

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)