![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: launchAct.h,v $ $Revision: 1.28 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtLauncherActuator_H_ 00015 #define DtLauncherActuator_H_ 00016 00017 #include "vrfmodel/weaponAct.h" 00018 #include <vl/hostStructs.h> 00019 #include "vrfmsgs/ifCrtEntity.h" 00020 00021 class DtSimManager; 00022 00023 class DtObjectIdInputPort; 00024 class DtVectorInputPort; 00025 00041 #include "vrfmodel/vrfmodelDefines.h" 00042 class DT_DLL_vrfmodel DtLauncherActuator : public DtWeaponActuator 00043 { 00044 00045 public: 00046 00049 DtLauncherActuator(const DtString& name, 00050 DtVrfObject* owner, 00051 DtSimManager* simManager, 00052 DtComponentDescriptor* desc = 0, 00053 DtReaderWriterRegistry* parentRegistry = 0); 00054 00056 virtual ~DtLauncherActuator(); 00057 00060 virtual bool init(); 00061 00064 virtual DtString type() const; 00065 00074 virtual void fireTheWeapon(); 00075 00077 virtual DtFireInteraction * createFireInteraction(DtVrfObject *missile); 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: 00089 00092 virtual bool createPorts(); 00093 00094 protected: 00095 00097 DtLauncherActuator(); 00098 00100 DtLauncherActuator(const DtLauncherActuator & orig); 00101 00103 const DtLauncherActuator & operator=(const DtLauncherActuator & orig); 00104 00105 00106 protected: 00107 00110 00116 DtObjectIdInputPort* myMissileIdPort; 00117 00123 DtObjectIdInputPort* myTargetEntityIdPort; 00124 00130 DtVectorInputPort* myTargetPointPort; 00131 00133 00136 static bool myDetonationCbackRegistered; 00137 00138 DtVector myCurrentTargetPoint; 00139 }; 00140 00141 #endif 00142