![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: turretAct.h,v $ $Revision: 1.30 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtTurretActuatorComponent_H_ 00015 #define DtTurretActuatorComponent_H_ 00016 00017 #include "vrfobjcore/actCmpnt.h" 00018 00019 class DtString; 00020 class DtSimManager; 00021 00022 class DtConstrainedAnalogInputPort; 00023 class DtTurretComponentDescriptor; 00024 class DtVrfTurretedBalGunPSR; 00025 00052 #include "vrfmodel/vrfmodelDefines.h" 00053 class DT_DLL_vrfmodel DtTurretActuatorComponent : public DtActuatorComponent 00054 { 00055 00056 public: 00057 00060 DtTurretActuatorComponent(const DtString& name, 00061 DtVrfObject* owner, 00062 DtSimManager* simManager, 00063 DtComponentDescriptor* desc = 0, 00064 DtReaderWriterRegistry* parentRegistry = 0); 00065 00067 virtual ~DtTurretActuatorComponent(); 00068 00070 virtual bool postAddComponentsInit(); 00071 00074 virtual DtString type() const; 00075 00077 virtual void tick(); 00078 00079 virtual void setTurretArtPart(DtArtPartType turretArtPart); 00080 virtual DtArtPartType turretArtPart() const; 00081 00082 virtual void setMaxSlewRate(DtReal maxSlewRate); 00083 virtual DtReal maxSlewRate() const; 00084 00087 virtual void initProcessSR(); 00088 00092 static DtSimComponent * creator(const DtString& name, 00093 DtVrfObject* owner, 00094 DtSimManager* simManager, 00095 DtComponentDescriptor* desc = 0, 00096 DtReaderWriterRegistry* parentRegistry = 0); 00097 00098 protected: 00099 00101 virtual bool createPorts(); 00102 00110 virtual void lookupAndCacheProcessSR(); 00111 00112 protected: 00113 00115 DtTurretActuatorComponent(); 00116 00118 DtTurretActuatorComponent(const DtTurretActuatorComponent & orig); 00119 00121 const DtTurretActuatorComponent & operator=(const 00122 DtTurretActuatorComponent & orig); 00123 00124 00125 protected: 00126 00129 00136 DtConstrainedAnalogInputPort* mySlewPort; 00137 00139 00140 const DtTurretComponentDescriptor* myTurretComponentDescriptor; 00141 00147 DtVrfTurretedBalGunPSR* myProcessState; 00148 00152 bool myRotation360; 00153 00156 DtReal myLeftSlewLimit; 00157 DtReal myRightSlewLimit; 00158 }; 00159 00160 #endif