]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIBase.hxx
Merge branch 'durk/traffic' into next
[flightgear.git] / src / AIModel / AIBase.hxx
index ec55ce998d56d6c384a2424b7a5836484e2aab81..1ab3a640eacb314cf880051a90950eeba878d9ae 100644 (file)
@@ -25,7 +25,6 @@
 
 #include <simgear/constants.h>
 #include <simgear/math/SGMath.hxx>
-#include <simgear/math/point3d.hxx>
 #include <simgear/scene/model/placement.hxx>
 #include <simgear/misc/sg_path.hxx>
 #include <simgear/structure/SGSharedPtr.hxx>
 #include <Main/fg_props.hxx>
 
 
-SG_USING_STD(string);
-SG_USING_STD(list);
+using std::string;
+using std::list;
 
+class SGMaterial;
 class FGAIManager;
 class FGAIFlightPlan;
 
@@ -44,8 +44,8 @@ class FGAIBase : public osg::Referenced {
 
 public:
     enum object_type { otNull = 0, otAircraft, otShip, otCarrier, otBallistic,
-                       otRocket, otStorm, otThermal, otStatic, otWingman,
-                       otMultiplayer,
+                       otRocket, otStorm, otThermal, otStatic, otWingman, otGroundVehicle,
+                       otEscort, otMultiplayer,
                        MAX_OBJECTS };  // Needs to be last!!!
 
     FGAIBase(object_type ot);
@@ -94,6 +94,9 @@ public:
     SGVec3d getCartPosAt(const SGVec3d& off) const;
     SGVec3d getCartPos() const;
 
+    bool getGroundElevationM(const SGGeod& pos, double& elev,
+                             const SGMaterial** material) const;
+
     double _getCartPosX() const;
     double _getCartPosY() const;
     double _getCartPosZ() const;
@@ -192,6 +195,7 @@ protected:
 private:
     int _refID;
     object_type _otype;
+    bool _initialized;
 
 public:
     object_type getType();