![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: spotReportReceiver.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef spotReportReceiver_h 00015 #define spotReportReceiver_h 00016 00017 #include "vrfobjcore/simCmpnt.h" 00018 #include "vrfmodel/vrfmodelDefines.h" 00019 00020 class DtObjectSensorPSR; 00021 class DtObjectSensorMonitor; 00022 class DtSensorContactListOutputPort; 00023 class DtVrfObjectMessage; 00024 class DtSpotReportReceiverDescriptor; 00025 class DtSpotReport; 00026 00037 class DT_DLL_vrfmodel DtSpotReportReceiver : public DtSimComponent 00038 { 00039 private: 00041 00042 DtSpotReportReceiver(); 00043 DtSpotReportReceiver(const DtSpotReportReceiver &orig); 00044 const DtSpotReportReceiver& operator=(const DtSpotReportReceiver& orig); 00046 00047 public: 00048 00051 DtSpotReportReceiver(const DtString& name, 00052 DtVrfObject* owner, 00053 DtSimManager* simManager, 00054 DtComponentDescriptor* desc = 0, 00055 DtReaderWriterRegistry* parentRegistry = 0); 00056 00058 virtual ~DtSpotReportReceiver(); 00059 00060 virtual bool init(); 00061 00064 virtual DtString type() const; 00065 00066 virtual void tick(); 00067 00069 virtual bool tickWhileDestroyed() const; 00070 00074 static DtSimComponent * creator(const DtString& name, 00075 DtVrfObject* owner, 00076 DtSimManager* simManager, 00077 DtComponentDescriptor* desc = 0, 00078 DtReaderWriterRegistry* parentRegistry = 0); 00079 00080 protected: 00081 00083 virtual bool createPorts(); 00084 00090 virtual DtObjectSensorPSR* createPSR(); 00091 00093 virtual bool createAndInitSensorMonitor(); 00094 00096 00097 static void spotReportCallback(const DtVrfObjectMessage* msg, void* usr); 00099 virtual void processSpotReport(const DtVrfObjectMessage* msg); 00101 00107 virtual bool mergeSpotReportWithCurrentData(const DtSpotReport* spotReport); 00108 00112 virtual bool pruneOldReports(); 00113 00114 protected: 00115 00117 00118 00119 00120 00121 00122 00123 00124 00125 DtSensorContactListOutputPort * myContactsListPort; 00127 00130 DtObjectSensorPSR* myProcessState; 00131 00132 DtObjectSensorMonitor* myMonitor; 00133 bool myContactsChanged; 00134 const DtSpotReportReceiverDescriptor* mySpotReportReceiverDescriptor; 00135 }; 00136 00137 #endif