![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: fixWngFolwCtl.h,v $ $Revision: 1.26 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 00016 #ifndef DtFixedWingFollowEntityController_H_ 00017 #define DtFixedWingFollowEntityController_H_ 00018 00019 00020 #include "vrfmodel/fixWngMvToCtl.h" 00021 00022 #include <vlutil/vlString.h> 00023 #include <matrix/vlVector.h> 00024 00025 class DtSimManager; 00026 class DtSimMessage; 00027 00028 00037 #include "vrfmodel/vrfmodelDefines.h" 00038 class DT_DLL_vrfmodel DtFixedWingFollowEntityController : public DtFixedWingMoveToController 00039 { 00040 00041 public: 00042 00045 DtFixedWingFollowEntityController(const DtString& name, 00046 DtVrfObject* owner, 00047 DtSimManager* simManager, 00048 DtComponentDescriptor* desc = 0, 00049 DtReaderWriterRegistry* parentRegistry = 0); 00051 virtual ~DtFixedWingFollowEntityController(); 00052 00055 virtual DtString type() const; 00056 00060 virtual void tick(); 00061 00063 virtual void doMoving(); 00064 virtual void doFlying(); 00065 virtual void doTaxiing(); 00066 00070 static void followEntityCallback(DtSimMessage * msg, void * usrData); 00071 virtual void processFollowEntityTask(DtSimMessage * msg); 00072 00073 virtual const DtString& entityToFollow() const; 00074 virtual void setEntityToFollow(const DtString& entity); 00075 00076 virtual const DtVector& offsetVector() const; 00077 virtual void setOffsetVector(const DtVector& offsets); 00078 00082 static DtSimComponent * creator(const DtString& name, 00083 DtVrfObject* owner, 00084 DtSimManager* simManager, 00085 DtComponentDescriptor* desc = 0, 00086 DtReaderWriterRegistry* parentRegistry = 0); 00087 00088 protected: 00091 DtFixedWingFollowEntityController(); 00092 00094 DtFixedWingFollowEntityController(const DtFixedWingFollowEntityController & 00095 orig); 00096 00098 const DtFixedWingFollowEntityController & operator=(const 00099 DtFixedWingFollowEntityController & orig); 00100 00102 virtual void registerTaskMsgCallbacks(); 00103 00104 virtual bool setupControlPoint(); 00105 00106 virtual double findDesiredSpeed(); 00107 00108 protected: 00109 00111 DtVrfObject * myEntityPointer; 00112 00114 DtVrfObject* myWorkingControlPoint; 00115 }; 00116 00117 #endif 00118