//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#ifndef _FG_TOWER_HXX
#define _FG_TOWER_HXX
#include <simgear/compiler.h>
#include <simgear/math/point3d.hxx>
#include <simgear/misc/sgstream.hxx>
-//#include <simgear/math/sg_geodesy.hxx>
#include <plib/sg.h>
-//#include <Airports/runways.hxx>
#include STL_IOSTREAM
#include STL_STRING
SG_USING_STD(ios);
#include "ATC.hxx"
-//#include "ATCmgr.hxx"
-#include "ground.hxx"
#include "ATCProjection.hxx"
#include "AIPlane.hxx"
+class FGATCMgr;
+class FGGround;
+
//DCL - a complete guess for now.
#define FG_TOWER_DEFAULT_RANGE 30
bool departed; // set true when the above needs incrementing with time, false when it doesn't.
// environment - need to make sure we're getting the surface winds and not winds aloft.
- SGPropertyNode* wind_from_hdg; //degrees
- SGPropertyNode* wind_speed_knots; //knots
+ SGPropertyNode_ptr wind_from_hdg; //degrees
+ SGPropertyNode_ptr wind_speed_knots; //knots
double aptElev; // Airport elevation
string activeRwy; // Active runway number - For now we'll disregard multiple / alternate runway operation.
bool tower_failed; // tower failed?
// Pointers to current users position and orientation
- SGPropertyNode* user_lon_node;
- SGPropertyNode* user_lat_node;
- SGPropertyNode* user_elev_node;
- SGPropertyNode* user_hdg_node;
+ SGPropertyNode_ptr user_lon_node;
+ SGPropertyNode_ptr user_lat_node;
+ SGPropertyNode_ptr user_elev_node;
+ SGPropertyNode_ptr user_hdg_node;
// Details of the general traffic flow etc in the circuit
double crosswind_leg_pos; // Distance from threshold crosswind leg is being turned to in meters (actual operation - *not* ideal circuit)