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>
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  , myForceType(0)
504  , myAppearance(0)
505  , myActive(true)
506  , myApronLight(100)
507  , myApronFloodLight(100)
508  , myClearanceBarLight(100)
509  , myTaxiwayCentreLight(100)
510  , myTaxiwayEdgeLight(100)
511  , myTaxiwayIdentifierMarkerBoardLight(100)
512  , myUndercarriageInspectionSystem(0)
513  {};
514 
516  {
517  myUUID = orig.myUUID;
518  myIsLocal = orig.myIsLocal;
519  myForceType = orig.myForceType;
520  myAirportCode = orig.myAirportCode;
521  myRunways = orig.myRunways;
522  myGlobalId = orig.myGlobalId;
523  myObjectType = orig.myObjectType;
524  myEntityIdentifier = orig.myEntityIdentifier;
525  myAppearance = orig.myAppearance;
526  myActive = orig.myActive;
527  myApronLight = orig.myApronLight;
528  myApronFloodLight = orig.myApronFloodLight;
529  myClearanceBarLight = orig.myClearanceBarLight;
530  myTaxiwayCentreLight = orig.myTaxiwayCentreLight;
531  myTaxiwayEdgeLight = orig.myTaxiwayEdgeLight;
532  myTaxiwayIdentifierMarkerBoardLight = orig.myTaxiwayIdentifierMarkerBoardLight;
533  myUndercarriageInspectionSystem = orig.myUndercarriageInspectionSystem;
534  }
535 
537  {
538  myUUID = orig.myUUID;
539  myIsLocal = orig.myIsLocal;
540  myForceType = orig.myForceType;
541  myAirportCode = orig.myAirportCode;
542  myRunways = orig.myRunways;
543  myGlobalId = orig.myGlobalId;
544  myObjectType = orig.myObjectType;
545  myEntityIdentifier = orig.myEntityIdentifier;
546  myAppearance = orig.myAppearance;
547  myActive = orig.myActive;
548  myApronLight = orig.myApronLight;
549  myApronFloodLight = orig.myApronFloodLight;
550  myClearanceBarLight = orig.myClearanceBarLight;
551  myTaxiwayCentreLight = orig.myTaxiwayCentreLight;
552  myTaxiwayEdgeLight = orig.myTaxiwayEdgeLight;
553  myTaxiwayIdentifierMarkerBoardLight = orig.myTaxiwayIdentifierMarkerBoardLight;
554  myUndercarriageInspectionSystem = orig.myUndercarriageInspectionSystem;
555 
556  return *this;
557  }
558 
559  bool operator==(const DtAerodromeStateData& rhs) const
560  {
561  return ((myUUID == rhs.myUUID) &&
562  (myIsLocal == rhs.myIsLocal) &&
563  (myForceType == rhs.myForceType) &&
564  (myAirportCode == rhs.myAirportCode) &&
565  (myRunways == rhs.myRunways) &&
566  (myGlobalId == rhs.myGlobalId) &&
567  (myObjectType == rhs.myObjectType) &&
568  (myEntityIdentifier == rhs.myEntityIdentifier) &&
569  (myAppearance == rhs.myAppearance) &&
570  (myApronLight == rhs.myApronLight) &&
571  (myApronFloodLight == rhs.myApronFloodLight) &&
572  (myClearanceBarLight == rhs.myClearanceBarLight) &&
573  (myTaxiwayCentreLight == rhs.myTaxiwayCentreLight) &&
574  (myTaxiwayEdgeLight == rhs.myTaxiwayEdgeLight) &&
575  (myTaxiwayIdentifierMarkerBoardLight == rhs.myTaxiwayIdentifierMarkerBoardLight) &&
576  (myUndercarriageInspectionSystem == rhs.myUndercarriageInspectionSystem) &&
577  (myActive == rhs.myActive));
578  };
579 
580  bool operator!=(const DtAerodromeStateData& rhs) const
581  {
582  return !(*this == rhs);
583  }
584 
586  {
588 
589  myRunways[sd.uuid()] = sd;
590 
591  return myRunways[sd.uuid()];
592  }
593 
594  bool removeRunway(const DtUUID& u)
595  {
596  std::map<DtUUID, DtRunwayStateData>::iterator iter = myRunways.find(u);
597 
598  if (iter != myRunways.end())
599  {
600  myRunways.erase(iter);
601  return true;
602  }
603 
604  return false;
605  }
606 
608  {
609  std::map<DtUUID, DtRunwayStateData>::iterator iter = myRunways.find(u);
610 
611  if (iter != myRunways.end())
612  {
613  return iter->second;
614  }
615 
616  static DtRunwayStateData theDefaultRunwayStateData;
617  return theDefaultRunwayStateData;
618  }
619 
620  DtRunwayStateData& runway(const std::string& u)
621  {
622  for (auto& runway : myRunways)
623  {
624  if ((runway.second.name() == u) || (runway.second.runwayLightState()[0].runwayName() == u) || (runway.second.runwayLightState()[1].runwayName() == u))
625  {
626  return runway.second;
627  }
628  }
629 
630  static DtRunwayStateData theDefaultRunwayStateData;
631  return theDefaultRunwayStateData;
632  }
633 
634  const DtRunwayStateData& runway(const DtUUID& u) const
635  {
636  std::map<DtUUID, DtRunwayStateData>::const_iterator iter = myRunways.find(u);
637 
638  if (iter != myRunways.end())
639  {
640  return iter->second;
641  }
642 
643  static DtRunwayStateData theDefaultRunwayStateData;
644  return theDefaultRunwayStateData;
645  }
646 
647  const DtRunwayStateData& runway(const std::string& u) const
648  {
649  for (auto& runway : myRunways)
650  {
651  if ((runway.second.name() == u) || (runway.second.runwayLightState()[0].runwayName() == u) || (runway.second.runwayLightState()[1].runwayName() == u))
652  {
653  return runway.second;
654  }
655  }
656 
657  static DtRunwayStateData theDefaultRunwayStateData;
658  return theDefaultRunwayStateData;
659  }
660 
661  const std::map<DtUUID, DtRunwayStateData>& runways() const
662  {
663  return myRunways;
664  }
665 
666  std::map<DtUUID, DtRunwayStateData>& runways()
667  {
668  return myRunways;
669  }
670 
671  const DtString& airportCode() const { return myAirportCode; }
672  void setAirportCode(const DtString& c) { myAirportCode = c; }
673 
674  const DtString& globalId() const { return myGlobalId; }
675  void setGlobalId(const DtString& c) { myGlobalId = c; }
676 
677  int forceType() const { return myForceType; }
678  void setForceType(int c) { myForceType = c; }
679 
680  const DtUUID& uuid() const { return myUUID; }
681  void setUUID(const DtUUID& u) { myUUID = u; }
682 
683  const DtObjectType& objectType() const { return myObjectType; }
684  void setObjectType(const DtObjectType& o) { myObjectType = o; }
685 
686  const DtEntityIdentifier& entityIdentifier() const { return myEntityIdentifier; }
687  void setEntityIdentifier(const DtEntityIdentifier& c) { myEntityIdentifier= c; }
688 
689  unsigned int appearance() const { return myAppearance; }
690  void setAppearance(unsigned int c) { myAppearance = c; }
691 
692  const bool& isLocal() const { return myIsLocal; }
693  void setIsLocal(bool b) { myIsLocal = b; };
694 
695  const bool& active() const { return myActive; }
696  void setActive(bool b) { myActive = b; };
697 
698  unsigned char apronLight() const { return myApronLight; }
699  void setApronLight(unsigned char c) { myApronLight = c; }
700 
701  unsigned char apronFloodLight() const { return myApronFloodLight; }
702  void setApronFloodLight(unsigned char c) { myApronFloodLight = c; }
703 
704  unsigned char clearanceBarLight() const { return myClearanceBarLight; }
705  void setClearanceBarLight(unsigned char c) { myClearanceBarLight = c; }
706 
707  unsigned char taxiwayCentreLight() const { return myTaxiwayCentreLight; }
708  void setTaxiwayCentreLight(unsigned char c) { myTaxiwayCentreLight = c; }
709 
710  unsigned char taxiwayEdgeLight() const { return myTaxiwayEdgeLight; }
711  void setTaxiwayEdgeLight(unsigned char c) { myTaxiwayEdgeLight = c; }
712 
713  unsigned char taxiwayIdentifierMarkerBoardLight() const { return myTaxiwayIdentifierMarkerBoardLight; }
714  void setTaxiwayIdentifierMarkerBoardLight(unsigned char c) { myTaxiwayIdentifierMarkerBoardLight = c; }
715 
716  void setUndercarriageInspectionSystem( bool onOff ) { myUndercarriageInspectionSystem = (onOff ? 1 : 0); };
717  bool undercarriageInspectionSystem() const { return (myUndercarriageInspectionSystem == 1); };
718 
719  void setValue(const DtString& s, unsigned char v)
720  {
721  if ((s == "All") || (s == "ApronLight"))
722  {
723  setApronLight(v);
724  }
725 
726  if ((s == "All") || (s == "ApronFloodLight"))
727  {
728  setApronFloodLight(v);
729  }
730 
731  if ((s == "All") || (s == "ClearanceBarLight"))
732  {
733  setClearanceBarLight(v);
734  }
735 
736  if ((s == "All") || (s == "TaxiwayCentreLight"))
737  {
738  setTaxiwayCentreLight(v);
739  }
740 
741  if ((s == "All") || (s == "TaxiwayEdgeLight"))
742  {
743  setTaxiwayEdgeLight(v);
744  }
745 
746  if ((s == "All") || (s == "TaxiwayIdentifierMarkerBoardLight"))
747  {
748  setTaxiwayIdentifierMarkerBoardLight(v);
749  }
750 
751  if (s == "Undercarriage")
752  {
753  setUndercarriageInspectionSystem(v == 1);
754  }
755  }
756 
757  unsigned char value(const DtString& s) const
758  {
759  if (s == "ApronLight")
760  {
761  return apronLight();
762  }
763  else if (s == "ApronFloodLight")
764  {
765  return apronFloodLight();
766  }
767  else if (s == "ClearanceBarLight")
768  {
769  return clearanceBarLight();
770  }
771  else if (s == "TaxiwayCentreLight")
772  {
773  return taxiwayCentreLight();
774  }
775  else if (s == "TaxiwayEdgeLight")
776  {
777  return taxiwayEdgeLight();
778  }
779  else if (s == "TaxiwayIdentifierMarkerBoardLight")
780  {
781  return taxiwayIdentifierMarkerBoardLight();
782  }
783  else if (s == "Undercarriage")
784  {
785  return undercarriageInspectionSystem();
786  }
787  else if (s == "All")
788  {
789  return -1;
790  }
791 
792  return 0;
793  }
794 
795  std::vector<DtString> runwaysArchived() const;
796  void restoreRunwaysFromArchive(const std::vector<DtString>&);
797 
798  DtString archive() const;
799  void restoreFromArchive(const DtString&);
800 
801 protected:
805  bool myIsLocal;
806  bool myActive;
808  unsigned int myAppearance;
809  DtEntityIdentifier myEntityIdentifier;
811 
812  unsigned char myApronLight;
813  unsigned char myApronFloodLight;
814  unsigned char myClearanceBarLight;
815  unsigned char myObstructionLight;
816  unsigned char myTaxiwayCentreLight;
817  unsigned char myTaxiwayEdgeLight;
818  unsigned char myTaxiwayGuardLight;
821 
822  std::map<DtUUID, DtRunwayStateData> myRunways;
823 };
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:681
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:814
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:687
unsigned char runwayExitLight() const
Definition: aerodromeStateData.h:115
void setThresholdLightingLight(unsigned char c)
Definition: aerodromeStateData.h:101
void setForceType(int c)
Definition: aerodromeStateData.h:678
unsigned char value(const DtString &s) const
Definition: aerodromeStateData.h:757
const bool & isLocal() const
Definition: aerodromeStateData.h:692
unsigned char taxiwayStopBarLight() const
Definition: aerodromeStateData.h:121
unsigned int appearance() const
Definition: aerodromeStateData.h:689
void setActive(bool b)
Definition: aerodromeStateData.h:696
DtUUID myUUID
Definition: aerodromeStateData.h:804
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:808
unsigned char myEdgeLight
Definition: aerodromeStateData.h:340
DtEntityIdentifier myEntityIdentifier
Definition: aerodromeStateData.h:809
const bool & active() const
Definition: aerodromeStateData.h:695
unsigned char myTaxiwayStopBarLight
Definition: aerodromeStateData.h:351
unsigned char apronLight() const
Definition: aerodromeStateData.h:698
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
bool myActive
Definition: aerodromeStateData.h:806
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:674
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:714
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:693
bool undercarriageInspectionSystem() const
Definition: aerodromeStateData.h:717
DtRunwayStateData & runway(const DtUUID &u)
Definition: aerodromeStateData.h:607
void setClearanceBarLight(unsigned char c)
Definition: aerodromeStateData.h:705
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:716
unsigned char myApronLight
Definition: aerodromeStateData.h:812
void setApronFloodLight(unsigned char c)
Definition: aerodromeStateData.h:702
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:675
Definition: objectType.h:27
DtRunwayStateData & addRunway()
Definition: aerodromeStateData.h:585
bool myIsLocal
Definition: aerodromeStateData.h:805
void setValue(const DtString &s, unsigned char v)
Definition: aerodromeStateData.h:719
bool myDamaged
Definition: aerodromeStateData.h:491
DtRunwayLightStateData(const DtRunwayLightStateData &orig)
Definition: aerodromeStateData.h:39
const DtRunwayStateData & runway(const DtUUID &u) const
Definition: aerodromeStateData.h:634
const DtEntityIdentifier & entityIdentifier() const
Definition: aerodromeStateData.h:686
unsigned char myTaxiwayGuardLight
Definition: aerodromeStateData.h:818
void setValue(const DtString &value, unsigned char v)
Definition: aerodromeStateData.h:442
const std::map< DtUUID, DtRunwayStateData > & runways() const
Definition: aerodromeStateData.h:661
unsigned char condition() const
Definition: aerodromeStateData.h:472
void setGuardLight(unsigned char c)
Definition: aerodromeStateData.h:476
unsigned char taxiwayEdgeLight() const
Definition: aerodromeStateData.h:710
DtString myGlobalId
Definition: aerodromeStateData.h:803
std::vector< DtRunwayLightStateData > & runwayLightState()
Definition: aerodromeStateData.h:478
unsigned char clearanceBarLight() const
Definition: aerodromeStateData.h:704
unsigned char myVGSILight
Definition: aerodromeStateData.h:347
int forceType() const
Definition: aerodromeStateData.h:677
DtAerodromeStateData & operator=(const DtAerodromeStateData &orig)
Definition: aerodromeStateData.h:536
void setCondition(unsigned char c)
Definition: aerodromeStateData.h:473
DtRunwayStateData & runway(const std::string &u)
Definition: aerodromeStateData.h:620
unsigned char myTaxiwayIdentifierMarkerBoardLight
Definition: aerodromeStateData.h:819
unsigned char distanceToGoLight() const
Definition: aerodromeStateData.h:133
unsigned char taxiwayCentreLight() const
Definition: aerodromeStateData.h:707
unsigned char myApronFloodLight
Definition: aerodromeStateData.h:813
unsigned char myEndIndicatorLight
Definition: aerodromeStateData.h:345
bool operator==(const DtAerodromeStateData &rhs) const
Definition: aerodromeStateData.h:559
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:816
unsigned char myUndercarriageInspectionSystem
Definition: aerodromeStateData.h:820
void setDistanceToGoLight(unsigned char c)
Definition: aerodromeStateData.h:134
DtString myAirportCode
Definition: aerodromeStateData.h:802
unsigned char myTaxiwayEdgeLight
Definition: aerodromeStateData.h:817
unsigned char VGSILight() const
Definition: aerodromeStateData.h:106
bool active() const
Definition: aerodromeStateData.h:463
void setTaxiwayCentreLight(unsigned char c)
Definition: aerodromeStateData.h:708
DtObjectType myObjectType
Definition: aerodromeStateData.h:810
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:680
std::map< DtUUID, DtRunwayStateData > & runways()
Definition: aerodromeStateData.h:666
unsigned char apronFloodLight() const
Definition: aerodromeStateData.h:701
unsigned char myEndLight
Definition: aerodromeStateData.h:342
bool removeRunway(const DtUUID &u)
Definition: aerodromeStateData.h:594
void setAppearance(unsigned int c)
Definition: aerodromeStateData.h:690
std::map< DtUUID, DtRunwayStateData > myRunways
Definition: aerodromeStateData.h:822
void setObjectType(const DtObjectType &o)
Definition: aerodromeStateData.h:684
void setTaxiwayEdgeLight(unsigned char c)
Definition: aerodromeStateData.h:711
const DtRunwayStateData & runway(const std::string &u) const
Definition: aerodromeStateData.h:647
DtAerodromeStateData(const DtAerodromeStateData &orig)
Definition: aerodromeStateData.h:515
#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:672
DtString name() const
Definition: aerodromeStateData.h:487
unsigned char myObstructionLight
Definition: aerodromeStateData.h:815
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:671
const DtObjectType & objectType() const
Definition: aerodromeStateData.h:683
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
unsigned char taxiwayIdentifierMarkerBoardLight() const
Definition: aerodromeStateData.h:713
void setDisplacedThresholdLight(unsigned char c)
Definition: aerodromeStateData.h:128
bool operator!=(const DtAerodromeStateData &rhs) const
Definition: aerodromeStateData.h:580
int myForceType
Definition: aerodromeStateData.h:807
void setApronLight(unsigned char c)
Definition: aerodromeStateData.h:699
void setTaxiwayLeadOnLight(unsigned char c)
Definition: aerodromeStateData.h:119
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)