VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedWingMoveToController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 
13 #pragma once
14 
16 
17 class DtString;
18 class DtSimManager;
19 class DtConstrainedAnalogPort;
20 class boolPort;
21 class DtSimMessage;
22 
23 
24 
31 {
32 
33 public:
34 
38  DtVrfObject* owner,
39  DtSimManager* simManager,
40  DtComponentDescriptor* desc = 0,
41  DtReaderWriterRegistry* parentRegistry = 0);
42 
44  virtual ~DtFixedWingMoveToController();
45 
50  virtual void tick();
51 
54  virtual const char* type() const;
55 
69  bool setMovementStatusFromControlPoint();
70 
73  virtual void doFinishing();
74 
82  virtual void doFinishingForFlying();
83 
87  virtual void doFinishingForTaxiing();
88 
91  virtual void doMoving();
92 
98  virtual void doFlying();
99 
104  virtual void doTaxiing();
105 
110  virtual void doTakeOff();
111 
114  virtual void updateTakeOffDirection();
115 
119  virtual double findDesiredSpeed();
120 
129  virtual bool nearGoal();
130 
135  virtual bool atGoal();
136 
147  virtual bool passedGoal();
148 
152  virtual void taskComplete(bool success = true);
153 
157  static void moveToCallback(DtSimMessage * msg, void * usr);
158  static void moveToAltitudeCallback(DtSimMessage * msg, void * usr);
159  static void setAltitudeCallback(DtSimMessage * msg, void * usrData);
160  static void setLocationCallback(DtSimMessage * msg, void * usrData);
161  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
162  static void waypointChangedCallback(const DtVrfObject* msg, void * usr);
164  static void modifyVrfObjectCallback(DtSimMessage * msg, void * usr);
166  static void deleteVrfObjectCallback(const DtVrfObject* msg, void * usr);
167 
170  virtual void processMoveToTask(DtSimMessage * msg);
171  virtual void processMoveToAltitudeTask(DtSimMessage * msg);
175  virtual void processSetAltitude(DtSimMessage * msg);
176  virtual void processSetLocation(DtSimMessage * msg);
177  virtual void processSetRestore(DtSimMessage * msg);
178  virtual void processWaypointChanged(const DtVrfObject* msg);
184  virtual void processModifyVrfObject(DtSimMessage * msg);
187  virtual void processDeleteVrfObject(const DtVrfObject *msg);
188 
194  virtual bool createWorkingControlPoint(const DtVector location);
195 
198  virtual void registerTaskMsgCallbacks();
199 
203  static DtSimComponent * creator(const DtString& name,
204  DtVrfObject* owner,
205  DtSimManager* simManager,
206  DtComponentDescriptor* desc = 0,
207  DtReaderWriterRegistry* parentRegistry = 0);
208 
209 protected:
210  virtual void getLocalDestination(DtVector& local) const;
211  virtual void getWorldDestination(DtVector& world) const;
212 
215  virtual double distanceSquaredToDestination(const DtVector& current) const;
216  virtual double distanceSquaredToDestination2D(const DtVector& current) const;
217 
221  virtual bool atAltitude(double desiredAltitude) const;
222 
225  virtual bool setupControlPoint();
226 
228  virtual void deleteWorkingControlPoint();
229 
231  virtual void clearTask();
232 
234 
235  virtual void processEstimatedTotCalculation();
236 
237 private:
238 
241 
244  const DtFixedWingMoveToController& orig);
245 
248  const DtFixedWingMoveToController& orig);
249 
250 protected:
251 
255 
258 
260 };
261 
#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
virtual void clearTask()
Overridden to deactivate the port group when this controller completes a task.
virtual void tick()
Only gets actuator values the first time it's called.
virtual void registerTaskMsgCallbacks()
const DtVrfObject * myControlPoint
This is looked up once per tick - assumed unchanging while we have control.
Definition: fixedWingMoveToController.h:254
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
DtFixedWingPilotController is a controller that models the capabilities of a fixed-wing pilot...
Definition: fixedWingPilotController.h:44
virtual void updateTaskVisualizations()
update visualizations
virtual void taskComplete(bool success=true)
If we are currently tasked, this will cause us to notify the entity that we're done and delete the ta...
const DtFixedWingPilotController & operator=(const DtFixedWingPilotController &orig)
assignment operator; not implemented
File: simMsg.h.
Definition: simMessage.h:35
virtual const char * type() const
Returns a string identifies the class type of component.
DtFixedWingMoveToController is a controller used to model the movement of a fixed wing entity to a sp...
Definition: fixedWingMoveToController.h:30
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual void processEstimatedTotCalculation()
calculate estimated tot
const DtVrfObject * myWorkingControlPoint
Locally allocated waypoint for use in moving to an altitude.
Definition: fixedWingMoveToController.h:257
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
void processSetLocation(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
These functions handle the standard sets that can affect the time estimates.
bool myFirstTick
Definition: fixedWingMoveToController.h:259

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)