![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: humanTurnToController.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef humanTurnToController_h 00015 #define humanTurnToController_h 00016 00017 #include "vrfobjcore/singleTaskControllerComponent.h" 00018 #include "vrfmodel/vrfmodelDefines.h" 00019 00020 class DtSimMessage; 00021 class DtHumanMovementControlOutputPortGroup; 00022 00028 class DT_DLL_vrfmodel DtHumanTurnToController : public DtSingleTaskControllerComponent 00029 { 00030 private: 00032 DtHumanTurnToController(); 00034 DtHumanTurnToController(const DtHumanTurnToController& orig); 00036 DtHumanTurnToController& operator=(const DtHumanTurnToController& orig); 00037 public: 00039 DtHumanTurnToController(const DtString& name, DtVrfObject* owner, 00040 DtSimManager* simManager, DtComponentDescriptor* desc=0, 00041 DtReaderWriterRegistry *parentRegistry=0); 00042 00044 virtual ~DtHumanTurnToController(); 00045 00047 virtual bool init(); 00048 00050 virtual DtString type() const; 00051 00053 virtual void tick(); 00054 00058 static void turnToHeadingCallback(DtSimMessage * msg, void * usr); 00059 virtual void processTurnToHeadingTask(DtSimMessage * msg); 00060 00062 virtual void registerTaskMsgCallbacks(); 00063 00065 static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, 00066 DtSimManager* simManager, DtComponentDescriptor* desc=0, 00067 DtReaderWriterRegistry* parentRegistry=0); 00068 00070 virtual bool createPortGroups(); 00071 00073 virtual void clearTask(); 00074 00075 protected: 00077 virtual double headingToFace(); 00078 00079 protected: 00080 00082 00083 00084 DtHumanMovementControlOutputPortGroup* myHumanMovementControlOutputPortGroup; 00086 }; 00087 00088 #endif