![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rotWngWaitCtl.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtRotWaitController_H_ 00015 #define DtRotWaitController_H_ 00016 00017 #include "vrfmodel/rotWingTaskCtl.h" 00018 #include "vrfutil/vlClock.h" 00019 00020 class DtString; 00021 class DtSimManager; 00022 class DtTaskMessage; 00023 class DtSimMessage; 00024 class DtWaitingPSR; 00025 00034 #include "vrfmodel/vrfmodelDefines.h" 00035 class DT_DLL_vrfmodel DtRotaryWingWaitController : public DtRotaryWingTaskController 00036 { 00037 00038 public: 00039 00042 DtRotaryWingWaitController(const DtString& name, 00043 DtVrfObject* owner, 00044 DtSimManager* simManager, 00045 DtComponentDescriptor* desc = 0, 00046 DtReaderWriterRegistry* parentRegistry = 0); 00047 00049 virtual ~DtRotaryWingWaitController(); 00050 00053 virtual DtString type() const; 00054 00056 virtual bool init(); 00057 00066 virtual void tick(); 00067 00069 virtual void registerTaskMsgCallbacks(); 00070 00074 00079 virtual void processWaitTask(DtSimMessage * msg); 00080 00086 virtual void processWaitDurationTask(DtSimMessage * msg); 00087 00092 virtual void processWaitElapsedTask(DtSimMessage * msg); 00093 00094 protected: 00097 DtRotaryWingWaitController(); 00098 00100 DtRotaryWingWaitController(const DtRotaryWingWaitController & orig); 00101 00103 const DtRotaryWingWaitController & operator=( 00104 const DtRotaryWingWaitController & orig); 00105 00112 virtual void pilotProperties(); 00113 00115 virtual bool createWaitingPSR(); 00116 00117 public: 00118 00119 static void waitCallback(DtSimMessage * msg, void * usr); 00120 00121 static void waitDurationCallback(DtSimMessage * msg, void * usr); 00122 00123 static void waitElapsedCallback(DtSimMessage * msg, void * usr); 00124 00128 static DtSimComponent * creator(const DtString& name, 00129 DtVrfObject* owner, 00130 DtSimManager* simManager, 00131 DtComponentDescriptor* desc = 0, 00132 DtReaderWriterRegistry* parentRegistry = 0); 00133 00134 protected: 00135 00136 DtWaitingPSR* myWaitingProcessState; 00137 }; 00138 00139 #endif