VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffState.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
10 #pragma once
11 
13 
14 #include <string>
15 #include <matrix/vlVector.h>
16 
17 #ifndef IFF_MODE_CODE_SIZE
18 #define IFF_MODE_CODE_SIZE 3
19 #endif
20 
22 {
23 public:
24  enum CapabilityReport {CapabilityReport_NoCapability = 0, CapabilityReport_CommAB7Ground = 4, CapabilityReport_CommAB7Airborne = 5, CapabilityReport_CommAB7GroundAirborne = 6, CapabilityReport_DR1FS2345AirborneGround = 7, CapabilityReport_NoStatement = 255};
25  enum ModeSLevelsPresent {ModeSLevelsPresent_Level1 = 1, ModeSLevelsPresent_Level2Elementary = 2, ModeSLevelsPresent_Level2Enhanced = 3, ModeSLevelsPresent_Level3 = 4, ModeSLevelsPresent_Level4 = 5};
26  enum SystemName {SystemName_OtherSysName = 0, SystemName_MarkX = 1, SystemName_MarkXII = 2, SystemName_ATCRBS = 3, SystemName_Soviet = 4, SystemName_ModeS = 5, SystemName_MarkX_XII_ATCRBS = 6, SystemName_MarkX_XII_ATCRBS_ModeS = 7};
27  enum SystemType {SystemType_OtherSysType = 0, SystemType_Transponder = 1, SystemType_Interrogator = 2, SystemType_SovietTransponder = 3, SystemType_SovietInterrogator = 4};
28  enum AircraftPresentDomain {AircraftPresentDomain_NoStatement = 0, AircraftPresentDomain_Airborne = 1, AircraftPresentDomain_OnGroundSurface = 2};
29  enum OperationalParameter1 {OperationalParameter1_OtherOperationalParameter1 = 0};
30  enum DAPSource {DAPSource_IASBit = 0, DAPSource_MachNumberBit = 1, DAPSource_GroundSpeedBit = 2, DAPSource_MagneticHeadingBit = 3, DAPSource_TrackAngleRateBit = 4, DAPSource_TrueTrackAngleBit = 5, DAPSource_TrueAirspeedBit = 6, DAPSource_VerticalRateBit = 7};
31  enum AircraftIdentificationType {AircraftIdentificationType_NoStatement = 0, AircraftIdentificationType_FlightNumber = 1, AircraftIdentificationType_TailNumber = 2};
32  enum DataCategory {DataCategory_NoStatement = 0, DataCategory_FunctionalData = 1, DataCategory_DataLinkMessages = 2};
33  enum AltParm4 {AltParm4_Other = 0, AltParm4_Valid = 1, AltParm4_Invalid = 2, AltParm4_NoResponse = 3};
34  enum NavigationSource {NavigationSource_NoStatement = 0, NavigationSource_GPS = 1, NavigationSource_INS = 2, NavigationSource_INSGPS = 3};
35  enum OperationalParameter2 {OperationalParameter2_OtherOperationalParameter2 = 0};
36  enum DtModeOrParameterKind {Enabled = 0, IsDamaged = 1, IsMalfunctioning = 2, IsOn = 3};
37 
38 
40  {
41  unsigned short mySiteId;
42  unsigned short myApplicationId;
43 
44 
45  int size()
46  {
47  int size=0;
48  size+=sizeof(unsigned short);
49  size+=sizeof(unsigned short);
50 
51  return size;
52  }
53 
54  void serialize(DtStreamWriter& writer)
55  {
56  writer.writeUInt16(mySiteId);
57  writer.writeUInt16(myApplicationId);
58 
59  }
60 
62  {
63  mySiteId=reader.readUInt16();
64  myApplicationId=reader.readUInt16();
65 
66  }
67  };
68 
69 
70 
71 
73  virtual ~IffStateMessage();
74 
75  virtual std::string getEntityIdentifier();
76  virtual void setEntityIdentifier(std::string val);
77 
78  virtual std::string getHostEntityIdentifier();
79  virtual void setHostEntityIdentifier(std::string val);
80 
81  virtual DtVector32 getRelativePosition();
82  virtual void setRelativePosition(DtVector32 val);
83 
84  virtual SystemType getSystemType();
85  virtual void setSystemType(SystemType val);
86 
87  virtual SystemName getSystemName();
88  virtual void setSystemName(SystemName val);
89 
90  virtual unsigned char getSystemMode();
91  virtual void setSystemMode(unsigned char val);
92 
93  virtual std::string getEventId();
94  virtual void setEventId(std::string val);
95 
96  virtual AltParm4 getAlternateMode4();
97  virtual void setAlternateMode4(AltParm4 val);
98 
99  virtual bool getSystemIsOn();
100  virtual void setSystemIsOn(bool val);
101 
102  virtual bool getSystemIsOperational();
103  virtual void setSystemIsOperational(bool val);
104 
105  virtual bool getSimulationMode();
106  virtual void setSimulationMode(bool val);
107 
108  virtual bool getInteractiveCapable();
109  virtual void setInteractiveCapable(bool val);
110 
111  virtual void setModeOrParameterVal(char type, int status, bool onOff);
112  virtual void setModeOrParameterVal(int type, int status, bool onOff);
113  virtual bool getModeOrParameterVal(char type, int status) const;
114  virtual bool getModeOrParameterVal(int type, int status) const;
115 
116  virtual void setModeEnabled(int modeType, bool onOff);
117  virtual bool modeEnabled(int modeType) const;
118  virtual void setModeEnabled(char modeType, bool onOff);
119  virtual bool modeEnabled(char modeType) const;
120 
121  virtual void setModeIsMalfunctioning(int modeType, bool onOff);
122  virtual bool modeIsMalfunctioning(int modeType) const;
123  virtual void setModeIsMalfunctioning(char modeType, bool onOff);
124  virtual bool modeIsMalfunctioning(char modeType) const;
125 
126  virtual void setModeIsDamaged(int modeType, bool onOff);
127  virtual bool modeIsDamaged(int modeType) const;
128  virtual void setModeIsDamaged(char modeType, bool onOff);
129  virtual bool modeIsDamaged(char modeType) const;
130 
131  virtual void setModeIsOn(int modeType, bool onOff);
132  virtual bool modeIsOn(int modeType) const;
133  virtual void setModeIsOn(char modeType, bool onOff);
134  virtual bool modeIsOn(char modeType) const;
135 
136  virtual unsigned short getMode4PseudoCrypto();
137  virtual void setMode4PseudoCrypto(unsigned short val);
138 
139  virtual bool getMode4PseudoCryptoAvailable();
140  virtual void setMode4PseudoCryptoAvailable(bool val);
141 
142  virtual bool getModeSIsTcasI();
143  virtual void setModeSIsTcasI(bool val);
144 
145  virtual unsigned short modeCode(int modeCodeNum);
146  virtual void setModeCode(int modeCodeNum, unsigned short val);
147 
148  virtual bool getEmergencyOn();
149  virtual void setEmergencyOn(bool val);
150 
151  virtual bool getIdentSquawkFlashOn();
152  virtual void setIdentSquawkFlashOn(bool val);
153 
154  virtual bool getUnmannedAircraftOn();
155  virtual void setUnmannedAircraftOn(bool val);
156 
157  virtual bool getModeCAltitudeAvailable();
158  virtual void setModeCAltitudeAvailable(bool val);
159 
160  virtual short getModeCAltitude();
161  virtual void setModeCAltitude(short val);
162 
163  virtual bool getStiOn();
164  virtual void setStiOn(bool val);
165 
166  virtual unsigned char getCode();
167  virtual void setCode(unsigned char val);
168 
169  virtual bool getPowerReduction();
170  virtual void setPowerReduction(bool val);
171 
172  virtual bool getIsDamaged();
173  virtual void setIsDamaged(bool val);
174 
175  virtual bool getIsMalfunctioning();
176  virtual void setIsMalfunctioning(bool val);
177 
178  virtual bool getIsOn();
179  virtual void setIsOn(bool val);
180 
181  virtual bool getRadarEnhancement();
182  virtual void setRadarEnhancement(bool val);
183 
184  virtual bool getLayer2DataAvailable();
185  virtual void setLayer2DataAvailable(bool val);
186 
187  virtual bool getLayer3DataAvailable();
188  virtual void setLayer3DataAvailable(bool val);
189 
190  virtual bool getLayer4DataAvailable();
191  virtual void setLayer4DataAvailable(bool val);
192 
193  virtual bool getLayer5DataAvailable();
194  virtual void setLayer5DataAvailable(bool val);
195 
196  virtual unsigned int getLayer2SpecificInfo();
197  virtual void setLayer2SpecificInfo(unsigned int val);
198 
199  virtual unsigned int getLayer3SpecificInfo();
200  virtual void setLayer3SpecificInfo(unsigned int val);
201 
202  virtual unsigned int getLayer4SpecificInfo();
203  virtual void setLayer4SpecificInfo(unsigned int val);
204 
205  virtual unsigned int getLayer5SpecificInfo();
206  virtual void setLayer5SpecificInfo(unsigned int val);
207 
208  virtual float getAzimuthCenter();
209  virtual void setAzimuthCenter(float val);
210 
211  virtual float getAzimuthSweep();
212  virtual void setAzimuthSweep(float val);
213 
214  virtual float getElevationCenter();
215  virtual void setElevationCenter(float val);
216 
217  virtual float getElevationSweep();
218  virtual void setElevationSweep(float val);
219 
220  virtual float getSweepSync();
221  virtual void setSweepSync(float val);
222 
223  virtual OperationalParameter1 getSecondaryOperationalDataParameter1();
224  virtual void setSecondaryOperationalDataParameter1(OperationalParameter1 val);
225 
226  virtual OperationalParameter2 getSecondaryOperationalDataParameter2();
227  virtual void setSecondaryOperationalDataParameter2(OperationalParameter2 val);
228 
229  virtual unsigned char getSystemDesignator();
230  virtual void setSystemDesignator(unsigned char val);
231 
232  virtual unsigned char getSystemSpecificData();
233  virtual void setSystemSpecificData(unsigned char val);
234 
235  virtual SimulationAddress getReportingSimulation();
236  virtual void setReportingSimulation(SimulationAddress val);
237 
238  virtual unsigned int getMessageFormatsPresent();
239  virtual void setMessageFormatsPresent(unsigned int val);
240 
241  virtual unsigned char getMode5InterrogatorStatus();
242  virtual void setMode5InterrogatorStatus(unsigned char val);
243 
244  virtual std::string getInterrogatedEntityID();
245  virtual void setInterrogatedEntityID(std::string val);
246 
247  virtual unsigned short getMode5TransponderStatus();
248  virtual void setMode5TransponderStatus(unsigned short val);
249 
250  virtual unsigned short getPin();
251  virtual void setPin(unsigned short val);
252 
253  virtual unsigned short getEnhancedMode1();
254  virtual void setEnhancedMode1(unsigned short val);
255 
256  virtual unsigned int getEnhancedMode1Code1();
257  virtual void setEnhancedMode1Code1(unsigned int val);
258 
259  virtual unsigned int getEnhancedMode1Code2();
260  virtual void setEnhancedMode1Code2(unsigned int val);
261 
262  virtual unsigned int getEnhancedMode1Code3();
263  virtual void setEnhancedMode1Code3(unsigned int val);
264 
265  virtual unsigned int getEnhancedMode1Code4();
266  virtual void setEnhancedMode1Code4(unsigned int val);
267 
268  virtual bool getEnhancedMode1OnOff();
269  virtual void setEnhancedMode1OnOff(bool val);
270 
271  virtual bool getEnhancedMode1DamageStatus();
272  virtual void setEnhancedMode1DamageStatus(bool val);
273 
274  virtual bool getEnhancedMode1MalfunctionStatus();
275  virtual void setEnhancedMode1MalfunctionStatus(bool val);
276 
277  virtual unsigned short getNationalOrigin();
278  virtual void setNationalOrigin(unsigned short val);
279 
280  virtual unsigned char getSupplementalData();
281  virtual void setSupplementalData(unsigned char val);
282 
283  virtual NavigationSource getNavigationSource();
284  virtual void setNavigationSource(NavigationSource val);
285 
286  virtual unsigned char getFigureOfMerit();
287  virtual void setFigureOfMerit(unsigned char val);
288 
289  virtual ModeSLevelsPresent getModeSLevelsPresent();
290  virtual void setModeSLevelsPresent(ModeSLevelsPresent val);
291 
292  virtual unsigned char getModeSInterrogatorStatus();
293  virtual void setModeSInterrogatorStatus(unsigned char val);
294 
295  virtual unsigned short getModeSTransponderStatus();
296  virtual void setModeSTransponderStatus(unsigned short val);
297 
298  virtual AircraftPresentDomain getAircraftPresentDomain();
299  virtual void setAircraftPresentDomain(AircraftPresentDomain val);
300 
301  virtual unsigned char getAircraftID();
302  virtual void setAircraftID(unsigned char val);
303 
304  virtual unsigned int getAircraftAddress();
305  virtual void setAircraftAddress(unsigned int val);
306 
307  virtual AircraftIdentificationType getAircraftIDType();
308  virtual void setAircraftIDType(AircraftIdentificationType val);
309 
310  virtual DAPSource getDapSource();
311  virtual void setDapSource(DAPSource val);
312 
313  virtual unsigned short getModeSAltitude();
314  virtual void setModeSAltitude(unsigned short val);
315 
316  virtual CapabilityReport getCapabilityReport();
317  virtual void setCapabilityReport(CapabilityReport val);
318 
319  virtual unsigned char getAvailableLayers();
320  virtual void setAvailableLayers(unsigned char val);
321 
322  virtual DataCategory getDataCategory();
323  virtual void setDataCategory(DataCategory val);
324 
325 
326 
327  virtual int messageSize();
328 
329  static DtMessage* decode(unsigned char* buffer, int length);
330  static std::string theMessageName();
331 
332 protected:
333  static std::string theFullName;
334 
335  std::string myEntityIdentifier;
340  unsigned char mySystemMode;
341  std::string myEventId;
347  unsigned short myMode4PseudoCrypto;
355  bool myStiOn;
356  unsigned char myCode;
360  bool myIsOn;
366  unsigned int myLayer2SpecificInfo;
367  unsigned int myLayer3SpecificInfo;
368  unsigned int myLayer4SpecificInfo;
369  unsigned int myLayer5SpecificInfo;
374  float mySweepSync;
377  unsigned char mySystemDesignator;
378  unsigned char mySystemSpecificData;
383  unsigned short myMode5TransponderStatus;
384  unsigned short myPin;
385  unsigned short myEnhancedMode1;
386  unsigned int myEnhancedMode1Code1;
387  unsigned int myEnhancedMode1Code2;
388  unsigned int myEnhancedMode1Code3;
389  unsigned int myEnhancedMode1Code4;
393  unsigned short myNationalOrigin;
394  unsigned char mySupplementalData;
396  unsigned char myFigureOfMerit;
399  unsigned short myModeSTransponderStatus;
401  unsigned char myAircraftID;
402  unsigned int myAircraftAddress;
405  unsigned short myModeSAltitude;
407  unsigned char myAvailableLayers;
409 
411  bool myModeParameterStatusValues[6][4];
412 
413  unsigned short myModeCode[IFF_MODE_CODE_SIZE];
414 
415  virtual void serialize(DtStreamWriter& writer);
416  virtual void deserialize(DtStreamReader& reader);
417 };
std::string myHostEntityIdentifier
Definition: iffState.h:336
unsigned short myMode5TransponderStatus
Definition: iffState.h:383
unsigned int myMessageFormatsPresent
Definition: iffState.h:380
Definition: iffState.h:39
bool myLayer2DataAvailable
Definition: iffState.h:362
bool mySimulationMode
Definition: iffState.h:345
unsigned int myLayer5SpecificInfo
Definition: iffState.h:369
float myElevationSweep
Definition: iffState.h:373
bool myPowerReduction
Definition: iffState.h:357
unsigned short myPin
Definition: iffState.h:384
DtModeOrParameterKind
Definition: iffState.h:36
AltParm4 myAlternateMode4
Definition: iffState.h:342
unsigned char myAircraftID
Definition: iffState.h:401
#define IFF_MODE_CODE_SIZE
Definition: iffState.h:18
int size()
Definition: iffState.h:45
static std::string theFullName
Definition: iffState.h:333
unsigned short myEnhancedMode1
Definition: iffState.h:385
unsigned int myEnhancedMode1Code4
Definition: iffState.h:389
SystemName
Definition: iffState.h:26
SystemType mySystemType
Definition: iffState.h:338
bool myMode4PseudoCryptoAvailable
Definition: iffState.h:348
void writeUInt16(unsigned short num)
value readers return a value and increment the current position in the byte stream based on the size ...
virtual int messageSize()
this function needs to be in each derived class for decoding
#define MANAGEDINTERFACE_DLL
Definition: plugin.h:15
DataCategory
Definition: iffState.h:32
unsigned char mySystemMode
Definition: iffState.h:340
unsigned char mySystemSpecificData
Definition: iffState.h:378
void deserialize(DtStreamReader &reader)
Definition: iffState.h:61
ModeSLevelsPresent myModeSLevelsPresent
Definition: iffState.h:397
OperationalParameter1
Definition: iffState.h:29
unsigned char myAvailableLayers
Definition: iffState.h:407
OperationalParameter1 mySecondaryOperationalDataParameter1
Definition: iffState.h:375
bool myLayer3DataAvailable
Definition: iffState.h:363
std::string myInterrogatedEntityID
Definition: iffState.h:382
unsigned char myMode5InterrogatorStatus
Definition: iffState.h:381
bool myEnhancedMode1OnOff
Definition: iffState.h:390
bool myIsOn
Definition: iffState.h:360
bool myIdentSquawkFlashOn
Definition: iffState.h:351
Defines the base class for all messages that are sent to and from C#.
bool myLayer5DataAvailable
Definition: iffState.h:365
NavigationSource
Definition: iffState.h:34
This is the DtMessage class.
Definition: message.h:20
bool myEmergencyOn
Definition: iffState.h:350
unsigned short readUInt16()
value readers return a value and increment the current position in the byte stream based on the size ...
unsigned short mySiteId
Definition: iffState.h:41
bool myInteractiveCapable
Definition: iffState.h:346
SystemName mySystemName
Definition: iffState.h:339
unsigned short myNationalOrigin
Definition: iffState.h:393
bool myIsMalfunctioning
Definition: iffState.h:359
unsigned int myLayer4SpecificInfo
Definition: iffState.h:368
This file declares DtVector and DtVector32.
AircraftPresentDomain
Definition: iffState.h:28
bool myEnhancedMode1DamageStatus
Definition: iffState.h:391
unsigned int myEnhancedMode1Code3
Definition: iffState.h:388
unsigned short myModeSTransponderStatus
Definition: iffState.h:399
void serialize(DtStreamWriter &writer)
Definition: iffState.h:54
float myAzimuthCenter
Definition: iffState.h:370
unsigned char mySupplementalData
Definition: iffState.h:394
CapabilityReport myCapabilityReport
Definition: iffState.h:406
unsigned short myModeSAltitude
Definition: iffState.h:405
Definition: vlVector.h:162
CapabilityReport
Definition: iffState.h:24
float myElevationCenter
Definition: iffState.h:372
unsigned char myFigureOfMerit
Definition: iffState.h:396
OperationalParameter2 mySecondaryOperationalDataParameter2
Definition: iffState.h:376
AircraftIdentificationType myAircraftIDType
Definition: iffState.h:403
SimulationAddress myReportingSimulation
Definition: iffState.h:379
Instances of DtStreamWriter encode values into a byte array.
Definition: byteStream.h:74
bool myIsDamaged
Definition: iffState.h:358
AircraftIdentificationType
Definition: iffState.h:31
bool mySystemIsOn
Definition: iffState.h:343
NavigationSource myNavigationSource
Definition: iffState.h:395
unsigned int myLayer2SpecificInfo
Definition: iffState.h:366
DtVector32 myRelativePosition
Definition: iffState.h:337
unsigned short myApplicationId
Definition: iffState.h:42
unsigned int myAircraftAddress
Definition: iffState.h:402
unsigned int myEnhancedMode1Code2
Definition: iffState.h:387
Instances of DtStreamReader decode values from a byte array.
Definition: byteStream.h:31
bool myEnhancedMode1MalfunctionStatus
Definition: iffState.h:392
virtual void serialize(DtStreamWriter &writer)
std::string myEventId
Definition: iffState.h:341
bool mySystemIsOperational
Definition: iffState.h:344
OperationalParameter2
Definition: iffState.h:35
float myAzimuthSweep
Definition: iffState.h:371
bool myLayer4DataAvailable
Definition: iffState.h:364
std::string myEntityIdentifier
Definition: iffState.h:335
AircraftPresentDomain myAircraftPresentDomain
Definition: iffState.h:400
bool myModeSIsTcasI
Definition: iffState.h:349
unsigned short myMode4PseudoCrypto
Definition: iffState.h:347
DAPSource myDapSource
Definition: iffState.h:404
bool myModeCAltitudeAvailable
Definition: iffState.h:353
bool myUnmannedAircraftOn
Definition: iffState.h:352
unsigned char myModeSInterrogatorStatus
Definition: iffState.h:398
bool myRadarEnhancement
Definition: iffState.h:361
bool myStiOn
Definition: iffState.h:355
unsigned char myCode
Definition: iffState.h:356
float mySweepSync
Definition: iffState.h:374
unsigned char mySystemDesignator
Definition: iffState.h:377
ModeSLevelsPresent
Definition: iffState.h:25
AltParm4
Definition: iffState.h:33
SystemType
Definition: iffState.h:27
DataCategory myDataCategory
Definition: iffState.h:408
unsigned int myLayer3SpecificInfo
Definition: iffState.h:367
Definition: iffState.h:21
DAPSource
Definition: iffState.h:30
short myModeCAltitude
Definition: iffState.h:354
unsigned int myEnhancedMode1Code1
Definition: iffState.h:386
virtual void deserialize(DtStreamReader &reader)

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)