VR-Forces 4.0.4 Class Documentation
include/vrfmodel/balGunJoyCtlr.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)