![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: groundMoveDirectionController.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef groundMoveDirectionController_h 00015 #define groundMoveDirectionController_h 00016 00017 #include "vrfmodel/vrfmodelDefines.h" 00018 #include "vrfmodel/gndAutoCntlr.h" 00019 00020 class DtAnalogInputPort; 00021 class DtInputPortGroup; 00022 class DtGroundMoveDirectionControllerDescriptor; 00023 00033 class DT_DLL_vrfmodel DtGroundMoveDirectionController : public DtGroundAutoControllerComponent 00034 { 00035 private: 00037 DtGroundMoveDirectionController(); 00039 DtGroundMoveDirectionController(const DtGroundMoveDirectionController & 00040 orig); 00042 const DtGroundMoveDirectionController & operator=(const 00043 DtGroundMoveDirectionController & orig); 00044 00045 public: 00048 DtGroundMoveDirectionController(const DtString& name, 00049 DtVrfObject* owner, 00050 DtSimManager* simManager, 00051 DtComponentDescriptor* desc = 0, 00052 DtReaderWriterRegistry* parentRegistry = 0); 00053 00055 virtual ~DtGroundMoveDirectionController(); 00056 00057 virtual bool init(); 00058 00061 virtual DtString type() const; 00062 00063 virtual void tick(); 00064 00068 static DtSimComponent * creator(const DtString& name, 00069 DtVrfObject* owner, 00070 DtSimManager* simManager, 00071 DtComponentDescriptor* desc = 0, 00072 DtReaderWriterRegistry* parentRegistry = 0); 00073 00074 protected: 00075 00078 virtual bool createPorts(); 00079 00082 virtual bool createPortGroups(); 00083 00084 virtual bool createDirectionInputPort(); 00085 virtual bool createSpeedInputPort(); 00086 virtual bool movementControlInputPortGroup(); 00087 00089 virtual void setControlsForNormalMove(); 00092 virtual void setControlsForTurnInPlace(); 00096 virtual bool shouldTurnInPlace(); 00097 00098 protected: 00101 00108 DtAnalogInputPort* myDirectionInputPort; 00109 00115 DtAnalogInputPort* mySpeedInputPort; 00116 00120 DtInputPortGroup* myMovementControlInputPortGroup; 00121 00123 00125 bool myTurningLastTick; 00126 00127 const DtGroundMoveDirectionControllerDescriptor* myMoveDirectionDescriptor; 00128 00129 }; 00130 00131 00132 #endif 00133