![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: turretCntlr.h,v $ $Revision: 1.27 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtTurretSlewController_H_ 00016 #define DtTurretSlewController_H_ 00017 00018 00019 #include "vrfobjcore/cntrlCmpnt.h" 00020 #include <vlpi/disEnums.h> 00021 00022 class DtString; 00023 class DtSimManager; 00024 class DtConstrainedAnalogOutputPort; 00025 class DtBooleanOutputPort; 00026 class DtIntegerOutputPort; 00027 class DtVrfTurretedBalGunPSR; 00028 00029 00046 #include "vrfmodel/vrfmodelDefines.h" 00047 class DT_DLL_vrfmodel DtTurretSlewController : public DtControllerComponent 00048 { 00049 00050 public: 00051 00054 DtTurretSlewController(const DtString& name, 00055 DtVrfObject* owner, 00056 DtSimManager* simManager, 00057 DtComponentDescriptor* desc = 0, 00058 DtReaderWriterRegistry* parentRegistry = 0); 00059 00061 virtual ~DtTurretSlewController(); 00062 00063 virtual bool init(); 00064 00067 virtual DtString type() const = 0; 00068 00072 virtual void tick(); 00073 00078 virtual double approximateSlew(double angle); 00079 00080 virtual void setMaxSlewRate(DtReal maxSlewRate); 00081 virtual DtReal maxSlewRate() const; 00082 00083 virtual void setTurretToControl(DtArtPartType turretToControl); 00084 virtual DtArtPartType turretToControl() const; 00085 00088 virtual double turretBodyRotation() const; 00089 00092 virtual bool createSlewPort(); 00093 virtual bool createLosPort(); 00094 00099 virtual DtConstrainedAnalogOutputPort * slewPort(); 00100 00105 virtual DtIntegerOutputPort * losPort(); 00106 00107 protected: 00108 00110 virtual bool createPorts(); 00111 00119 virtual void lookupAndCacheProcessSR(); 00120 00121 protected: 00122 00124 DtTurretSlewController(); 00125 00127 DtTurretSlewController(const DtTurretSlewController & orig); 00128 00130 const DtTurretSlewController & operator=(const DtTurretSlewController & 00131 orig); 00132 00133 protected: 00134 00137 00144 DtConstrainedAnalogOutputPort * mySlewPort; 00145 00152 DtIntegerOutputPort * myLosPort; 00153 00155 00161 DtVrfTurretedBalGunPSR* myProcessState; 00162 }; 00163 00164 #endif 00165 00166 00167 00168