![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: humanJoystickMovementController.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 00016 #ifndef humanJoystickMovementController_H_ 00017 #define humanJoystickMovementController_H_ 00018 00019 #include "vrfobjcore/cntrlCmpnt.h" 00020 #include "vrfobjcore/simRadio.h" 00021 00022 class DtString; 00023 class DtSimManager; 00024 class DtHumanJoystickMovementControllerDescriptor; 00025 class DtJoyDevice; 00026 class DtHumanMovementControlOutputPortGroup; 00027 class DtHumanStateRepository; 00028 00033 #include "vrfmodel/vrfmodelDefines.h" 00034 class DT_DLL_vrfmodel DtHumanJoystickMovementController : public DtControllerComponent 00035 { 00036 public: 00037 00040 DtHumanJoystickMovementController(const DtString& name, DtVrfObject* owner, 00041 DtSimManager* simManager, DtComponentDescriptor* desc, 00042 DtReaderWriterRegistry * parentRegistry = 0); 00043 00045 virtual ~DtHumanJoystickMovementController(); 00046 00048 virtual void tick(); 00049 00052 virtual DtString type() const; 00053 00056 static void setJoyDeviceSwitchCallbacks(DtSimMessage * msg, void * usrData); 00057 00058 virtual void processSetJoyDeviceSwitch(DtSimMessage * msg); 00059 00060 virtual void calcAndSetPortValues(); 00061 00062 virtual bool joystickEnabled() const; 00063 00065 virtual bool createPortGroups(); 00066 00070 static DtSimComponent * creator(const DtString& name, 00071 DtVrfObject* owner, 00072 DtSimManager* simManager, 00073 DtComponentDescriptor* desc = 0, 00074 DtReaderWriterRegistry* parentRegistry = 0); 00075 00076 private: 00077 00079 DtHumanJoystickMovementController(); 00080 00082 DtHumanJoystickMovementController( 00083 const DtHumanJoystickMovementController& orig); 00084 00086 DtHumanJoystickMovementController& operator=( 00087 const DtHumanJoystickMovementController& orig); 00088 00089 protected: 00090 00092 virtual void initializeJoyDevice(); 00093 00095 virtual void setRadio(DtSimRadio * radio); 00096 00097 protected: 00098 00101 00103 DtHumanMovementControlOutputPortGroup* myHumanMovementControlOutputPortGroup; 00104 00106 00107 DtHumanStateRepository* myHumanStateRepository; 00108 00109 DtJoyDevice * myJoyDevice; 00110 00111 bool myInitialized; 00112 00113 int myCurrentGear; 00114 00115 bool myCollisionDetected; 00116 bool myInternalCollisionDetected; 00117 00118 DtHumanJoystickMovementControllerDescriptor* myJoystickControllerDescriptor; 00119 bool myJoystickEnabled; 00120 }; 00121 00122 #endif