VR-Forces 4.0.4 Class Documentation
include/vrfmodel/gndJoyCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: gndJoyCtl.h,v $ $Revision: 1.19 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 
00015 #ifndef DtGroundJoyMoveController_H_
00016 #define DtGroundJoyMoveController_H_
00017 
00018 #include "vrfmodel/gndAutoCntlr.h"
00019 #include "vrfobjcore/simRadio.h"
00020 
00021 class DtString;
00022 class DtSimManager;
00023 class DtGroundJoyDeviceControllerDescriptor;
00024 class DtJoyDevice;
00025 
00026 
00031 #include "vrfmodel/vrfmodelDefines.h"
00032 class DT_DLL_vrfmodel DtGroundJoyMoveController : public DtGroundAutoControllerComponent
00033 {
00034 public:
00035 
00038    DtGroundJoyMoveController(const DtString& name, DtVrfObject* owner,
00039       DtSimManager* simManager, DtComponentDescriptor* desc,
00040       DtReaderWriterRegistry * parentRegistry = 0);
00041 
00043    virtual ~DtGroundJoyMoveController();
00044 
00046    virtual void tick();
00047 
00050    virtual DtString type() const;
00051 
00054    virtual void setComponentDescriptor(DtComponentDescriptor *descriptor);
00055 
00058    static void setJoyDeviceSwitchCallbacks(DtSimMessage * msg, void * usrData);
00059 
00060    virtual void processSetJoyDeviceSwitch(DtSimMessage * msg);
00061 
00062    virtual void calcAndSetPortValues();
00063 
00064    virtual bool joystickEnabled() const;
00065 
00069    static DtSimComponent * creator(const DtString& name, 
00070       DtVrfObject* owner,
00071       DtSimManager* simManager, 
00072       DtComponentDescriptor* desc = 0,
00073       DtReaderWriterRegistry* parentRegistry = 0);
00074 
00075    virtual bool collisionDetected();
00076 
00077 private:
00078 
00080    DtGroundJoyMoveController();
00081 
00083    DtGroundJoyMoveController(
00084       const DtGroundJoyMoveController& orig);
00085 
00087    DtGroundJoyMoveController& operator=(
00088       const DtGroundJoyMoveController& orig);
00089 
00090 protected:
00092    virtual void initializeJoyDevice();
00093 
00095    virtual void setRadio(DtSimRadio * radio);
00096 
00097    virtual bool detectCollision();
00098 
00099    // Process colliding with a lifeform.  Default will destroy if the lifeform shares
00100    // the same parent as the vehicle
00101    virtual void collideWithLifeform(DtVrfObject*);
00102 
00103 protected:
00104    DtJoyDevice * myJoyDevice;
00105    bool myInitialized;
00106 
00107    int myCurrentGear;
00108 
00109    bool myCollisionDetected;
00110    bool myInternalCollisionDetected;
00111 
00112    const DtGroundJoyDeviceControllerDescriptor* myJoyDeviceControllerDescriptor;
00113    bool myJoystickEnabled;
00114 };
00115 
00116 #endif

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)