VR-Forces 4.0.4 Class Documentation
include/vrfmodel/fixWngTakeoffController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: fixWngTakeoffController.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 
00016 #ifndef DtFixedWingTakeoffController_H_
00017 #define DtFixedWingTakeoffController_H_
00018 
00019 #include "vrfobjcore/singleTaskControllerComponent.h"
00020 #include "vrfobjcore/fixWngTakeoffPSR.h"
00021 
00022 class DtString;
00023 class DtSimManager;
00024 class DtTaskMessage;
00025 class DtFixedWingTakeoffDescriptor;
00026 class DtFixedWingEntityStateRepository;
00027 class DtLocalVertex;
00028 class DtFixedWingFlightPSR;
00029 
00050 #include "vrfmodel/vrfmodelDefines.h"
00051 class DT_DLL_vrfmodel DtFixedWingTakeoffController : public DtSingleTaskControllerComponent
00052 {
00053 public:
00054 
00057    DtFixedWingTakeoffController(const DtString& name, 
00058       DtVrfObject* owner,
00059       DtSimManager* simManager, 
00060       DtComponentDescriptor* desc = 0,
00061       DtReaderWriterRegistry* parentRegistry = 0);
00062 
00064    virtual ~DtFixedWingTakeoffController();
00065 
00067    virtual bool init();
00068 
00069    virtual bool postAddComponentsInit();
00070 
00073    virtual DtString type() const;
00074 
00078    static DtSimComponent * creator(const DtString& name, 
00079       DtVrfObject* owner,
00080       DtSimManager* simManager, 
00081       DtComponentDescriptor* desc = 0,
00082       DtReaderWriterRegistry* parentRegistry = 0);
00083 
00084 protected:
00086    virtual void registerTaskMsgCallbacks();
00087 
00089    virtual void tick();
00090 
00092    virtual void clearTask();
00093 
00095 protected:
00096 
00102    virtual bool createPSR();
00103 
00105    DtFixedWingFlightPSR* lookupFixedWingFlightPSR();
00106 
00109    static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
00110    virtual void processTaskComplete(DtSimMessage * msg);
00111 
00114    virtual void processTakeoffTask(DtSimMessage* msg);
00115    static void takeoffTaskCallback(DtSimMessage* msg, void* usr);
00116 
00119    static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
00120    virtual void processDeleteVrfObjectCallback(DtVrfObject* obj);
00121 
00123    virtual void setState(DtVrfFixedWingTakeoffPSR::DtTakeoffControllerState);
00124    virtual DtVrfFixedWingTakeoffPSR::DtTakeoffControllerState state() const;
00125 
00126 protected:
00127 
00130    virtual void movingAlongTakeoffRoute();
00131 
00133    virtual void calculateVertexAndRotation(const DtLocalVector& start, const DtLocalVector& end,
00134       const DtVector& distance, DtVector& vertex, DtDcm& rotationDcm) const;
00135 
00138    virtual double turningPointDistance() const;
00139 
00141    virtual void startTakeoff();
00142 
00144    virtual void flyingTowardsTakeoffPoint();
00145 
00147    virtual void flyTowardsTakeoffPoint();
00148 
00149 private:
00150    
00152    DtFixedWingTakeoffController();
00153 
00155    DtFixedWingTakeoffController(const DtFixedWingTakeoffController & 
00156       orig);
00157 
00159    const DtFixedWingTakeoffController & operator=(const 
00160       DtFixedWingTakeoffController & orig);
00161 
00162 protected:
00163 
00166    DtVrfFixedWingTakeoffPSR*        myProcessState;
00167 
00168    DtFixedWingTakeoffDescriptor*    myFixedWingTakeoffDescriptor;
00169    DtFixedWingFlightPSR*            myFixedWingFlightPSR;
00170    DtFixedWingEntityStateRepository*   myFixedWingEntityState;
00171 };
00172 
00173 #endif

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)