VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
runwayPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include <vl/packets/aerodromeP.h>
14 #include <vlutil/vlMachineTypes.h>
15 #include <vl/stateMsg.h>
16 #include <vl/exerciseConn.h>
17 #include <vlutil/vlUuid.h>
18 #include <vlpi/aerodromeEnums.h>
19 
20 
21 
22 class DtRunwayPdu;
23 
25 typedef void (*DtRunwayPduCb)(DtRunwayPdu* pdu, void* usr);
26 
29 class DT_DLL_VL DtRunwayPdu : public DtStateMsg
30 {
31 public:
33  DtRunwayPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
34  DtRunwayPdu(const DtNetPacket* initial,
35  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
36 
37 
39  virtual ~DtRunwayPdu();
40 
41 private:
43  DtRunwayPdu(const DtRunwayPdu& orig);
44 
46  DtRunwayPdu& operator=(const DtRunwayPdu& orig);
47 
48 public:
49 
51  virtual void setVersion(DtU16 val);
53  virtual DtU16 version() const;
54 
56  virtual void setEntityId(const DtEntityIdentifier& val);
57 
58  virtual DtEntityIdentifier entityId() const;
59 
61  virtual void setUniqueId(const DtVrlUuid& val);
62 
64  DtVrlUuid uniqueId() const;
65 
67  virtual void setAerodromeId(const DtVrlUuid& val);
68 
70  DtVrlUuid aerodromeId() const;
71 
73  virtual void setDamaged(bool val);
74 
76  virtual bool damaged() const;
77 
79  virtual void setCondition(const DtRunwayConditionEnum8& val);
80 
83  virtual const DtString name();
84 
86  virtual const DtRunwayConditionEnum8 condition() const;
87 
89  virtual void setRunway1Name(const DtString& val);
90 
92  virtual const DtString& runway1Name() const;
93 
95  virtual void setRunway2Name(const DtString& val);
96 
98  virtual const DtString& runway2Name() const;
99 
101  virtual void setRunway1Active(bool val);
102 
104  virtual bool runway1Active() const;
105 
107  virtual void setRunway2Active(bool val);
108 
110  virtual bool runway2Active() const;
111 
113  virtual void setRunway1CenterLineLight(DtU8 val);
114 
116  virtual DtU8 runway1CenterLineLight() const;
117 
119  virtual void setRunway2CenterLineLight(DtU8 val);
120 
122  virtual DtU8 runway2CenterLineLight() const;
123 
125  virtual void setRunway1DistanceToGoLight(bool onOff);
126 
128  virtual bool runway1DistanceToGoLight() const;
129 
131  virtual void setRunway2DistanceToGoLight(bool onOff);
132 
134  virtual bool runway2DistanceToGoLight() const;
135 
137  virtual void setRunway1EdgeLight(DtU8 val);
138 
140  virtual DtU8 runway1EdgeLight() const;
141 
143  virtual void setRunway2EdgeLight(DtU8 val);
144 
146  virtual DtU8 runway2EdgeLight() const;
147 
149  virtual void setRunway1DisplacedThresholdLight(DtU8 val);
150 
152  virtual DtU8 runway1DisplacedThresholdLight() const;
153 
155  virtual void setRunway2DisplacedThresholdLight(DtU8 val);
156 
158  virtual DtU8 runway2DisplacedThresholdLight() const;
159 
161  virtual void setRunway1EndLight(DtU8 val);
162 
164  virtual DtU8 runway1EndLight() const;
165 
167  virtual void setRunway2EndLight(DtU8 val);
168 
170  virtual DtU8 runway2EndLight() const;
171 
173  virtual void setRunway1TouchDownZoneLight(DtU8 val);
174 
176  virtual DtU8 runway1TouchDownZoneLight() const;
177 
179  virtual void setRunway2TouchDownZoneLight(DtU8 val);
180 
182  virtual DtU8 runway2TouchDownZoneLight() const;
183 
185  virtual void setRunway1ThresholdLightingLight(DtU8 val);
186 
188  virtual DtU8 runway1ThresholdLightingLight() const;
189 
191  virtual void setRunway2ThresholdLightingLight(DtU8 val);
192 
194  virtual DtU8 runway2ThresholdLightingLight() const;
195 
197  virtual void setRunway1RunwayEndIndicatorLight(DtU8 val);
198 
200  virtual DtU8 runway1RunwayEndIndicatorLight() const;
201 
203  virtual void setRunway2RunwayEndIndicatorLight(DtU8 val);
204 
206  virtual DtU8 runway2RunwayEndIndicatorLight() const;
207 
209  virtual void setRunway1ApproachLight(DtU8 val);
210 
212  virtual DtU8 runway1ApproachLight() const;
213 
215  virtual void setRunway2ApproachLight(DtU8 val);
216 
218  virtual DtU8 runway2ApproachLight() const;
219 
221  virtual void setRunway1VGSILight(DtU8 val);
222 
224  virtual DtU8 runway1VGSILight() const;
225 
227  virtual void setRunway2VGSILight(DtU8 val);
228 
230  virtual DtU8 runway2VGSILight() const;
231 
233  virtual void setRunwayGuardLight(DtU8 val);
234 
236  virtual DtU8 runwayGuardLight() const;
237 
239  virtual void setRunway1RapidExitTaxiwayLight(DtU8 val);
240 
242  virtual DtU8 runway1RapidExitTaxiwayLight() const;
243 
245  virtual void setRunway2RapidExitTaxiwayLight(DtU8 val);
246 
248  virtual DtU8 runway2RapidExitTaxiwayLight() const;
249 
251  virtual void setRunway1RunwayExitLight(DtU8 val);
252 
254  virtual DtU8 runway1RunwayExitLight() const;
255 
257  virtual void setRunway2RunwayExitLight(DtU8 val);
258 
260  virtual DtU8 runway2RunwayExitLight() const;
261 
263  virtual void setRunway1TaxiwayLeadOnLight(DtU8 val);
264 
266  virtual DtU8 runway1TaxiwayLeadOnLight() const;
267 
269  virtual void setRunway2TaxiwayLeadOnLight(DtU8 val);
270 
272  virtual DtU8 runway2TaxiwayLeadOnLight() const;
273 
275  virtual void setRunway1TaxiwayStopBarLight(DtU8 val);
276 
278  virtual DtU8 runway1TaxiwayStopBarLight() const;
279 
281  virtual void setRunway2TaxiwayStopBarLight(DtU8 val);
282 
284  virtual DtU8 runway2TaxiwayStopBarLight() const;
285 
287  virtual void setRunway1PrethresholdEdgeLight(DtU8 val);
288 
290  virtual DtU8 runway1PrethresholdEdgeLight() const;
291 
293  virtual void setRunway2PrethresholdEdgeLight(DtU8 val);
294 
296  virtual DtU8 runway2PrethresholdEdgeLight() const;
297 
299  virtual void setRunway1ArrestorGearUp(bool val);
300 
302  virtual bool runway1ArrestorGearUp() const;
303 
305  virtual void setRunway2ArrestorGearUp(bool val);
306 
308  virtual bool runway2ArrestorGearUp() const;
309 
311  virtual void setEndpoint1(DtVector val);
312 
314  virtual DtVector endpoint1() const;
315 
317  virtual void setEndpoint2(DtVector val);
318 
320  virtual DtVector endpoint2() const;
321 
323  void printData() const;
324  void printDataToStream(std::ostream& stream) const;
325 
326 
327  // Returns a unique Key for this PDU class to be used with
328  // reflected objects and reflected lists. Because the Entity ID
329  // may not be unique, this should be a combination of the minimal
330  // number of attributes required for uniqueness.
331  DtString uniqueKey() const;
332 public:
333 
336  static DtPdu* create(const DtNetPduHeader *initial,
337  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
338 
341  static void addCallback(DtExerciseConn* conn,
342  DtRunwayPduCb cb, void* usr);
343  static void removeCallback(DtExerciseConn* conn,
344  DtRunwayPduCb cb, void* usr);
345 
346 protected:
347 
348  // Returns the number of bytes in the fixed length portion of this PDU
349  // This is the initial size of the PDU before any variabe datums are added
350  virtual unsigned int fixedBytesSize() const;
351  // A pointer to the first byte of variable datums. If there are no variable
352  // datums this points to the first byte out-of-bounds. This address should
353  // only be used if you know the PDU has been resized correctly.
354  virtual char *firstVarDatumStart() const;
355  static DtPduKind internalGetPduKindImpl() {return DtRunwayPduKind;}
356  DtPduKind internalGetPduKind() const {return internalGetPduKindImpl();}
357 
358 protected:
359 
360  // Cached DtStrings to ensure proper buffering
361  mutable DtString myName;
362  mutable DtString myRunway1Name;
363  mutable DtString myRunway2Name;
364  mutable DtVector myEndpoint1;
365  mutable DtVector myEndpoint2;
366 };
367 
368 
369 
370 #endif
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
DtRunwayConditionEnum8
Definition: aerodromeEnums.h:46
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
Definition: disEnums.h:323
DtStateMsg & operator=(const DtStateMsg &orig)
assignment operator
Definition: vlVector.h:224
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
A Universally Unique Identifier DtVrlUuid stores a 16byte encoded UUID string.
Definition: vlUuid.h:28
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
Instances of DtString are used to represent strings.
Definition: vlString.h:36
class DtStateMsg:
Definition: stateMsgHLA.h:32
Contains the DtVrlUuid class declaration/definition.
This file contains typedefs for machine dependant types.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)