24#ifndef _AIRWAYNETWORK_HXX_
25#define _AIRWAYNETWORK_HXX_
33#include <simgear/io/iostreams/sgstream.hxx>
61 FGNode(
const SGGeod& aPos,
int idx, std::string
id);
74 bool matches(std::string ident,
const SGGeod& aPos);
81typedef std::map < std::string, FGNode *>
node_map;
92 std::string startNode;
116 void setName (std::string val) { name = val;};
142 FGAirRoute(
intVec nds,
double dist) { nodes = nds; distance = dist; currNode = nodes.begin();};
144 bool empty () {
return nodes.begin() == nodes.end(); };
147 void first() { currNode = nodes.begin(); };
149 void add(
int node) {nodes.push_back(node);};
158 r.nodes.push_back(node);
181 double totalDistance, maxDistance;
198 void load(
const SGPath& path);
std::vector< FGNode * > FGNodeVector
std::vector< int > intVec
std::istream & operator>>(std::istream &in, FGAirRoute &r)
std::vector< FGAirway * > FGAirwayPointerVector
node_map::const_iterator const_node_map_iterator
std::vector< FGNode * >::iterator FGNodeVectorIterator
std::vector< int >::iterator intVecIterator
std::vector< FGAirRoute >::iterator AirRouteVectorIterator
std::vector< FGAirway >::iterator FGAirwayVectorIterator
node_map::iterator node_map_iterator
std::vector< FGAirway > FGAirwayVector
std::vector< FGAirRoute > AirRouteVector
std::vector< int >::const_iterator constIntVecIterator
std::map< std::string, FGNode * > node_map
std::vector< FGAirway * >::iterator FGAirwayPointerVectorIterator
FGAirRoute(intVec nds, double dist)
friend std::istream & operator>>(std::istream &in, FGAirRoute &r)
void add(const FGAirRoute &other)
bool operator<(const FGAirRoute &other) const
void addAirway(const FGAirway &seg)
FGAirRoute findShortestRoute(int start, int end)
void load(const SGPath &path)
FGNode * findNode(int idx)
void trace(FGNode *, int, int, double dist)
int findNearestNode(const SGGeod &aPos)
FGAirway(FGNode *, FGNode *, int)
void setStartNodeRef(std::string val)
void setEndNodeRef(std::string val)
void setName(std::string val)
void setStart(node_map *nodes)
void setEnd(node_map *nodes)
FGAirwayPointerVectorIterator getEndRoute()
bool matches(std::string ident, const SGGeod &aPos)
void addAirway(FGAirway *segment)
FGAirwayPointerVectorIterator getBeginRoute()
const SGVec3d & getCart()
const SGGeod & getPosition()
std::vector< int > intVec
std::vector< int >::iterator intVecIterator