15 #include <matrix/vlDcm.h>
16 #include <matrix/vlVector.h>
58 virtual const char*
type()
const;
98 virtual void computeDesiredLinearAccel(
DtVector& desiredHorizBodyAccel,
99 double& desiredYawAccel);
111 virtual void computeDesiredTopoAccelToPosition(
const double maxAccel,
const double period,
112 DtVector& desiredTopoAccel,
double& yawAccel);
119 virtual void computeDesiredTopoAccelToVelocity(
const DtVector& desiredVel,
const double period,
129 virtual double desiredHeadingWithNoMoveGoal();
133 virtual void computeDesiredTopoAccelToHeading(
const double desiredHeading,
const double desiredSpeed,
134 const double period,
DtVector& desiredTopoAccel);
139 virtual void checkLandNoFuel();
149 virtual void findEarthCurveDeltaPosition(
DtVector fromPosition,
156 virtual void limitAccelFromMaxForwardSpeed(
const DtVector& topoVelocity,
157 const double speedAtGoal,
177 virtual void limitAccelFromMaxAcceleration(
DtVector& horizBodyAccel);
183 virtual void computeTopoDeltaPosition(
DtVector& topoDeltaPosition);
188 virtual void computeTopoDesiredEndVelocity(
const DtVector& topoXyDeltaPos,
190 double& topoXyEndSpeed);
198 virtual void computeAccelerationTowardGoal(
const DtVector& topoCurrentXyVel,
199 const DtVector& topoVelDirAtGoalPt,
const double horizDesSpeedAtGoal,
200 const DtVector& topoHorizDeltaPos,
const double period,
201 double& maxAccelTowardGoal);
207 virtual void limitAccelForFixedFlightSlope(
DtVector& topoDeltaPos,
208 DtVector&topoCurrentXyVel,
double& maxAccel);
213 virtual void computeAccelerationPerpendicularToGoal(
const DtVector& topoCurrentXyVel,
215 const DtVector& horizDeltaPos,
const double maxAccel,
const double delayTime,
216 double& maxAccelTowardGoal);
225 virtual void computeVerticalAcceleration(
const DtVector& topoDeltaPos,
226 const double downSpeed,
228 double& desiredZAccel);
243 virtual double accelFromConstraintsAvoidingOvershoot(
244 const double maxDecel,
const double maxAccel,
const double period,
double speed,
245 double targetDist,
const double speedAtTarget);
251 virtual bool isCloseToGoalPosition(
const DtVector& topoDeltaPos);
264 virtual void setCollectiveAndCyclicFromAccel(
const DtVector& desiredAcceleration);
266 virtual void setPedalFromDesiredYawAcceleration(
const double yawAccel);
269 virtual void setThrottle();
275 virtual DtReal terrainAvoidanceVelocity()
const;
281 virtual void calculateTargetAlignmentAngle(DtReal& alignmentAngle)
const;
285 virtual void computeYawAccelerationToHeading(
const double headingToPoint,
290 virtual void getTransformationMatrices();
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtRotaryWingPilotDescriptor * myPilotDescriptor
A pointer to the descriptor for this controller.
Definition: simpleRotaryWingPilot.h:322
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component.
virtual void tick()
Reads the data from the guidance ports into the state repository.
DtDcm myBodyToRef
The local orientation matrix.
Definition: simpleRotaryWingPilot.h:325
virtual double stationaryGoalSpeedThreshold()
! Constants
Definition: simpleRotaryWingPilot.h:302
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtRotaryWingPilotDescriptor is a component descriptor for helicopter flight involving destination poi...
Definition: rotaryWingPilotDescriptor.h:25
DtSimpleRotaryWingPilot is a controller that represents the autopilot aspects of a rotary-wing pilot...
Definition: simpleRotaryWingPilot.h:35
Definition: readerWriterRegistry.h:39
const DtRotaryWingPilotController & operator=(const DtRotaryWingPilotController &orig)
assignment operator; not implemented
virtual bool createPorts()
Overridden to create rotary wing ports.
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:485
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition: coordSystem.h:54
virtual bool init()
Overridden to initialize myRotaryWingEntityState.
DtDcm myTopoToBodyHeadingDcm
The 2D rotation about the yaw axis only.
Definition: simpleRotaryWingPilot.h:334
DtDcm myLocalToTopoDcm
The local to topographic coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:328
virtual double catchUpSpeedFactor()
When moving toward a moving goal, how much faster than the goal's speed the entity is allowed to move...
Definition: simpleRotaryWingPilot.h:308
DtDcm myTopoToLocalDcm
The topographic to local coordinate transformation matrix.
Definition: simpleRotaryWingPilot.h:331
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual const char * type() const
Returns a string identifies the class type of component.
The DtRotaryWingPilotController class creates the rotary-wing-control port group needed to control ro...
Definition: rotaryWingPilotController.h:37
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102