![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtHatHotResponder.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00008 00012 00013 #ifndef DtHatHotResponder_H_ 00014 #define DtHatHotResponder_H_ 00015 00016 #include <vrvCigi/vrvCigi.h> 00017 #include <vrvCore/DtUniqueID.h> 00018 00019 #include <map> 00020 00021 #include <matrix/vlVector.h> 00022 00023 #include <boost/signal.hpp> 00024 00025 class CigiHatHotReqV3_2; 00026 00027 namespace makVrv 00028 { 00029 class DtCigiEntityVisualizer; 00030 class DtCigiConnection; 00031 00036 class DT_DLL_VRVCIGI DtHatHotResponder 00037 { 00038 public: 00039 struct HatHotData 00040 { 00041 DtUniqueID entityId; 00042 DtVector location; 00043 int numberOfFramesBeforeSending; 00044 int lastFrameSent; 00045 bool hatRequest; 00046 }; 00047 00049 DtHatHotResponder(DtCigiConnection& connection); 00050 00052 virtual ~DtHatHotResponder(); 00053 00055 virtual void addPeriodicHatHotRequest(DtUniqueID entityId, 00056 const DtVector& loc, int frequency, int hatHotId, bool hatRequest); 00057 00059 virtual void processHatHotRequests(); 00060 00062 boost::signal<void (DtUniqueID, const DtVector&, unsigned int, bool, unsigned int)> 00063 signal_hatHotRequested; 00064 00065 protected: 00068 void processHatHotRequest(const CigiHatHotReqV3_2& hatHotReq); 00069 00072 virtual void sendHatHotRequest(DtUniqueID entityId, const DtVector& loc, 00073 int hatHotId, bool hatRequest); 00074 00075 protected: 00076 std::map<int, HatHotData> myHatHotRequests; 00077 DtCigiConnection& myConnection; 00078 }; 00079 } 00080 00081 #endif