#include "AIManager.hxx"
#include "AIBase.hxx"
-using std::vector;
-using std::list;
-
class FGAIBallistic : public FGAIBase {
public:
bool init(bool search_in_AI_path=false);
virtual void bind();
- virtual void unbind();
-
- void update(double dt);
+ virtual void reinit();
+ virtual void update(double dt);
- FGAIBallistic *ballistic;
+ virtual const char* getTypeString(void) const { return "ballistic"; }
void Run(double dt);
void setCollision(bool c);
void setExpiry(bool e);
void setImpact(bool i);
- void setImpactReportNode(const string&);
+ void setImpactReportNode(const std::string&);
void setContentsNode(const SGPropertyNode_ptr);
void setFuseRange(double f);
- void setSMPath(const string&);
+ void setSMPath(const std::string&);
void setSubID(int i);
- void setSubmodel(const string&);
+ void setSubmodel(const std::string&);
void setExternalForce( bool f );
- void setForcePath(const string&);
- void setContentsPath(const string&);
+ void setForcePath(const std::string&);
+ void setContentsPath(const std::string&);
void setForceStabilisation( bool val );
void setGroundOffset(double g);
void setLoadOffset(double l);
// bool getFormate() const;
bool getSlavedLoad() const;
- virtual const char* getTypeString(void) const { return "ballistic"; }
+ FGAIBallistic *ballistic;
+
static const double slugs_to_kgs; //conversion factor
static const double slugs_to_lbs; //conversion factor
private:
- virtual void reinit() { init(); }
-
bool _aero_stabilised; // if true, object will align with trajectory
double _drag_area; // equivalent drag area in ft2
double _life_timer; // seconds
bool _slave_load_to_ac;// if true, object will be slaved to the parent ac pos
double _contents_lb; // contents of the object
double _weight_lb; // weight of the object (no contents if appropriate) (lbs)
- string _mat_name;
+ std::string _mat_name;
bool _report_collision; // if true a collision point with AI Objects is calculated
bool _report_impact; // if true an impact point on the terrain is calculated
//SGPropertyNode_ptr _p_spd_node;
double _fuse_range;
- double _distance;
- double _dt_count;
- double _next_run;
-
- string _submodel;
- string _force_path;
- string _contents_path;
- const SGMaterial* _material;
+ std::string _submodel;
+ std::string _force_path;
+ std::string _contents_path;
void handle_collision();
void handle_expiry();
//void setOffsetPos(SGGeod pos, double heading, double pitch, double roll);
//void setOffsetVelocity(double dt, SGGeod pos);
- SGVec3d getCartUserPos() const;
SGVec3d getCartOffsetPos(SGGeod pos, double heading, double pitch, double roll) const;
//double getDistanceLoadToHitch() const;
double _ground_offset;
double _load_offset;
- double _old_height;
SGVec3d _oldcartoffsetPos;
SGVec3d _oldcartPos;