![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: balGunJoyCtlr.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtBallisticGunJoyController_H_ 00016 #define DtBallisticGunJoyController_H_ 00017 00018 00019 #include "vrfmodel/balGunCtlr.h" 00020 #include "vrfobjcore/simRadio.h" 00021 00022 class DtConstrainedAnalogOutputPort; 00023 class DtBooleanOutputPort; 00024 class DtOutputPortGroup; 00025 class DtJoyDevice; 00026 class DtBallisticGunJoyControllerDescriptor; 00027 00032 #include "vrfmodel/vrfmodelDefines.h" 00033 class DT_DLL_vrfmodel DtBallisticGunJoyController : public DtBallisticGunController 00034 { 00035 00036 public: 00037 00040 DtBallisticGunJoyController(const DtString & name, DtVrfObject* owner, 00041 DtSimManager *simManager, DtComponentDescriptor* desc, 00042 DtReaderWriterRegistry * const parentRegistry = 0); 00043 00045 virtual ~DtBallisticGunJoyController(); 00046 00049 virtual DtString type() const; 00050 00052 virtual void setComponentDescriptor(DtComponentDescriptor *descriptor); 00053 00055 virtual void tick(); 00056 00057 virtual void calcAndSetPortValues(); 00058 00061 virtual bool createActiveJoystickPort(); 00062 virtual DtBooleanOutputPort * activeJoystickPort() const; 00063 00064 virtual bool createElevationPort(); 00065 virtual DtConstrainedAnalogOutputPort * elevationPort() const; 00066 00067 virtual bool chooseAmmo(DtString name = DtString::nullString()); 00068 00069 virtual bool canFire(); 00070 00074 static DtSimComponent * creator(const DtString& name, 00075 DtVrfObject* owner, 00076 DtSimManager* simManager, 00077 DtComponentDescriptor* desc = 0, 00078 DtReaderWriterRegistry* parentRegistry = 0); 00079 00080 static void setJoyDeviceSwitchCallbacks(DtSimMessage * msg, void * usrData); 00081 00082 virtual void processSetJoyDeviceSwitch(DtSimMessage * msg); 00083 00084 virtual void setFire(); 00085 virtual void setChangeAmmo(); 00086 virtual void setElevation(DtReal elevation); 00087 00088 protected: 00089 00091 virtual bool createPorts(); 00092 00093 private: 00094 00096 DtBallisticGunJoyController(); 00097 00099 DtBallisticGunJoyController(const DtBallisticGunJoyController & orig); 00100 00102 const DtBallisticGunJoyController & operator=(const DtBallisticGunJoyController & 00103 orig); 00104 00105 protected: 00106 00108 virtual void initializeJoyDevice(); 00109 00111 virtual void setRadio(DtSimRadio * radio); 00112 00113 protected: 00114 00115 DtBallisticGunJoyControllerDescriptor* myBalGunJoyDescriptor; 00116 00119 00125 DtConstrainedAnalogOutputPort * myElevationPort; 00126 00133 DtBooleanOutputPort * myActiveJoystickPort; 00134 00136 00137 DtJoyDevice * myJoyDevice; 00138 bool myInitialized; 00139 bool myFiring; 00140 bool myChangeAmmo; 00141 DtReal myElevation; 00142 }; 00143 00144 #endif 00145 00146 00147 00148