FlightGear next
airports_fwd.hxx
Go to the documentation of this file.
1// Airports forward declarations
2//
3// Copyright (C) 2013 Thomas Geymayer <tomgey@gmail.com>
4//
5// This program is free software; you can redistribute it and/or
6// modify it under the terms of the GNU General Public License as
7// published by the Free Software Foundation; either version 2 of the
8// License, or (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful, but
11// WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13// General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19#ifndef AIRPORTS_FWD_HXX_
20#define AIRPORTS_FWD_HXX_
21
22#include <simgear/structure/SGSharedPtr.hxx>
23
24#include <list>
25#include <map>
26#include <algorithm>
27#include <vector>
28#include <string>
29#include <ctime> // for time_t
30
31// forward decls
32class FGAirport;
34class FGRunwayBase;
35class FGRunway;
36class FGHelipad;
37class FGTaxiway;
38class FGPavement;
39
40class FGNavRecord;
41
42class Block;
43class FGTaxiNode;
44class FGParking;
45class FGTaxiSegment;
46class FGTaxiRoute;
47class FGGroundNetwork;
48
49class RunwayList;
50class RunwayGroup;
52
53class FGSidStar;
54
55class SGPropertyNode;
56
57namespace flightgear {
58 class SID;
59 class STAR;
60 class Approach;
61 class Waypt;
62 class CommStation;
63
64 typedef std::vector<flightgear::SID*> SIDList;
65 typedef std::vector<STAR*> STARList;
66 typedef std::vector<Approach*> ApproachList;
67
68 typedef SGSharedPtr<Waypt> WayptRef;
69 typedef std::vector<WayptRef> WayptVec;
70
71 typedef SGSharedPtr<CommStation> CommStationRef;
72 typedef std::vector<CommStationRef> CommStationList;
73 typedef std::map<std::string, FGAirport*> AirportCache;
74}
75
76typedef SGSharedPtr<FGAirport> FGAirportRef;
77typedef SGSharedPtr<FGRunwayBase> FGRunwayBaseRef;
78typedef SGSharedPtr<FGRunway> FGRunwayRef;
79typedef SGSharedPtr<FGHelipad> FGHelipadRef;
80typedef SGSharedPtr<FGTaxiway> FGTaxiwayRef;
81typedef SGSharedPtr<FGPavement> FGPavementRef;
82typedef SGSharedPtr<FGParking> FGParkingRef;
83typedef SGSharedPtr<FGAirportDynamics> FGAirportDynamicsRef;
84
85typedef std::vector<FGRunwayRef> FGRunwayList;
86typedef std::map<std::string, FGRunwayRef> FGRunwayMap;
87typedef std::map<std::string, FGHelipadRef> FGHelipadMap;
88
89typedef std::vector<FGTaxiwayRef> FGTaxiwayList;
90typedef std::vector<FGPavementRef> FGPavementList;
91typedef std::vector<FGParkingRef> FGParkingList;
92
93typedef std::vector<FGTaxiSegment*> FGTaxiSegmentVector;
94typedef FGTaxiSegmentVector::iterator FGTaxiSegmentVectorIterator;
95
96typedef SGSharedPtr<FGTaxiNode> FGTaxiNodeRef;
97typedef std::vector<FGTaxiNodeRef> FGTaxiNodeVector;
98typedef FGTaxiNodeVector::iterator FGTaxiNodeVectorIterator;
99typedef std::map<int, FGTaxiNodeRef> IndexTaxiNodeMap;
100
101typedef std::vector<Block> BlockList;
102typedef BlockList::iterator BlockListIterator;
103
104typedef std::vector<time_t> TimeVector;
105typedef std::vector<time_t>::iterator TimeVectorIterator;
106
107typedef std::vector<FGTaxiRoute> TaxiRouteVector;
108typedef std::vector<FGTaxiRoute>::iterator TaxiRouteVectorIterator;
109
110typedef std::vector<RunwayList> RunwayListVec;
111typedef std::vector<RunwayList>::iterator RunwayListVectorIterator;
112typedef std::vector<RunwayList>::const_iterator RunwayListVecConstIterator;
113
114typedef std::vector<RunwayGroup> PreferenceList;
115typedef std::vector<RunwayGroup>::iterator PreferenceListIterator;
116typedef std::vector<RunwayGroup>::const_iterator PreferenceListConstIterator;
117
118#endif /* AIRPORTS_FWD_HXX_ */
std::vector< FGTaxiRoute > TaxiRouteVector
std::vector< RunwayList >::const_iterator RunwayListVecConstIterator
BlockList::iterator BlockListIterator
std::vector< RunwayGroup >::iterator PreferenceListIterator
SGSharedPtr< FGRunwayBase > FGRunwayBaseRef
std::map< std::string, FGRunwayRef > FGRunwayMap
FGTaxiNodeVector::iterator FGTaxiNodeVectorIterator
SGSharedPtr< FGTaxiway > FGTaxiwayRef
std::vector< FGTaxiRoute >::iterator TaxiRouteVectorIterator
std::vector< RunwayGroup >::const_iterator PreferenceListConstIterator
FGTaxiSegmentVector::iterator FGTaxiSegmentVectorIterator
SGSharedPtr< FGAirportDynamics > FGAirportDynamicsRef
std::vector< time_t >::iterator TimeVectorIterator
SGSharedPtr< FGTaxiNode > FGTaxiNodeRef
std::vector< FGRunwayRef > FGRunwayList
std::vector< time_t > TimeVector
std::vector< FGTaxiSegment * > FGTaxiSegmentVector
std::vector< FGParkingRef > FGParkingList
std::vector< Block > BlockList
SGSharedPtr< FGHelipad > FGHelipadRef
std::vector< FGTaxiNodeRef > FGTaxiNodeVector
SGSharedPtr< FGPavement > FGPavementRef
std::vector< FGPavementRef > FGPavementList
std::vector< RunwayGroup > PreferenceList
std::map< std::string, FGHelipadRef > FGHelipadMap
std::vector< RunwayList > RunwayListVec
SGSharedPtr< FGAirport > FGAirportRef
SGSharedPtr< FGRunway > FGRunwayRef
std::vector< FGTaxiwayRef > FGTaxiwayList
std::map< int, FGTaxiNodeRef > IndexTaxiNodeMap
std::vector< RunwayList >::iterator RunwayListVectorIterator
SGSharedPtr< FGParking > FGParkingRef
Describe an approach procedure, including the missed approach segment.
Abstract base class for waypoints (and things that are treated similarly by navigation systems).
Definition route.hxx:105
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
Definition Addon.cxx:53
SGSharedPtr< Waypt > WayptRef
std::vector< Approach * > ApproachList
SGSharedPtr< CommStation > CommStationRef
std::vector< CommStationRef > CommStationList
std::vector< STAR * > STARList
std::vector< flightgear::SID * > SIDList
std::vector< WayptRef > WayptVec
std::map< std::string, FGAirport * > AirportCache