From: daveluff Date: Thu, 27 Mar 2003 15:44:35 +0000 (+0000) Subject: Pass dt to update(...) X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=55daa52f79150d2228a87f62f336c4081cd17bb7;p=flightgear.git Pass dt to update(...) --- diff --git a/src/ATC/ATC.cxx b/src/ATC/ATC.cxx index 2f4d944fb..e5649bbdc 100644 --- a/src/ATC/ATC.cxx +++ b/src/ATC/ATC.cxx @@ -28,7 +28,7 @@ FGATC::~FGATC() { } -void FGATC::Update() { +void FGATC::Update(double dt) { } void FGATC::AddPlane(string pid) { diff --git a/src/ATC/ATC.hxx b/src/ATC/ATC.hxx index 2dda84e0b..cc952f4be 100644 --- a/src/ATC/ATC.hxx +++ b/src/ATC/ATC.hxx @@ -36,6 +36,25 @@ SG_USING_STD(ostream); SG_USING_STD(string); SG_USING_STD(ios); +enum plane_type { + UNKNOWN, + GA_SINGLE, + GA_HP_SINGLE, + GA_TWIN, + GA_JET, + MEDIUM, + HEAVY, + MIL_JET +}; + +// PlaneRec - a structure holding ATC-centric details of planes under control +// This might move or change eventually +struct PlaneRec { + plane_type type; + string callsign; + int squawkcode; +}; + // Possible types of ATC type that the radios may be tuned to. // INVALID implies not tuned in to anything. enum atc_type { @@ -51,6 +70,9 @@ enum atc_type { // DCL - new experimental ATC data store struct ATCData { atc_type type; + // I've deliberately used float instead of double here to keep the size down - we'll be storing thousands of these in memory. + // In fact, we could probably ditch x, y and z and generate on the fly as needed. + // On the other hand, we'll probably end up reading this data directly from the DAFIF eventually anyway!! float lon, lat, elev; float x, y, z; //int freq; @@ -70,7 +92,7 @@ public: virtual ~FGATC(); // Run the internal calculations - virtual void Update(); + virtual void Update(double dt); // Add plane to a stack virtual void AddPlane(string pid); diff --git a/src/ATC/approach.cxx b/src/ATC/approach.cxx index a0c77b46a..3bc528592 100644 --- a/src/ATC/approach.cxx +++ b/src/ATC/approach.cxx @@ -82,7 +82,7 @@ void FGApproach::Init() { // ============================================================================ // the main update function // ============================================================================ -void FGApproach::Update() { +void FGApproach::Update(double dt) { const int max_trans = 20; FGTransmission tmissions[max_trans]; diff --git a/src/ATC/approach.hxx b/src/ATC/approach.hxx index debcd77d3..405de1a05 100644 --- a/src/ATC/approach.hxx +++ b/src/ATC/approach.hxx @@ -150,7 +150,7 @@ public: void Init(); - void Update(); + void Update(double dt); // Add new plane to stack if not already registered // Input: pid - id of plane (name) diff --git a/src/ATC/atis.cxx b/src/ATC/atis.cxx index 2e4909f3f..0021875dc 100644 --- a/src/ATC/atis.cxx +++ b/src/ATC/atis.cxx @@ -75,7 +75,7 @@ FGATIS::~FGATIS() { } // Main update function - checks whether we are displaying or not the correct message. -void FGATIS::Update() { +void FGATIS::Update(double dt) { if(display) { if(displaying) { // Check if we need to update the message diff --git a/src/ATC/atis.hxx b/src/ATC/atis.hxx index d74c6ef19..b46d1b47d 100644 --- a/src/ATC/atis.hxx +++ b/src/ATC/atis.hxx @@ -78,7 +78,7 @@ class FGATIS : public FGATC { ~FGATIS(void); //run the ATIS instance - void Update(void); + void Update(double dt); //Indicate that this instance should be outputting to the ATC display inline void SetDisplay(void) {display = true;}