![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 // /****************************************************************************** 00002 // ** Copyright (c) 2008 MAK Technologies, Inc. 00003 // ** All rights reserved. 00004 // ******************************************************************************/ 00005 // /****************************************************************************** 00006 // ** $RCSfile: DtWeatherProcessor.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 // ******************************************************************************/ 00008 00012 00013 #ifndef DT_PROTOCOL_NAMESPACE 00014 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined. 00015 #endif 00016 00017 #pragma once 00018 00019 #include <vrvVrl/vrvVrl.h> 00020 #include <vrvUtil/DtVirtualBaseClass.h> 00021 #include <vrvVrl/DtVrlinkConnection.h> 00022 #include <vrfExtObjects/vrfWeatherStateEnums.h> 00023 #include <vrvUtil/DtSignalConnectionManager.h> 00024 00025 #include <boost/unordered_map.hpp> 00026 00027 namespace makVrv 00028 { 00029 class DtSceneEnvironmentalsControllerObjectAgent; 00030 00031 namespace DT_PROTOCOL_NAMESPACE 00032 { 00033 class DtVrlinkEnvironmentalStateListenerInterface; 00034 class DtWeatherStateListener; 00035 00039 class DL_DLL_IGCONVRLINK DtWeatherProcessor : public makVrv::DtVirtualBaseClass 00040 { 00041 00042 public: 00043 00045 DtWeatherProcessor(DtVrlinkConnection& sim); 00046 00048 virtual ~DtWeatherProcessor(); 00049 00050 protected: 00051 00053 virtual void initializeEnvironmentState(); 00054 00056 virtual void slot_envDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener); 00057 00059 virtual void slot_envToBeDestroyed(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener); 00060 00063 virtual void slot_airTurbidityChanged(float); 00064 00067 virtual void slot_cloudStateChanged(DtVrfWeatherCloudState); 00068 00071 virtual void slot_precipitationIntensityChanged(float); 00072 00075 virtual void slot_precipitationTypeChanged(DtVrfWeatherPrecipitationType); 00076 00079 virtual void slot_visibilityChanged(float); 00080 00082 virtual void slot_timeOfDayChanged(float); 00083 00086 virtual void slot_timeOfDayAdvancementSpeedChanged(float); 00087 00090 virtual void slot_windDirectionChanged(float); 00091 00094 virtual void slot_windSpeedChanged(float); 00095 00098 virtual void slot_forceRefresh(); 00099 00100 protected: 00101 00102 DtVrlinkConnection& myConnection; 00103 DtSceneEnvironmentalsControllerObjectAgent* myEnvAgent; 00104 bool myAcceptIncomingMessages; 00105 00106 typedef boost::unordered_map<DtUniqueID,DtWeatherStateListener*> WeatherListenerMap; 00107 00108 WeatherListenerMap myWeatherListenerMap; 00109 00110 DtSignalConnectionManager mySignals; 00111 }; 00112 } 00113 }