![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: humanPostureController.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef humanPostureController_h 00016 #define humanPostureController_h 00017 00018 #include "vrfobjcore/cntrlCmpnt.h" 00019 #include "vrfmodel/vrfmodelDefines.h" 00020 #include "vrfutil/lifeformStaticPostures.h" 00021 00022 class DtIntegerOutputPort; 00023 class DtSimMessage; 00024 class DtHumanPosturePSR; 00025 00038 class DT_DLL_vrfmodel DtHumanPostureController : public DtControllerComponent 00039 { 00040 private: 00042 DtHumanPostureController(); 00044 DtHumanPostureController(const DtHumanPostureController& orig); 00046 DtHumanPostureController& operator=(const DtHumanPostureController& orig); 00047 public: 00049 DtHumanPostureController(const DtString& name, DtVrfObject* owner, DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry *parentRegistry=0); 00050 00052 virtual ~DtHumanPostureController(); 00053 00055 virtual bool init(); 00056 00058 virtual DtString type() const; 00059 00061 virtual void tick(); 00062 00066 static DtSimComponent * creator(const DtString& name, 00067 DtVrfObject* owner, 00068 DtSimManager* simManager, 00069 DtComponentDescriptor* desc = 0, 00070 DtReaderWriterRegistry* parentRegistry = 0); 00071 00072 protected: 00073 00079 virtual bool createPSR(); 00080 00081 virtual bool createPorts(); 00082 00083 static void setPostureCallback(DtSimMessage* msg, void* usr); 00084 virtual void processSetPosture(DtSimMessage* msg); 00085 00086 static void setAppearanceCallback(DtSimMessage* msg, void* usr); 00087 virtual void processSetAppearance(DtSimMessage* msg); 00088 00089 protected: 00090 DtIntegerOutputPort* myStaticPostureOutputPort; 00091 00094 DtHumanPosturePSR* myProcessState; 00095 }; 00096 00097 #endif