X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAICarrier.hxx;h=082e111533d181f8e1833dbf0a9b750609d1f6db;hb=7e73a8788223c9c2af3c26435162e0667b412279;hp=9a3d52f416861b57e109fabf41e5cd25d67c3d27;hpb=c2d8dcc18baf88176ad48f0b7163dcb4aee51f90;p=flightgear.git diff --git a/src/AIModel/AICarrier.hxx b/src/AIModel/AICarrier.hxx index 9a3d52f41..082e11153 100644 --- a/src/AIModel/AICarrier.hxx +++ b/src/AIModel/AICarrier.hxx @@ -23,11 +23,14 @@ #include #include -#include + +#include +#include + #include -SG_USING_STD(string); -SG_USING_STD(list); +using std::string; +using std::list; #include "AIShip.hxx" @@ -37,42 +40,6 @@ SG_USING_STD(list); class FGAIManager; class FGAICarrier; -class FGAICarrierHardware : public ssgBase { -public: - - enum Type { Catapult, Wire, Solid }; - - FGAICarrier *carrier; - int id; - Type type; - - static FGAICarrierHardware* newCatapult(FGAICarrier *c) { - FGAICarrierHardware* ch = new FGAICarrierHardware; - ch->carrier = c; - ch->type = Catapult; - ch->id = unique_id++; - return ch; - } - static FGAICarrierHardware* newWire(FGAICarrier *c) { - FGAICarrierHardware* ch = new FGAICarrierHardware; - ch->carrier = c; - ch->type = Wire; - ch->id = unique_id++; - return ch; - } - static FGAICarrierHardware* newSolid(FGAICarrier *c) { - FGAICarrierHardware* ch = new FGAICarrierHardware; - ch->carrier = c; - ch->type = Solid; - ch->id = unique_id++; - return ch; - } - -private: - static int unique_id; -}; - - class FGAICarrier : public FGAIShip { public: @@ -84,7 +51,6 @@ public: void setSign(const string& ); void setTACANChannelID(const string &); - void getVelocityWrtEarth(sgdVec3& v, sgdVec3& omega, sgdVec3& pivot); virtual void bind(); virtual void unbind(); void UpdateWind ( double dt ); @@ -97,10 +63,10 @@ public: void TurnToLaunch(); void TurnToBase(); void ReturnToBox(); - float Horizon(float h); bool OutsideBox(); - bool init(); + bool init(bool search_in_AI_path=false); + void initModel(osg::Node *node); virtual const char* getTypeString(void) const { return "carrier"; } @@ -124,28 +90,17 @@ private: void update(double dt); - void mark_nohot(ssgEntity*); - - bool mark_wires(ssgEntity*, const list&, bool = false); - bool mark_cat(ssgEntity*, const list&, bool = false); - bool mark_solid(ssgEntity*, const list&, bool = false); double wind_from_east; // fps double wind_from_north; // fps double rel_wind_speed_kts; double rel_wind_from_deg; - list solid_objects; // List of solid object names list wire_objects; // List of wire object names list catapult_objects; // List of catapult object names list ppositions; // List of positions where an aircraft can start. string sign; // The sign of this carrier. - // Velocity wrt earth. - SGVec3d vel_wrt_earth; - SGVec3d rot_wrt_earth; - SGVec3d rot_pivot_wrt_earth; - // these describe the flols SGVec3d flols_off;