VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aerodromeStateData.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <vlpi/entityIdentifier.h>
10 #include <vlpi/entityType.h>
11 #include <vrfutil/rwUUID.h>
12 
13 #include <vlutil/vlString.h>
14 
15 class DtRunwayStateComponent;
16 
18 {
20  : myActive(false)
21  , myCenterLineLight(100)
22  , myDistanceToGoLight(100)
23  , myEdgeLight(100)
24  , myDisplacedThresholdLight(100)
25  , myRapidExitTaxiwayLight(100)
26  , myRunwayExitLight(100)
27  , myEndLight(100)
28  , myTouchDownZoneLight(100)
29  , myThresholdLightingLight(100)
30  , myEndIndicatorLight(100)
31  , myApproachLight(100)
32  , myVGSILight(100)
33  , myArrestorGear(false)
34  , myTaxiwayLeadOnLight(100)
35  , myTaxiwayStopBarLight(100)
36  , myPrethresholdEdgeLight(100)
37  {};
38 
40  {
41  myRunwayName = orig.myRunwayName;
42  myActive = orig.myActive;
43  myCenterLineLight = orig.myCenterLineLight;
44  myDistanceToGoLight = orig.myDistanceToGoLight;
45  myEdgeLight = orig.myEdgeLight;
46  myDisplacedThresholdLight = orig.myDisplacedThresholdLight;
47  myRapidExitTaxiwayLight = orig.myRapidExitTaxiwayLight;
48  myRunwayExitLight = orig.myRunwayExitLight;
49  myTaxiwayLeadOnLight = orig.myTaxiwayLeadOnLight;
50  myTaxiwayStopBarLight = orig.myTaxiwayStopBarLight;
51  myPrethresholdEdgeLight = orig.myPrethresholdEdgeLight;
52  myEndLight = orig.myEndLight;
53  myTouchDownZoneLight = orig.myTouchDownZoneLight;
54  myThresholdLightingLight = orig.myThresholdLightingLight;
55  myEndIndicatorLight = orig.myEndIndicatorLight;
56  myApproachLight = orig.myApproachLight;
57  myVGSILight = orig.myVGSILight;
58  myArrestorGear = orig.myArrestorGear;
59  }
60 
62  {
63  myRunwayName = orig.myRunwayName;
64  myActive = orig.myActive;
65  myCenterLineLight = orig.myCenterLineLight;
66  myDistanceToGoLight = orig.myDistanceToGoLight;
67  myEdgeLight = orig.myEdgeLight;
68  myDisplacedThresholdLight = orig.myDisplacedThresholdLight;
69  myRapidExitTaxiwayLight = orig.myRapidExitTaxiwayLight;
70  myRunwayExitLight = orig.myRunwayExitLight;
71  myTaxiwayLeadOnLight = orig.myTaxiwayLeadOnLight;
72  myTaxiwayStopBarLight = orig.myTaxiwayStopBarLight;
73  myPrethresholdEdgeLight = orig.myPrethresholdEdgeLight;
74  myEndLight = orig.myEndLight;
75  myTouchDownZoneLight = orig.myTouchDownZoneLight;
76  myThresholdLightingLight = orig.myThresholdLightingLight;
77  myEndIndicatorLight = orig.myEndIndicatorLight;
78  myApproachLight = orig.myApproachLight;
79  myVGSILight = orig.myVGSILight;
80  myArrestorGear = orig.myArrestorGear;
81 
82  return *this;
83  }
84 
85  const DtString& runwayName() const { return myRunwayName; }
86  void setRunwayName(const DtString& n) { myRunwayName = n; }
87 
88  const bool& active() const { return myActive; };
89  void setActive(bool b) { myActive = b; }
90 
91  unsigned char centerLineLight() const { return myCenterLineLight; }
92  void setCenterLineLight(unsigned char c) { myCenterLineLight = c; }
93 
94  unsigned char approachLight() const { return myApproachLight; }
95  void setApproachLight(unsigned char c) { myApproachLight = c; }
96 
97  unsigned char endIndicatorLight() const { return myEndIndicatorLight; }
98  void setEndIndicatorLight(unsigned char c) { myEndIndicatorLight = c; }
99 
100  unsigned char thresholdLightingLight() const { return myThresholdLightingLight; }
101  void setThresholdLightingLight(unsigned char c) { myThresholdLightingLight = c; }
102 
103  unsigned char touchDownZoneLight() const { return myTouchDownZoneLight; }
104  void setTouchDownZoneLight(unsigned char c) { myTouchDownZoneLight = c; }
105 
106  unsigned char VGSILight() const { return myVGSILight; }
107  void setVGSILight(unsigned char c) { myVGSILight = c; }
108 
109  unsigned char endLight() const { return myEndLight; }
110  void setEndLight(unsigned char c) { myEndLight = c; }
111 
112  unsigned char rapidExitTaxiwayLight() const { return myRapidExitTaxiwayLight; }
113  void setRapidExitTaxiwayLight(unsigned char c) { myRapidExitTaxiwayLight = c; }
114 
115  unsigned char runwayExitLight() const { return myRunwayExitLight; }
116  void setRunwayExitLight(unsigned char c) { myRunwayExitLight = c; }
117 
118  unsigned char taxiwayLeadOnLight() const { return myTaxiwayLeadOnLight; }
119  void setTaxiwayLeadOnLight(unsigned char c) { myTaxiwayLeadOnLight = c; }
120 
121  unsigned char taxiwayStopBarLight() const { return myTaxiwayStopBarLight; }
122  void setTaxiwayStopBarLight(unsigned char c) { myTaxiwayStopBarLight = c; }
123 
124  unsigned char prethresholdEdgeLight() const { return myPrethresholdEdgeLight; }
125  void setPrethresholdEdgeLight(unsigned char c) { myPrethresholdEdgeLight = c; }
126 
127  unsigned char displacedThresholdLight() const { return myDisplacedThresholdLight; }
128  void setDisplacedThresholdLight(unsigned char c) { myDisplacedThresholdLight = c; }
129 
130  unsigned char edgeLight() const { return myEdgeLight; }
131  void setEdgeLight(unsigned char c) { myEdgeLight = c; }
132 
133  unsigned char distanceToGoLight() const { return myDistanceToGoLight; }
134  void setDistanceToGoLight(unsigned char c) { myDistanceToGoLight = c; }
135 
136  bool arrestorGear() const { return myArrestorGear; }
137  void setArrestorGear(bool c) { myArrestorGear = c; }
138 
139  DtString archive() const;
140  int restoreFromArchive(int& startIndex, const std::vector<DtString>&);
141 
142  bool operator==(const DtRunwayLightStateData& rhs) const
143  {
144  return ((myRunwayName == rhs.myRunwayName) &&
145  (myActive == rhs.myActive) &&
146  (myCenterLineLight == rhs.myCenterLineLight) &&
147  (myDistanceToGoLight == rhs.myDistanceToGoLight) &&
148  (myEdgeLight == rhs.myEdgeLight) &&
149  (myDisplacedThresholdLight == rhs.myDisplacedThresholdLight) &&
150  (myEndLight == rhs.myEndLight) &&
151  (myTouchDownZoneLight == rhs.myTouchDownZoneLight) &&
152  (myThresholdLightingLight == rhs.myThresholdLightingLight) &&
153  (myEndIndicatorLight == rhs.myEndIndicatorLight) &&
154  (myApproachLight == rhs.myApproachLight) &&
155  (myVGSILight == rhs.myVGSILight) &&
156  (myArrestorGear == rhs.myArrestorGear) &&
157  (myRunwayExitLight == rhs.myRunwayExitLight) &&
158  (myTaxiwayLeadOnLight == rhs.myTaxiwayLeadOnLight) &&
159  (myPrethresholdEdgeLight == rhs.myPrethresholdEdgeLight) &&
160  (myTaxiwayStopBarLight == rhs.myTaxiwayStopBarLight) &&
161  (myRapidExitTaxiwayLight == rhs.myRapidExitTaxiwayLight));
162  }
163 
164  bool operator!=(const DtRunwayLightStateData& rhs) const
165  {
166  return !(*this == rhs);
167  }
168 
169  unsigned char value(const DtString& value) const
170  {
171  if (value == "Edge")
172  {
173  return edgeLight();
174  }
175  else if (value == "ArrestorGear")
176  {
177  return arrestorGear();
178  }
179  else if (value == "Active")
180  {
181  return active();
182  }
183  else if (value == "Approach")
184  {
185  return approachLight();
186  }
187  else if (value == "CenterLine")
188  {
189  return centerLineLight();
190  }
191  else if (value == "DistanceToGo")
192  {
193  return distanceToGoLight();
194  }
195  else if (value == "TDZ")
196  {
197  return touchDownZoneLight();
198  }
199  else if (value == "DisplacedThreshold")
200  {
201  return displacedThresholdLight();
202  }
203  else if (value == "ThresholdLighting")
204  {
205  return thresholdLightingLight();
206  }
207  else if (value == "RapidExitTaxiwayLight")
208  {
209  return rapidExitTaxiwayLight();
210  }
211  else if (value == "RunwayExitLight")
212  {
213  return runwayExitLight();
214  }
215  else if (value == "TaxiwayLeadOnLight")
216  {
217  return taxiwayLeadOnLight();
218  }
219  else if (value == "TaxiwayStopBarLight")
220  {
221  return taxiwayStopBarLight();
222  }
223  else if (value == "PrethresholdEdgeLight")
224  {
225  return prethresholdEdgeLight();
226  }
227  else if (value == "REILS")
228  {
229  return endIndicatorLight();
230  }
231  else if (value == "RunwayEndLight")
232  {
233  return endLight();
234  }
235  else if (value == "VSGI")
236  {
237  return VGSILight();
238  }
239  else if (value == "All")
240  {
241  return -1;
242  }
243 
244  return 0;
245  }
246 
247  void setValue(const DtString& value, unsigned char v)
248  {
249  if ((value == "All") || (value == "Edge"))
250  {
251  setEdgeLight(v);
252  }
253 
254  if ((value == "All") || (value == "Approach"))
255  {
256  setApproachLight(v);
257  }
258 
259  if ((value == "All") || (value == "CenterLine"))
260  {
261  setCenterLineLight(v);
262  }
263 
264  if ((value == "All") || (value == "DistanceToGo"))
265  {
266  setDistanceToGoLight(v);
267  }
268 
269  if ((value == "All") || (value == "TDZ"))
270  {
271  setTouchDownZoneLight(v);
272  }
273 
274  if ((value == "All") || (value == "DisplacedThreshold"))
275  {
276  setDisplacedThresholdLight(v);
277  }
278 
279  if ((value == "All") || (value == "ThresholdLighting"))
280  {
281  setThresholdLightingLight(v);
282  }
283 
284  if ((value == "All") || (value == "RapidExitTaxiwayLight"))
285  {
286  setRapidExitTaxiwayLight(v);
287  }
288 
289  if ((value == "All") || (value == "RunwayExitLight"))
290  {
291  setRunwayExitLight(v);
292  }
293 
294  if ((value == "All") || (value == "TaxiwayLeadOnLight"))
295  {
296  setTaxiwayLeadOnLight(v);
297  }
298 
299  if ((value == "All") || (value == "TaxiwayStopBarLight"))
300  {
301  setTaxiwayStopBarLight(v);
302  }
303 
304  if ((value == "All") || (value == "PrethresholdEdgeLight"))
305  {
306  setPrethresholdEdgeLight(v);
307  }
308 
309  if ((value == "All") || (value == "REILS"))
310  {
311  setEndIndicatorLight(v);
312  }
313 
314  if ((value == "All") || (value == "RunwayEndLight"))
315  {
316  setEndLight(v);
317  }
318 
319  if ((value == "All") || (value == "VSGI"))
320  {
321  setVGSILight(v);
322  }
323 
324  if (value == "ArrestorGear")
325  {
326  setArrestorGear(v == 1);
327  }
328  else if (value == "Active")
329  {
330  setActive(v == 1);
331  }
332  }
333 
334 protected:
336  bool myActive;
338  unsigned char myCenterLineLight;
339  unsigned char myDistanceToGoLight;
340  unsigned char myEdgeLight;
342  unsigned char myEndLight;
343  unsigned char myTouchDownZoneLight;
345  unsigned char myEndIndicatorLight;
346  unsigned char myApproachLight;
347  unsigned char myVGSILight;
348  unsigned char myRapidExitTaxiwayLight;
349  unsigned char myRunwayExitLight;
350  unsigned char myTaxiwayLeadOnLight;
351  unsigned char myTaxiwayStopBarLight;
352  unsigned char myPrethresholdEdgeLight;
353 };
354 
356 {
357 public:
359  : myDamaged(false)
360  , myCondition(1)
361  , myGuardLight(100)
362  {
363  myRunwayLightState.resize(2);
364  };
365 
367  {
368  myUUID = orig.myUUID;
369  myDamaged = orig.myDamaged;
370  myCondition = orig.myCondition;
371  myGuardLight = orig.myGuardLight;
372  myRunwayLightState = orig.myRunwayLightState;
373  myRunwayPoints = orig.myRunwayPoints;
374  }
375 
377  {
378  myUUID = orig.myUUID;
379  myDamaged = orig.myDamaged;
380  myCondition = orig.myCondition;
381  myGuardLight = orig.myGuardLight;
382  myRunwayLightState = orig.myRunwayLightState;
383  myRunwayPoints = orig.myRunwayPoints;
384 
385  return *this;
386  }
387 
388  bool operator==(const DtRunwayStateData& rhs) const
389  {
390  return ((myUUID == rhs.myUUID) &&
391  (myDamaged == rhs.myDamaged) &&
392  (myCondition == rhs.myCondition) &&
393  (myGuardLight == rhs.myGuardLight) &&
394  (myRunwayPoints == rhs.myRunwayPoints) &&
395  (myRunwayLightState == rhs.myRunwayLightState));
396  }
397 
398  bool operator!=(const DtRunwayStateData& rhs) const
399  {
400  return !(*this == rhs);
401  }
402 
403  bool isLightState(const DtString& value) const
404  {
405  if ((value == "RunwayGuard") ||
406  (value == "Condition") ||
407  (value == "Active") ||
408  (value == "Damaged"))
409  {
410  return false;
411  }
412 
413  return true;
414  }
415 
416  unsigned char value(const DtString& value) const
417  {
418  if (value == "RunwayGuard")
419  {
420  return guardLight();
421  }
422  else if (value == "Condition")
423  {
424  return condition();
425  }
426  else if (value == "Active")
427  {
428  return active();
429  }
430  else if (value == "Damaged")
431  {
432  return damaged();
433  }
434  else if (value == "All")
435  {
436  return -1;
437  }
438 
439  return 0;
440  }
441 
442  void setValue(const DtString& value, unsigned char v)
443  {
444  if ((value == "All") || (value == "RunwayGuard"))
445  {
446  return setGuardLight(v);
447  }
448 
449  if (value == "Condition")
450  {
451  return setCondition(v);
452  }
453  else if (value == "Active")
454  {
455  return setActive(v == 1);
456  }
457  else if (value == "Damaged")
458  {
459  return setDamaged(v == 1);
460  }
461  }
462 
463  bool active() const { return (myRunwayLightState[0].active() || myRunwayLightState[1].active()); };
464  void setActive(bool b) { myRunwayLightState[0].setActive(b); myRunwayLightState[1].setActive(b); };
465 
466  const DtUUID& uuid() const { return myUUID; }
467  void setUUID(const DtUUID& u) { myUUID = u; }
468 
469  bool damaged() const { return myDamaged; }
470  void setDamaged(bool b) { myDamaged = b; };
471 
472  unsigned char condition() const { return myCondition; }
473  void setCondition(unsigned char c) { myCondition = c; }
474 
475  unsigned char guardLight() const { return myGuardLight; }
476  void setGuardLight(unsigned char c) { myGuardLight= c; }
477 
478  std::vector<DtRunwayLightStateData>& runwayLightState() { return myRunwayLightState; };
479  const std::vector<DtRunwayLightStateData>& runwayLightState() const { return myRunwayLightState; };
480 
481  DtString archive() const;
482  void restoreRunwayFromArchive(const DtString&);
483 
484  const std::vector<DtVector>& runwayPoints() const { return myRunwayPoints; };
485  void setRunwayPoints(const std::vector<DtVector>& runwayPoints) { myRunwayPoints = runwayPoints; };
486 
487  DtString name() const { return myRunwayLightState[0].runwayName() + "/" + myRunwayLightState[1].runwayName(); };
488 
489 protected:
490  DtUUID myUUID;
491  bool myDamaged;
492  unsigned char myCondition;
493  unsigned char myGuardLight;
494  std::vector<DtRunwayLightStateData> myRunwayLightState;
495  std::vector<DtVector> myRunwayPoints;
496 };
497 
499 {
501  : myUUID(DtUUID::nullUUID())
502  , myIsLocal(false)
503  , myCheckForNameReservation(true)
504  , myForceType(0)
505  , myAppearance(0)
506  , myActive(true)
507  , myApronLight(100)
508  , myApronFloodLight(100)
509  , myClearanceBarLight(100)
510  , myTaxiwayCentreLight(100)
511  , myTaxiwayEdgeLight(100)
512  , myTaxiwayIdentifierMarkerBoardLight(100)
513  , myUndercarriageInspectionSystem(0)
514  , myUserData(0)
515  {};
516 
518  {
519  myUUID = orig.myUUID;
520  myIsLocal = orig.myIsLocal;
521  myCheckForNameReservation = orig.myCheckForNameReservation;
522  myForceType = orig.myForceType;
523  myAirportCode = orig.myAirportCode;
524  myRunways = orig.myRunways;
525  myGlobalId = orig.myGlobalId;
526  myObjectType = orig.myObjectType;
527  myEntityIdentifier = orig.myEntityIdentifier;
528  myAppearance = orig.myAppearance;
529  myActive = orig.myActive;
530  myApronLight = orig.myApronLight;
531  myApronFloodLight = orig.myApronFloodLight;
532  myClearanceBarLight = orig.myClearanceBarLight;
533  myTaxiwayCentreLight = orig.myTaxiwayCentreLight;
534  myTaxiwayEdgeLight = orig.myTaxiwayEdgeLight;
535  myTaxiwayIdentifierMarkerBoardLight = orig.myTaxiwayIdentifierMarkerBoardLight;
536  myUndercarriageInspectionSystem = orig.myUndercarriageInspectionSystem;
537  myUserData = orig.myUserData;
538  }
539 
541  {
542  myUUID = orig.myUUID;
543  myIsLocal = orig.myIsLocal;
544  myCheckForNameReservation = orig.myCheckForNameReservation;
545  myForceType = orig.myForceType;
546  myAirportCode = orig.myAirportCode;
547  myRunways = orig.myRunways;
548  myGlobalId = orig.myGlobalId;
549  myObjectType = orig.myObjectType;
550  myEntityIdentifier = orig.myEntityIdentifier;
551  myAppearance = orig.myAppearance;
552  myActive = orig.myActive;
553  myApronLight = orig.myApronLight;
554  myApronFloodLight = orig.myApronFloodLight;
555  myClearanceBarLight = orig.myClearanceBarLight;
556  myTaxiwayCentreLight = orig.myTaxiwayCentreLight;
557  myTaxiwayEdgeLight = orig.myTaxiwayEdgeLight;
558  myTaxiwayIdentifierMarkerBoardLight = orig.myTaxiwayIdentifierMarkerBoardLight;
559  myUndercarriageInspectionSystem = orig.myUndercarriageInspectionSystem;
560  myUserData = orig.myUserData;
561 
562  return *this;
563  }
564 
565  bool operator==(const DtAerodromeStateData& rhs) const
566  {
567  return ((myUUID == rhs.myUUID) &&
568  (myIsLocal == rhs.myIsLocal) &&
569  (myUserData == rhs.myUserData) &&
570  (myForceType == rhs.myForceType) &&
571  (myAirportCode == rhs.myAirportCode) &&
572  (myRunways == rhs.myRunways) &&
573  (myGlobalId == rhs.myGlobalId) &&
574  (myObjectType == rhs.myObjectType) &&
575  (myEntityIdentifier == rhs.myEntityIdentifier) &&
576  (myAppearance == rhs.myAppearance) &&
577  (myApronLight == rhs.myApronLight) &&
578  (myApronFloodLight == rhs.myApronFloodLight) &&
579  (myClearanceBarLight == rhs.myClearanceBarLight) &&
580  (myTaxiwayCentreLight == rhs.myTaxiwayCentreLight) &&
581  (myTaxiwayEdgeLight == rhs.myTaxiwayEdgeLight) &&
582  (myTaxiwayIdentifierMarkerBoardLight == rhs.myTaxiwayIdentifierMarkerBoardLight) &&
583  (myUndercarriageInspectionSystem == rhs.myUndercarriageInspectionSystem) &&
584  (myActive == rhs.myActive));
585  };
586 
587  bool operator!=(const DtAerodromeStateData& rhs) const
588  {
589  return !(*this == rhs);
590  }
591 
593  {
595 
596  myRunways[sd.uuid()] = sd;
597 
598  return myRunways[sd.uuid()];
599  }
600 
601  bool removeRunway(const DtUUID& u)
602  {
603  std::map<DtUUID, DtRunwayStateData>::iterator iter = myRunways.find(u);
604 
605  if (iter != myRunways.end())
606  {
607  myRunways.erase(iter);
608  return true;
609  }
610 
611  return false;
612  }
613 
615  {
616  std::map<DtUUID, DtRunwayStateData>::iterator iter = myRunways.find(u);
617 
618  if (iter != myRunways.end())
619  {
620  return iter->second;
621  }
622 
623  static DtRunwayStateData theDefaultRunwayStateData;
624  return theDefaultRunwayStateData;
625  }
626 
627  DtRunwayStateData& runway(const std::string& u)
628  {
629  for (auto& runway : myRunways)
630  {
631  if ((runway.second.name() == u) || (runway.second.runwayLightState()[0].runwayName() == u) || (runway.second.runwayLightState()[1].runwayName() == u))
632  {
633  return runway.second;
634  }
635  }
636 
637  static DtRunwayStateData theDefaultRunwayStateData;
638  return theDefaultRunwayStateData;
639  }
640 
641  const DtRunwayStateData& runway(const DtUUID& u) const
642  {
643  std::map<DtUUID, DtRunwayStateData>::const_iterator iter = myRunways.find(u);
644 
645  if (iter != myRunways.end())
646  {
647  return iter->second;
648  }
649 
650  static DtRunwayStateData theDefaultRunwayStateData;
651  return theDefaultRunwayStateData;
652  }
653 
654  const DtRunwayStateData& runway(const std::string& u) const
655  {
656  for (auto& runway : myRunways)
657  {
658  if ((runway.second.name() == u) || (runway.second.runwayLightState()[0].runwayName() == u) || (runway.second.runwayLightState()[1].runwayName() == u))
659  {
660  return runway.second;
661  }
662  }
663 
664  static DtRunwayStateData theDefaultRunwayStateData;
665  return theDefaultRunwayStateData;
666  }
667 
668  const std::map<DtUUID, DtRunwayStateData>& runways() const
669  {
670  return myRunways;
671  }
672 
673  std::map<DtUUID, DtRunwayStateData>& runways()
674  {
675  return myRunways;
676  }
677 
678  const DtString& airportCode() const { return myAirportCode; }
679  void setAirportCode(const DtString& c) { myAirportCode = c; }
680 
681  const DtString& globalId() const { return myGlobalId; }
682  void setGlobalId(const DtString& c) { myGlobalId = c; }
683 
684  int forceType() const { return myForceType; }
685  void setForceType(int c) { myForceType = c; }
686 
687  const DtUUID& uuid() const { return myUUID; }
688  void setUUID(const DtUUID& u) { myUUID = u; }
689 
690  const DtEntityType& objectType() const { return myObjectType; }
691  void setObjectType(const DtEntityType& o) { myObjectType = o; }
692 
693  const DtEntityIdentifier& entityIdentifier() const { return myEntityIdentifier; }
694  void setEntityIdentifier(const DtEntityIdentifier& c) { myEntityIdentifier= c; }
695 
696  unsigned int appearance() const { return myAppearance; }
697  void setAppearance(unsigned int c) { myAppearance = c; }
698 
699  const bool& isLocal() const { return myIsLocal; }
700  void setIsLocal(bool b) { myIsLocal = b; };
701 
702  const bool& checkForNameReservation() const { return myCheckForNameReservation; }
703  void setCheckForNameReservation(bool b) { myCheckForNameReservation = b; };
704 
705  const bool& active() const { return myActive; }
706  void setActive(bool b) { myActive = b; };
707 
708  unsigned char apronLight() const { return myApronLight; }
709  void setApronLight(unsigned char c) { myApronLight = c; }
710 
711  unsigned char apronFloodLight() const { return myApronFloodLight; }
712  void setApronFloodLight(unsigned char c) { myApronFloodLight = c; }
713 
714  unsigned char clearanceBarLight() const { return myClearanceBarLight; }
715  void setClearanceBarLight(unsigned char c) { myClearanceBarLight = c; }
716 
717  unsigned char taxiwayCentreLight() const { return myTaxiwayCentreLight; }
718  void setTaxiwayCentreLight(unsigned char c) { myTaxiwayCentreLight = c; }
719 
720  unsigned char taxiwayEdgeLight() const { return myTaxiwayEdgeLight; }
721  void setTaxiwayEdgeLight(unsigned char c) { myTaxiwayEdgeLight = c; }
722 
723  unsigned char taxiwayIdentifierMarkerBoardLight() const { return myTaxiwayIdentifierMarkerBoardLight; }
724  void setTaxiwayIdentifierMarkerBoardLight(unsigned char c) { myTaxiwayIdentifierMarkerBoardLight = c; }
725 
726  void setUndercarriageInspectionSystem( bool onOff ) { myUndercarriageInspectionSystem = (onOff ? 1 : 0); };
727  bool undercarriageInspectionSystem() const { return (myUndercarriageInspectionSystem == 1); };
728 
729  void setUserData( unsigned long long d ) { myUserData = d; };
730  unsigned long long userData() const { return myUserData; };
731 
732  void setValue(const DtString& s, unsigned char v)
733  {
734  if ((s == "All") || (s == "ApronLight"))
735  {
736  setApronLight(v);
737  }
738 
739  if ((s == "All") || (s == "ApronFloodLight"))
740  {
741  setApronFloodLight(v);
742  }
743 
744  if ((s == "All") || (s == "ClearanceBarLight"))
745  {
746  setClearanceBarLight(v);
747  }
748 
749  if ((s == "All") || (s == "TaxiwayCentreLight"))
750  {
751  setTaxiwayCentreLight(v);
752  }
753 
754  if ((s == "All") || (s == "TaxiwayEdgeLight"))
755  {
756  setTaxiwayEdgeLight(v);
757  }
758 
759  if ((s == "All") || (s == "TaxiwayIdentifierMarkerBoardLight"))
760  {
761  setTaxiwayIdentifierMarkerBoardLight(v);
762  }
763 
764  if (s == "Undercarriage")
765  {
766  setUndercarriageInspectionSystem(v == 1);
767  }
768  }
769 
770  unsigned char value(const DtString& s) const
771  {
772  if (s == "ApronLight")
773  {
774  return apronLight();
775  }
776  else if (s == "ApronFloodLight")
777  {
778  return apronFloodLight();
779  }
780  else if (s == "ClearanceBarLight")
781  {
782  return clearanceBarLight();
783  }
784  else if (s == "TaxiwayCentreLight")
785  {
786  return taxiwayCentreLight();
787  }
788  else if (s == "TaxiwayEdgeLight")
789  {
790  return taxiwayEdgeLight();
791  }
792  else if (s == "TaxiwayIdentifierMarkerBoardLight")
793  {
794  return taxiwayIdentifierMarkerBoardLight();
795  }
796  else if (s == "Undercarriage")
797  {
798  return undercarriageInspectionSystem();
799  }
800  else if (s == "All")
801  {
802  return -1;
803  }
804 
805  return 0;
806  }
807 
808  std::vector<DtString> runwaysArchived() const;
809  void restoreRunwaysFromArchive(const std::vector<DtString>&);
810 
811  DtString archive() const;
812  void restoreFromArchive(const DtString&);
813 
814 protected:
818  bool myIsLocal;
820  bool myActive;
822  unsigned int myAppearance;
823  DtEntityIdentifier myEntityIdentifier;
824  DtEntityType myObjectType;
825 
826  unsigned char myApronLight;
827  unsigned char myApronFloodLight;
828  unsigned char myClearanceBarLight;
829  unsigned char myObstructionLight;
830  unsigned char myTaxiwayCentreLight;
831  unsigned char myTaxiwayEdgeLight;
832  unsigned char myTaxiwayGuardLight;
835  unsigned long long myUserData;
836 
837  std::map<DtUUID, DtRunwayStateData> myRunways;
838 };
const std::vector< DtRunwayLightStateData > & runwayLightState() const
Definition: aerodromeStateData.h:479
UUID is a unique ID wrapper class.
Definition: uuid.h:59
void setUUID(const DtUUID &u)
Definition: aerodromeStateData.h:688
unsigned char displacedThresholdLight() const
Definition: aerodromeStateData.h:127
void setArrestorGear(bool c)
Definition: aerodromeStateData.h:137
void setEdgeLight(unsigned char c)
Definition: aerodromeStateData.h:131
std::vector< DtVector > myRunwayPoints
Definition: aerodromeStateData.h:495
const bool & active() const
Definition: aerodromeStateData.h:88
unsigned char myClearanceBarLight
Definition: aerodromeStateData.h:828
unsigned char touchDownZoneLight() const
Definition: aerodromeStateData.h:103
void setTouchDownZoneLight(unsigned char c)
Definition: aerodromeStateData.h:104
unsigned char myApproachLight
Definition: aerodromeStateData.h:346
void setVGSILight(unsigned char c)
Definition: aerodromeStateData.h:107
void setRunwayName(const DtString &n)
Definition: aerodromeStateData.h:86
void setEntityIdentifier(const DtEntityIdentifier &c)
Definition: aerodromeStateData.h:694
unsigned char runwayExitLight() const
Definition: aerodromeStateData.h:115
void setThresholdLightingLight(unsigned char c)
Definition: aerodromeStateData.h:101
void setForceType(int c)
Definition: aerodromeStateData.h:685
unsigned char value(const DtString &s) const
Definition: aerodromeStateData.h:770
const bool & isLocal() const
Definition: aerodromeStateData.h:699
unsigned char taxiwayStopBarLight() const
Definition: aerodromeStateData.h:121
unsigned int appearance() const
Definition: aerodromeStateData.h:696
void setActive(bool b)
Definition: aerodromeStateData.h:706
DtUUID myUUID
Definition: aerodromeStateData.h:817
bool operator==(const DtRunwayLightStateData &rhs) const
Definition: aerodromeStateData.h:142
bool myActive
Definition: aerodromeStateData.h:336
unsigned char thresholdLightingLight() const
Definition: aerodromeStateData.h:100
Definition: aerodromeStateData.h:498
unsigned char centerLineLight() const
Definition: aerodromeStateData.h:91
unsigned int myAppearance
Definition: aerodromeStateData.h:822
unsigned char myEdgeLight
Definition: aerodromeStateData.h:340
DtEntityIdentifier myEntityIdentifier
Definition: aerodromeStateData.h:823
const bool & active() const
Definition: aerodromeStateData.h:705
unsigned char myTaxiwayStopBarLight
Definition: aerodromeStateData.h:351
unsigned char apronLight() const
Definition: aerodromeStateData.h:708
void setEndIndicatorLight(unsigned char c)
Definition: aerodromeStateData.h:98
unsigned char myRunwayExitLight
Definition: aerodromeStateData.h:349
bool isLightState(const DtString &value) const
Definition: aerodromeStateData.h:403
unsigned long long userData() const
Definition: aerodromeStateData.h:730
bool myActive
Definition: aerodromeStateData.h:820
unsigned char guardLight() const
Definition: aerodromeStateData.h:475
unsigned char value(const DtString &value) const
Definition: aerodromeStateData.h:416
const DtString & globalId() const
Definition: aerodromeStateData.h:681
unsigned char prethresholdEdgeLight() const
Definition: aerodromeStateData.h:124
const std::vector< DtVector > & runwayPoints() const
Definition: aerodromeStateData.h:484
void setTaxiwayIdentifierMarkerBoardLight(unsigned char c)
Definition: aerodromeStateData.h:724
bool arrestorGear() const
Definition: aerodromeStateData.h:136
Contains the DtUUID class declaration.
void setRunwayExitLight(unsigned char c)
Definition: aerodromeStateData.h:116
void setIsLocal(bool b)
Definition: aerodromeStateData.h:700
bool undercarriageInspectionSystem() const
Definition: aerodromeStateData.h:727
DtRunwayStateData & runway(const DtUUID &u)
Definition: aerodromeStateData.h:614
void setClearanceBarLight(unsigned char c)
Definition: aerodromeStateData.h:715
void setApproachLight(unsigned char c)
Definition: aerodromeStateData.h:95
unsigned char myThresholdLightingLight
Definition: aerodromeStateData.h:344
void setRapidExitTaxiwayLight(unsigned char c)
Definition: aerodromeStateData.h:113
bool damaged() const
Definition: aerodromeStateData.h:469
void setUndercarriageInspectionSystem(bool onOff)
Definition: aerodromeStateData.h:726
unsigned char myApronLight
Definition: aerodromeStateData.h:826
void setApronFloodLight(unsigned char c)
Definition: aerodromeStateData.h:712
void setCenterLineLight(unsigned char c)
Definition: aerodromeStateData.h:92
bool operator!=(const DtRunwayLightStateData &rhs) const
Definition: aerodromeStateData.h:164
void setGlobalId(const DtString &c)
Definition: aerodromeStateData.h:682
DtRunwayStateData & addRunway()
Definition: aerodromeStateData.h:592
bool myIsLocal
Definition: aerodromeStateData.h:818
void setValue(const DtString &s, unsigned char v)
Definition: aerodromeStateData.h:732
bool myDamaged
Definition: aerodromeStateData.h:491
DtRunwayLightStateData(const DtRunwayLightStateData &orig)
Definition: aerodromeStateData.h:39
const DtRunwayStateData & runway(const DtUUID &u) const
Definition: aerodromeStateData.h:641
const DtEntityIdentifier & entityIdentifier() const
Definition: aerodromeStateData.h:693
unsigned char myTaxiwayGuardLight
Definition: aerodromeStateData.h:832
void setValue(const DtString &value, unsigned char v)
Definition: aerodromeStateData.h:442
const std::map< DtUUID, DtRunwayStateData > & runways() const
Definition: aerodromeStateData.h:668
unsigned char condition() const
Definition: aerodromeStateData.h:472
void setGuardLight(unsigned char c)
Definition: aerodromeStateData.h:476
unsigned char taxiwayEdgeLight() const
Definition: aerodromeStateData.h:720
DtString myGlobalId
Definition: aerodromeStateData.h:816
std::vector< DtRunwayLightStateData > & runwayLightState()
Definition: aerodromeStateData.h:478
unsigned char clearanceBarLight() const
Definition: aerodromeStateData.h:714
unsigned char myVGSILight
Definition: aerodromeStateData.h:347
int forceType() const
Definition: aerodromeStateData.h:684
DtAerodromeStateData & operator=(const DtAerodromeStateData &orig)
Definition: aerodromeStateData.h:540
void setCondition(unsigned char c)
Definition: aerodromeStateData.h:473
DtRunwayStateData & runway(const std::string &u)
Definition: aerodromeStateData.h:627
unsigned char myTaxiwayIdentifierMarkerBoardLight
Definition: aerodromeStateData.h:833
unsigned char distanceToGoLight() const
Definition: aerodromeStateData.h:133
unsigned char taxiwayCentreLight() const
Definition: aerodromeStateData.h:717
void setUserData(unsigned long long d)
Definition: aerodromeStateData.h:729
unsigned char myApronFloodLight
Definition: aerodromeStateData.h:827
unsigned char myEndIndicatorLight
Definition: aerodromeStateData.h:345
const DtEntityType & objectType() const
Definition: aerodromeStateData.h:690
bool operator==(const DtAerodromeStateData &rhs) const
Definition: aerodromeStateData.h:565
bool myCheckForNameReservation
Definition: aerodromeStateData.h:819
unsigned char value(const DtString &value) const
Definition: aerodromeStateData.h:169
Definition: aerodromeStateData.h:17
unsigned char edgeLight() const
Definition: aerodromeStateData.h:130
void setEndLight(unsigned char c)
Definition: aerodromeStateData.h:110
unsigned char myCondition
Definition: aerodromeStateData.h:492
unsigned char myTaxiwayLeadOnLight
Definition: aerodromeStateData.h:350
DtRunwayStateData(const DtRunwayStateData &orig)
Definition: aerodromeStateData.h:366
unsigned char myPrethresholdEdgeLight
Definition: aerodromeStateData.h:352
const DtString & runwayName() const
Definition: aerodromeStateData.h:85
unsigned char approachLight() const
Definition: aerodromeStateData.h:94
DtString myRunwayName
Definition: aerodromeStateData.h:335
unsigned char myTaxiwayCentreLight
Definition: aerodromeStateData.h:830
unsigned char myUndercarriageInspectionSystem
Definition: aerodromeStateData.h:834
void setDistanceToGoLight(unsigned char c)
Definition: aerodromeStateData.h:134
DtString myAirportCode
Definition: aerodromeStateData.h:815
unsigned char myTaxiwayEdgeLight
Definition: aerodromeStateData.h:831
unsigned char VGSILight() const
Definition: aerodromeStateData.h:106
unsigned long long myUserData
Definition: aerodromeStateData.h:835
bool active() const
Definition: aerodromeStateData.h:463
void setTaxiwayCentreLight(unsigned char c)
Definition: aerodromeStateData.h:718
void setCheckForNameReservation(bool b)
Definition: aerodromeStateData.h:703
unsigned char myGuardLight
Definition: aerodromeStateData.h:493
unsigned char myRapidExitTaxiwayLight
Definition: aerodromeStateData.h:348
void setValue(const DtString &value, unsigned char v)
Definition: aerodromeStateData.h:247
bool operator==(const DtRunwayStateData &rhs) const
Definition: aerodromeStateData.h:388
DtRunwayLightStateData()
Definition: aerodromeStateData.h:19
DtAerodromeStateData()
Definition: aerodromeStateData.h:500
unsigned char myTouchDownZoneLight
Definition: aerodromeStateData.h:343
const DtUUID & uuid() const
Definition: aerodromeStateData.h:687
std::map< DtUUID, DtRunwayStateData > & runways()
Definition: aerodromeStateData.h:673
unsigned char apronFloodLight() const
Definition: aerodromeStateData.h:711
unsigned char myEndLight
Definition: aerodromeStateData.h:342
bool removeRunway(const DtUUID &u)
Definition: aerodromeStateData.h:601
void setAppearance(unsigned int c)
Definition: aerodromeStateData.h:697
std::map< DtUUID, DtRunwayStateData > myRunways
Definition: aerodromeStateData.h:837
void setTaxiwayEdgeLight(unsigned char c)
Definition: aerodromeStateData.h:721
const DtRunwayStateData & runway(const std::string &u) const
Definition: aerodromeStateData.h:654
DtAerodromeStateData(const DtAerodromeStateData &orig)
Definition: aerodromeStateData.h:517
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
void setAirportCode(const DtString &c)
Definition: aerodromeStateData.h:679
DtString name() const
Definition: aerodromeStateData.h:487
unsigned char myObstructionLight
Definition: aerodromeStateData.h:829
unsigned char rapidExitTaxiwayLight() const
Definition: aerodromeStateData.h:112
bool operator!=(const DtRunwayStateData &rhs) const
Definition: aerodromeStateData.h:398
DtRunwayStateData()
Definition: aerodromeStateData.h:358
unsigned char endIndicatorLight() const
Definition: aerodromeStateData.h:97
void setTaxiwayStopBarLight(unsigned char c)
Definition: aerodromeStateData.h:122
unsigned char taxiwayLeadOnLight() const
Definition: aerodromeStateData.h:118
const DtString & airportCode() const
Definition: aerodromeStateData.h:678
void setActive(bool b)
Definition: aerodromeStateData.h:464
void setUUID(const DtUUID &u)
Definition: aerodromeStateData.h:467
const DtUUID & uuid() const
Definition: aerodromeStateData.h:466
DtUUID myUUID
Definition: aerodromeStateData.h:487
unsigned char endLight() const
Definition: aerodromeStateData.h:109
unsigned char myDisplacedThresholdLight
Definition: aerodromeStateData.h:341
DtRunwayStateData & operator=(const DtRunwayStateData &orig)
Definition: aerodromeStateData.h:376
void setRunwayPoints(const std::vector< DtVector > &runwayPoints)
Definition: aerodromeStateData.h:485
unsigned char myDistanceToGoLight
Definition: aerodromeStateData.h:339
void setDamaged(bool b)
Definition: aerodromeStateData.h:470
void setPrethresholdEdgeLight(unsigned char c)
Definition: aerodromeStateData.h:125
DtRunwayLightStateData & operator=(const DtRunwayLightStateData &orig)
Definition: aerodromeStateData.h:61
void setActive(bool b)
Definition: aerodromeStateData.h:89
void setObjectType(const DtEntityType &o)
Definition: aerodromeStateData.h:691
unsigned char taxiwayIdentifierMarkerBoardLight() const
Definition: aerodromeStateData.h:723
void setDisplacedThresholdLight(unsigned char c)
Definition: aerodromeStateData.h:128
bool operator!=(const DtAerodromeStateData &rhs) const
Definition: aerodromeStateData.h:587
int myForceType
Definition: aerodromeStateData.h:821
void setApronLight(unsigned char c)
Definition: aerodromeStateData.h:709
void setTaxiwayLeadOnLight(unsigned char c)
Definition: aerodromeStateData.h:119
DtEntityType myObjectType
Definition: aerodromeStateData.h:824
const bool & checkForNameReservation() const
Definition: aerodromeStateData.h:702
Definition: aerodromeStateData.h:355
std::vector< DtRunwayLightStateData > myRunwayLightState
Definition: aerodromeStateData.h:494
unsigned char myCenterLineLight
Definition: aerodromeStateData.h:338
bool myArrestorGear
Definition: aerodromeStateData.h:337

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)