VR-Forces 4.0.4 Class Documentation
include/vrfmodel/fixWngMvToCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00011 
00012 
00013 #pragma once
00014 
00015 #include "vrfmodel/fixWngPltCtl.h"
00016 
00017 class DtString;
00018 class DtSimManager;
00019 class DtConstrainedAnalogPort;
00020 class boolPort;
00021 class DtSimMessage;
00022 
00023 
00024 
00029 #include "vrfmodel/vrfmodelDefines.h"
00030 class DT_DLL_vrfmodel DtFixedWingMoveToController : public DtFixedWingPilotController
00031 {
00032 
00033 public:
00034 
00037    DtFixedWingMoveToController(const DtString& name, 
00038       DtVrfObject* owner,
00039       DtSimManager* simManager, 
00040       DtComponentDescriptor* desc = 0,
00041       DtReaderWriterRegistry* parentRegistry = 0);
00042 
00044    virtual ~DtFixedWingMoveToController();
00045 
00050    virtual void tick();
00051 
00054    virtual DtString type() const;
00055 
00069    bool setMovementStatusFromControlPoint();
00070 
00073    virtual void doFinishing();
00074 
00082    virtual void doFinishingForFlying();
00083 
00087    virtual void doFinishingForTaxiing();
00088 
00091    virtual void doMoving();
00092 
00098    virtual void doFlying();
00099 
00104    virtual void doTaxiing();
00105 
00110    virtual void doTakeOff();
00111 
00114    virtual void updateTakeOffDirection();
00115 
00119    virtual double findDesiredSpeed();
00120 
00129    virtual bool nearGoal();
00130 
00135    virtual bool atGoal();
00136 
00147    virtual bool passedGoal();
00148 
00152    virtual void taskComplete(bool success = true);
00153 
00157    static void moveToCallback(DtSimMessage * msg, void * usr);
00158    static void moveToAltitudeCallback(DtSimMessage * msg, void * usr);
00159    static void setAltitudeCallback(DtSimMessage * msg, void * usrData);
00160    static void setLocationCallback(DtSimMessage * msg, void * usrData);
00161    static void setRestoreCallback(DtSimMessage * msg, void * usrData);
00162    static void waypointChangedCallback(DtVrfObject * msg, void * usr);
00164    static void modifyVrfObjectCallback(DtSimMessage * msg, void * usr);
00166    static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
00167 
00170    virtual void processMoveToTask(DtSimMessage * msg);
00171    virtual void processMoveToAltitudeTask(DtSimMessage * msg);
00175    virtual void processSetAltitude(DtSimMessage * msg);
00176    virtual void processSetLocation(DtSimMessage * msg);
00177    virtual void processSetRestore(DtSimMessage * msg);
00178    virtual void processWaypointChanged(DtVrfObject * msg);
00184    virtual void processModifyVrfObject(DtSimMessage * msg);
00187    virtual void processDeleteVrfObject(DtVrfObject *msg);
00188 
00194    virtual bool createWorkingControlPoint(const DtVector location);
00195 
00198    virtual void registerTaskMsgCallbacks();
00199 
00203    static DtSimComponent * creator(const DtString& name, 
00204       DtVrfObject* owner,
00205       DtSimManager* simManager, 
00206       DtComponentDescriptor* desc = 0,
00207       DtReaderWriterRegistry* parentRegistry = 0);
00208 
00209 protected:
00210    virtual void getLocalDestination(DtVector& local) const;
00211    virtual void getWorldDestination(DtVector& world) const;
00212 
00215    virtual double distanceSquaredToDestination(const DtVector& current) const;
00216    virtual double distanceSquaredToDestination2D(const DtVector& current) const;
00217 
00221    virtual bool atAltitude(double desiredAltitude) const;
00222 
00225    virtual bool setupControlPoint();
00226 
00228    virtual void clearTask();
00229 
00230 private:
00231 
00233    DtFixedWingMoveToController();
00234 
00236    DtFixedWingMoveToController(
00237       const DtFixedWingMoveToController& orig);
00238 
00240    DtFixedWingMoveToController& operator=(
00241       const DtFixedWingMoveToController& orig);
00242 
00243 protected:
00244 
00247    DtVrfObject*      myControlPoint;
00248 
00250    DtVrfObject* myWorkingControlPoint;
00251 
00252    bool              myFirstTick;
00253 };
00254 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)