![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999-2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: iFireWpnCtlr.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00015 00016 #ifndef DtIndirectFireWeaponController_H_ 00017 #define DtIndirectFireWeaponController_H_ 00018 00019 class DtVectorOutputPort; 00020 class DtAnalogOutputPort; 00021 class DtVrfIndirectFirePSR; 00022 00023 #include "vrfmodel/baseWeapCtlr.h" 00024 00032 #include "vrfmodel/vrfmodelDefines.h" 00033 class DT_DLL_vrfmodel DtIndirectFireWeaponController : public DtBaseWeaponController 00034 { 00035 00036 public: 00037 00040 DtIndirectFireWeaponController(const DtString& name, 00041 DtVrfObject* owner, 00042 DtSimManager* simManager, 00043 DtComponentDescriptor* desc = 0, 00044 DtReaderWriterRegistry* parentRegistry = 0); 00045 00047 virtual ~DtIndirectFireWeaponController(); 00048 00051 virtual DtString type() const; 00052 00054 virtual bool createTargetPointPort(); 00056 virtual DtVectorOutputPort * targetPointPort() const; 00057 00059 virtual bool createMaxRangePort(); 00061 virtual DtAnalogOutputPort * maxRangePort() const; 00062 00066 static DtSimComponent * creator(const DtString& name, 00067 DtVrfObject* owner, 00068 DtSimManager* simManager, 00069 DtComponentDescriptor* desc = 0, 00070 DtReaderWriterRegistry* parentRegistry = 0); 00071 00072 virtual DtVrfIndirectFirePSR* indirectFireProcessState(); 00073 virtual const DtVrfIndirectFirePSR* indirectFireProcessState() const; 00074 00075 protected: 00076 00078 virtual bool createPorts(); 00079 00089 virtual void lookupAndCacheProcessSR(); 00090 00091 protected: 00092 00094 DtIndirectFireWeaponController(); 00095 00097 DtIndirectFireWeaponController(const DtIndirectFireWeaponController & orig); 00098 00100 const DtIndirectFireWeaponController & operator=(const 00101 DtIndirectFireWeaponController & orig); 00102 00103 00104 protected: 00107 00113 DtVectorOutputPort* myTargetPointPort; 00114 00120 DtAnalogOutputPort* myMaxRangePort; 00121 00123 }; 00124 00125 #endif