]> git.mxchange.org Git - flightgear.git/blob - src/Navaids/PositionedBinding.hxx
fix trx and rx heights and improve calculations
[flightgear.git] / src / Navaids / PositionedBinding.hxx
1 #ifndef FG_POSITIONED_BINDING_HXX
2 #define FG_POSITIONED_BINDING_HXX
3
4 #include <simgear/props/tiedpropertylist.hxx>
5
6 #include "positioned.hxx"
7
8 // forward decls
9 class FGNavRecord;
10 class FGRunway;
11 class FGAirport;
12
13 namespace flightgear
14 {
15
16 // forward decls
17 class CommStation;
18
19 class PositionedBinding
20 {
21 public:
22     virtual ~PositionedBinding();
23     
24     static void bind(FGPositioned* pos, SGPropertyNode* node);
25     
26
27     PositionedBinding(const FGPositioned* pos, SGPropertyNode* node);
28
29 protected:
30     FGPositionedRef p; // bindings own a reference to their positioned
31     simgear::TiedPropertyList tied;
32     
33 private:
34
35 };
36
37 class NavaidBinding : public PositionedBinding
38 {
39 public:
40     NavaidBinding(const FGNavRecord* nav, SGPropertyNode* node);  
41 };
42
43 class RunwayBinding : public PositionedBinding
44 {
45 public:
46     RunwayBinding(const FGRunway* rwy, SGPropertyNode* node);   
47 };
48
49 class AirportBinding : public PositionedBinding
50 {
51 public:
52     AirportBinding(const FGAirport* apt, SGPropertyNode* node);   
53 };
54
55 class CommStationBinding : public PositionedBinding
56 {
57 public:
58     CommStationBinding(const CommStation* sta, SGPropertyNode* node);  
59 };
60
61 } // of namespace flightgear
62
63 #endif // of FG_POSITIONED_BINDING_HXX