15 #include <matrix/LibMatrix.h>
70 virtual const char*
type()
const;
90 virtual void taxiTo(
const DtVector& destination,
double speed);
98 virtual void taxi(
double speed,
double turnRate);
103 virtual double calculateSteering(
double turnAngle)
const;
107 virtual double approximateThrottle(
double speed);
111 virtual double calculateCurrentBrakingDistance()
const;
127 virtual void flyTo(
const DtVector& destination,
double speed,
double maxTerrainAvoidanceLookaheadDist = -1);
134 virtual void flyToDirect(
const DtVector& destination,
double speed,
double maxTerrainAvoidanceLookaheadDist = -1);
144 virtual void fly(
double speed,
double turnRate,
double climbRate,
double maxTerrainAvoidanceLookaheadDist = -1);
154 virtual void flyFixedPitch(
double speed,
double turnRate,
double desiredPitch,
double maxTerrainAvoidanceLookaheadDist = -1);
159 virtual double terrainAvoidancePitch(
double speed,
double desiredPitch,
double maxTerrainAvoidanceLookaheadDist);
163 virtual bool clearPathTo(
const DtVector& localPosition);
190 virtual void circle(
const DtVector& center,
double radius,
double speed,
191 double altitude,
bool clockwise =
true);
195 virtual double calcControlForRoll(
double rollRate);
210 virtual double calcControlForThrottle(
double speed,
bool& deployFlaps);
223 virtual double decelerationLimitedClimbRate(
double altitudeError,
224 double desiredSpeed,
double finalClimbRate = 0.0);
229 virtual void calcControlForTurnAndClimb(
double turnRate,
double climbRate,
230 double& stickX,
double& pedal);
236 virtual void calcControlForTurnAndPitch(
double turnRate,
double desiredPitch,
237 double& stickX,
double& pedal,
double rollRate = 0.0);
245 virtual double calculateClimbRate(
double altitude,
double climbTime)
const;
260 virtual double calculateTurnRate(
double turnAngle,
double additionalTurnRate = 0)
const;
265 virtual double calculateRollAngle(
double turnRate,
double speed)
270 virtual double calculateRollRate(
double rollAngle,
double turnRate);
287 virtual void calculateNormalizedBodyVelocity();
294 virtual void calculateLocalAngularVelocity();
302 virtual void calculateSpeedRatioSquared();
311 virtual void initializeControllerForTick();
315 virtual bool createFixedWingControlPortGroup();
316 virtual bool createThrottlePort();
317 virtual bool createStickPort();
318 virtual bool createPedalPort();
319 virtual bool createBrakePort();
322 virtual bool createFlapsDeployedPort();
332 virtual void setMaxThrustAcceleration(
double maxThrustAcceleration);
335 virtual void setTakeOffDir(
const DtVector& takeOffDir);
336 virtual const DtVector& takeOffDir()
const;
340 virtual DtReal maxTurningGsForTask()
const;
341 virtual DtReal maxTurnRateCutoffAngle()
const;
342 virtual DtReal maxTaxiingTurnSpeed()
const;
343 virtual DtReal taxiingNearDistance()
const;
344 virtual DtReal taxiingAtDistance()
const;
345 virtual DtReal taxiingApproachSpeed()
const;
346 virtual DtReal maxPitchAngle()
const;
347 virtual DtReal timeToTargetAltitude()
const;
353 virtual double maxTurningGs()
const;
357 virtual bool terrainAvoidanceEnabled();
362 virtual double terrainAvoidanceLookaheadTime();
388 virtual void lookupAndCacheProcessSR();
404 virtual void updateCurrentState();