![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: turretAcqr.h,v $ $Revision: 1.26 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtTurretAcquireController_H_ 00016 #define DtTurretAcquireController_H_ 00017 00018 #include "vrfmodel/turretCntlr.h" 00019 #include <vl/hostStructs.h> 00020 #include "vrfobjcore/entListIOPort.h" 00021 00022 #include <vl/fireInter.h> 00023 00024 class DtString; 00025 class DtSimManager; 00026 class DtSimMessage; 00027 class DtEntityListPort; 00028 class DtSimIndividualLocalEntity; 00029 00030 class DtEntityListInputPort; 00031 class DtTurretAcquireControllerDescriptor; 00032 00057 #include "vrfmodel/vrfmodelDefines.h" 00058 class DT_DLL_vrfmodel DtTurretAcquireController : public DtTurretSlewController 00059 { 00060 00061 public: 00062 00065 DtTurretAcquireController(const DtString& name, 00066 DtVrfObject* owner, 00067 DtSimManager* simManager, 00068 DtComponentDescriptor* desc = 0, 00069 DtReaderWriterRegistry* parentRegistry = 0); 00070 00072 virtual ~DtTurretAcquireController(); 00073 00076 virtual DtString type() const; 00077 00079 virtual bool init(); 00080 00082 virtual void tick(); 00083 00085 virtual bool inSector(DtVrfObject* entity) const; 00086 00088 virtual DtReal findBodyHeadingToTarget(DtVrfObject* entity) const; 00089 00091 virtual DtVrfObject* chooseTarget(const DtEntityTargetList& targetList, 00092 DtTime currentTime) const; 00093 00095 virtual DtVrfObject* easier(DtVrfObject* entity1, DtVrfObject* entity2) 00096 const; 00097 00101 static DtSimComponent * creator(const DtString& name, 00102 DtVrfObject* owner, 00103 DtSimManager* simManager, 00104 DtComponentDescriptor* desc = 0, 00105 DtReaderWriterRegistry* parentRegistry = 0); 00106 00107 protected: 00108 00110 virtual bool createPorts(); 00111 00121 virtual bool canTrackTarget(const DtVector& localEyepoint, 00122 DtVrfObject* targetObject) const; 00123 00124 private: 00125 00127 DtTurretAcquireController(); 00128 00130 DtTurretAcquireController(const DtTurretAcquireController & 00131 orig); 00132 00134 const DtTurretAcquireController & operator=(const 00135 DtTurretAcquireController & orig); 00136 00137 protected: 00138 00141 00147 DtEntityListInputPort* myTargetListPort; 00148 00150 00151 const DtTurretAcquireControllerDescriptor* myTurretAcquireControllerDescriptor; 00152 00154 DtEntityIdentifier myObjectId; 00155 }; 00156 00157 #endif 00158 00159 00160 00161