]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATCDCL/AIEntity.hxx
Initial commit of the new sound system, expect more updates to follow
[flightgear.git] / src / ATCDCL / AIEntity.hxx
index 2822e0184def2e337f31afb80ab92d0cf6956d71..5254c80996646c2d6280615177478b8646e40894 100644 (file)
 #ifndef _FG_AIEntity_HXX
 #define _FG_AIEntity_HXX
 
-#include <simgear/math/point3d.hxx>
+#include <simgear/math/SGMath.hxx>
 #include <simgear/scene/model/placement.hxx>
 
-
 /*****************************************************************
 *
 *  FGAIEntity - this class implements the minimum requirement
@@ -37,35 +36,34 @@ class FGAIEntity {
 
 public:
 
-       FGAIEntity();
+    FGAIEntity();
     virtual ~FGAIEntity();
        
-       // Set the 3D model to use (Must be called)
-  void SetModel(osg::Node* model);
+    // Set the 3D model to use (Must be called)
+    void SetModel(osg::Node* model);
 
     // Run the internal calculations
     virtual void Update(double dt)=0;
-       
+    
     // Send a transmission *TO* the AIEntity.
     // FIXME int code is a hack - eventually this will receive Alexander's coded messages.
     virtual void RegisterTransmission(int code)=0;
-       
-       inline const Point3D& GetPos() const { return(_pos); }
-       
-       virtual const string& GetCallsign()=0;
+    
+    const SGGeod& getPos() const
+    { return _pos; }
+    
+    virtual const string& GetCallsign()=0;
        
 protected:
-
-    Point3D _pos;      // WGS84 lat & lon in degrees, elev above sea-level in meters
-    double _hdg;               //True heading in degrees
+    
+    SGGeod _pos;       // Geodetic position
+    double _hdg;        //True heading in degrees
     double _roll;      //degrees
     double _pitch;     //degrees
 
-    char* _model_path; //Path to the 3D model
-    osg::ref_ptr<osg::Node> _model;    // Pointer to the model
     SGModelPlacement _aip;
     double _ground_elevation_m;
-
+    
     void Transform();
 };