13#include <simgear/scene/material/mat.hxx>
32 void update(
double dt)
override;
44 void YawTo(
double angle);
48 void TurnTo(
double heading);
66 double sign(
double x);
92 void setRepeat(
bool r);
93 void setRestart(
bool r);
94 void setMissed(
bool m);
96 void setServiceable(
bool s);
98 void setStartTime(
const std::string&);
99 void setUntilTime(
const std::string&);
102 void setXTrackError();
106 double getRange(
double lat,
double lon,
double lat2,
double lon2)
const;
107 double getCourse(
double lat,
double lon,
double lat2,
double lon2)
const;
108 double getDaySeconds();
109 double processTimeString(
const std::string& time);
111 bool initFlightPlan();
112 bool advanceFlightPlan(
double elapsed_sec,
double day_sec);
114 float _rudder = 0.0f;
115 float _tgt_rudder = 0.0f;
117 double _roll_constant, _roll_factor;
118 double _sp_turn_radius_ft = 0.0;
119 double _rd_turn_radius_ft = 0.0;
120 double _fixed_turn_radius = 0.0;
121 double _old_range, _range_rate;
122 double _missed_time_sec;
123 double _start_sec = 0.0;
126 double _lead_angle_gain = 0.0;
127 double _lead_angle_limit = 0.0;
128 double _proportion = 0.0;
129 double _course = 0.0;
130 double _xtrack_error;
131 double _curr_alt, _prev_alt;
133 std::string _prev_name, _curr_name, _next_name;
134 std::string _start_time, _until_time;
136 bool _repeat =
false;
FGAIBase(object_type ot, bool enableHot)
void readFromScenario(SGPropertyNode *scFileNode) override
void setLeadAngleProp(double p)
void PitchTo(double angle)
void RollTo(double angle)
void setCurrName(const std::string &)
void setSpeedConstant(double sc)
void ClimbTo(double altitude)
void setRollFactor(double rf)
void setNextName(const std::string &)
void setLeadAngleLimit(double l)
void update(double dt) override
void TurnTo(double heading)
void AccelTo(double speed)
double getDefaultModelRadius() override
void ProcessFlightPlan(double dt)
FGAIShip(object_type ot=object_type::otShip)
void setLeadAngleGain(double g)
virtual ~FGAIShip()=default
void setRudderConstant(double rc)
void setPrevName(const std::string &)
bool init(ModelSearchOrder searchOrder) override
std::string_view getTypeString(void) const override
void setFixedTurnRadius(double ft)
void setInitialTunnel(bool t)