![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: lasingMslTrkCtlr.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 ** Created: 7/14/04, MEM Updated: 7/16/04 00008 *******************************************************************************/ 00009 00012 00013 #ifndef DtLasingMissileTrackController_H_ 00014 #define DtLasingMissileTrackController_H_ 00015 00016 00017 #include "vrfmodel/msslTrkEntCtl.h" 00018 00019 #include "vlutil/vlString.h" 00020 #include <matrix/vlVector.h> 00021 #include "vrfobjcore/missileFlightPSR.h" 00022 00023 class DtSimManager; 00024 class DtSimMessage; 00025 class DtReflectedDesignator; 00026 class DtLaserTrackerPSR; 00027 00033 class DT_DLL_vrfmodel DtLasingMissileTrackController : public DtMissileMoveToControllerComponent 00034 { 00035 private: 00037 00038 DtLasingMissileTrackController(); 00039 DtLasingMissileTrackController(const DtLasingMissileTrackController& orig); 00040 const DtLasingMissileTrackController& operator=(const DtLasingMissileTrackController& orig); 00042 00043 public: 00045 DtLasingMissileTrackController(const DtString& name, 00046 DtVrfObject* owner, 00047 DtSimManager* simManager, 00048 DtComponentDescriptor* desc = 0, 00049 DtReaderWriterRegistry* parentRegistry = 0); 00050 00052 virtual ~DtLasingMissileTrackController(); 00053 00056 virtual DtString type() const; 00057 00059 virtual bool init(); 00060 00061 protected: 00062 00063 //sets and queries the laser code of the controller 00064 virtual void setTgtDesignatorCode(const int code); 00065 virtual const int tgtDesignatorCode() const; 00066 00069 virtual DtReflectedDesignator* findTarget(); 00070 00075 virtual bool targetTrackable(DtReflectedDesignator* target); 00076 00080 virtual void registerSetLaserCodeRequestMsgCallbacks(); 00081 00083 static void setLaserCodeRequestCallback(DtSimMessage* msg, void* usr); 00084 00087 virtual void processSetLaserCodeRequestCallback(DtSimMessage* msg); 00088 00089 virtual bool setupControlPoint(); 00090 00091 public: 00092 //creator 00093 static DtSimComponent* creator(const DtString& name, 00094 DtVrfObject* owner, 00095 DtSimManager* simManager, 00096 DtComponentDescriptor* desc = 0, 00097 DtReaderWriterRegistry* parentRegistry = 0); 00098 00099 protected: 00100 00103 DtLaserTrackerPSR* myProcessState; 00104 }; 00105 00106 #endif