virtual ~FGATCController() {};
virtual void announcePosition(int id, FGAIFlightPlan *intendedRoute, int currentRoute,
double lat, double lon,
- double hdg, double spd, double alt, double radius, int leg) = 0;
+ double hdg, double spd, double alt, double radius, int leg,
+ string callsign) = 0;
virtual void signOff(int id) = 0;
virtual void update(int id, double lat, double lon,
double heading, double speed, double alt, double dt) = 0;
FGATCInstruction instruction;
double latitude, longitude, heading, speed, altitude, radius;
string runway;
+ string callsign;
public:
int crosses (FGGroundNetwork *, FGTrafficRecord &other);
bool isOpposing (FGGroundNetwork *, FGTrafficRecord &other, int node);
+ bool onRoute(FGGroundNetwork *, FGTrafficRecord &other);
+
bool getSpeedAdjustment() { return instruction.getChangeSpeed(); };
double getLatitude () { return latitude ; };
void setWaitsForId(int id) { waitsForId = id; };
string getRunway() { return runway; };
-
+ void setCallSign(string clsgn) { callsign = clsgn; };
+ string getCallSign() { return callsign; };
};
typedef vector<FGTrafficRecord> TrafficVector;
virtual ~FGTowerController() {};
virtual void announcePosition(int id, FGAIFlightPlan *intendedRoute, int currentRoute,
double lat, double lon,
- double hdg, double spd, double alt, double radius, int leg);
+ double hdg, double spd, double alt, double radius, int leg,
+ string callsign);
virtual void signOff(int id);
virtual void update(int id, double lat, double lon,
double heading, double speed, double alt, double dt);