13 #include <vlpi/disEnums.h>
82 virtual double maxSpeedSoilFactor()
const;
85 virtual double accelSoilFactor()
const;
88 virtual double decelSoilFactor()
const;
97 virtual bool disableControl();
105 virtual void useFuel(
double fuelUsed);
112 virtual double fuelLeft()
const;
131 virtual void updateRepository(
const DtVector & localPosition,
133 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity,
141 virtual double calculateMaxDecelerationFromFriction(
148 virtual double calculateMaxDecelerationFromBrake(
double brake);
154 virtual double calculateAccelerationFromEngine(
double throttle,
167 virtual double calculateDecelerationFromSoilType(
175 virtual double calculateAccelerationFromSlope(
double slope);
190 virtual void calculateOrientationAndPosition(
191 const DtVector& newLocalProjectedLocation,
double newHeading,
192 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
199 virtual bool useHighFidelityGroundClamping()
const;
212 bool groundClamp(
double heading,
const DtVector& location,
219 void groundClampHighFidelity(
double heading,
const DtVector& location,
227 void groundClampLowFidelity(
double heading,
const DtVector& location,
234 virtual double calculateHeading(
double oldHeading,
236 double steering,
double throttle,
double dT);
245 virtual DtVector calculateBodyAcceleration(
double throttle,
247 const DtVector& oldBodyVelocity,
double oldPitch,
double dT);
249 virtual DtVector calculateBodyVelocity(
253 virtual DtVector calculateProjectedLocation(
255 const DtVector& oldBodyVelocity,
double newHeading);
265 virtual bool checkForTerrainCollisions()
const;
272 virtual bool foundTerrainCollision(
double heading,
276 &collisionIntersectionRecord)
const;
287 virtual bool createMovementChord(
DtChord& movementChord,
290 const DtVector& newLocalPosition)
const;
296 virtual bool terrainPassable(
double heading,
298 terrainIntersectionRecord)
const;
302 virtual double calculateMaxSpeed();
306 virtual double calculateMaxAcceleration();
311 virtual DtVector calculateRotationalVelocity(
312 const DtDcm& newOrientation,
313 const DtDcm& oldOrientation,
double dT);
319 virtual double calculatePitch(
const DtVector& localPosition,
double heading,
325 virtual void calculateDirectionOfLinearMotion(
326 const DtDcm& newLocalOrientation,
const DtVector& newLocalPosition,
327 DtDcm& newLocalDirectionOfLinearMotion);
332 virtual double getPitchAdjustedMaxSpeed(
double maxSpeed,
double pitch)
const;
345 virtual bool createPSR();
350 virtual bool rotationalVelocityShouldBeClamped(
const DtVector&
351 bodyRotationalVelocity);
354 virtual double steeringControlValue()
const;
356 virtual double throttleControlValue()
const;
358 virtual double brakeControlValue()
const;
362 virtual bool parkingBrakeControlValue()
const;