![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rotWingLandingController.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00015 00016 00017 #ifndef rotWingLandingController_H_ 00018 #define rotWingLandingController_H_ 00019 00020 00021 #include "vrfmodel/rotWingTaskCtl.h" 00022 00023 class DtString; 00024 class DtSimManager; 00025 class DtSimMessage; 00026 00038 #include "vrfmodel/vrfmodelDefines.h" 00039 class DT_DLL_vrfmodel DtRotaryWingLandingController : public DtRotaryWingTaskController 00040 { 00041 public: 00042 00045 DtRotaryWingLandingController(const DtString& name, 00046 DtVrfObject* owner, 00047 DtSimManager* simManager, 00048 DtComponentDescriptor* desc = 0, 00049 DtReaderWriterRegistry* parentRegistry = 0); 00050 00052 virtual ~DtRotaryWingLandingController(); 00053 00056 virtual void tick(); 00057 00060 virtual DtString type() const; 00061 00062 virtual void clearTask(); 00063 00067 static DtSimComponent * creator(const DtString& name, 00068 DtVrfObject* owner, 00069 DtSimManager* simManager, 00070 DtComponentDescriptor* desc = 0, 00071 DtReaderWriterRegistry* parentRegistry = 0); 00072 00073 protected: 00075 virtual void registerTaskMsgCallbacks(); 00076 00078 static void landingTaskCallback(DtSimMessage* msg, void* usr); 00079 00081 virtual void processLandingTask(DtSimMessage* msg); 00082 00084 static void taskCompleteReportCallback(DtSimMessage* msg, void* usr); 00085 00087 virtual void processTaskCompleteReport(DtSimMessage* msg); 00088 00091 virtual bool startMovingToLandingPosition(); 00092 00096 virtual bool sendMoveSubtask(const DtString& destinationName); 00097 00099 virtual void doLanding(); 00100 00104 virtual bool landingPosition(DtVector& localPosition); 00105 00112 virtual void pilotProperties(); 00113 00114 private: 00116 DtRotaryWingLandingController(); 00118 DtRotaryWingLandingController( 00119 const DtRotaryWingLandingController & orig); 00121 const DtRotaryWingLandingController & operator=(const 00122 DtRotaryWingLandingController & orig); 00123 00124 protected: 00125 }; 00126 00127 #endif