![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: remoteEnvironmentController.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef remoteWeatherController_H_ 00016 #define remoteWeatherController_H_ 00017 00018 #include <vrfExtObjects/vrfWeatherStateEnums.h> 00019 00020 class DtVrfMessageInterface; 00021 class DtReflectedEnvironmentProcessList; 00022 class DtReflectedEnvironmentProcess; 00023 class DtEnvironmentProcessRepository; 00024 class DtVector; 00025 class DtVrfEnvironmentalWeatherStateRecord; 00026 00034 #include "vrfcontrol/vrfcontrolDefines.h" 00035 class DT_DLL_vrfcontrol DtRemoteEnvironmentController 00036 { 00037 public: 00039 DtRemoteEnvironmentController(); 00040 00048 virtual void init(DtVrfMessageInterface* msgIf, 00049 DtReflectedEnvironmentProcessList* rel); 00050 00054 bool reflectingCurrentWeatherState(); 00055 00057 00058 virtual void setAirTurbidity(double value); 00060 virtual double airTurbidity(); 00062 00064 00065 virtual void setCloudState(DtVrfWeatherCloudState); 00067 virtual DtVrfWeatherCloudState cloudState(); 00069 00071 00072 virtual void setPrecipitationIntensity(double value); 00074 virtual double precipitationIntensity(); 00076 00078 00079 virtual void setPrecipitationType(DtVrfWeatherPrecipitationType); 00081 virtual DtVrfWeatherPrecipitationType precipitationType(); 00083 00085 00086 virtual void setWindSpeed(double value); 00088 virtual double windSpeed(); 00090 00092 00093 virtual void setWindDirection(double value); 00095 virtual double windDirection(); 00097 00099 00100 virtual void setVisibility(double value); 00102 virtual double visibility(); 00104 00108 00109 virtual double illumination(); 00111 00114 00115 virtual void setTimeOfDay(double secondsPastMidnight); 00117 virtual double timeOfDay(); 00119 00121 00122 virtual void setTimeOfDayAdvancementSpeed(double speed); 00124 virtual double timeOfDayAdvancementSpeed(); 00126 00128 static void environmentProcessAddedCallback( 00129 DtReflectedEnvironmentProcess* obj, void* userData); 00133 virtual void processEnvironmentProcessAdded( 00134 DtReflectedEnvironmentProcess* obj); 00135 00137 static void environmentProcessRemovedCallback( 00138 DtReflectedEnvironmentProcess* obj, void* userData); 00142 virtual void processEnvironmentProcessRemoved( 00143 DtReflectedEnvironmentProcess* obj); 00144 00145 protected: 00148 bool updateVrfEnvironmentalWeatherStateRecord(); 00149 00150 00152 static void environmentProcessUpdatedCallback(DtReflectedEnvironmentProcess* e, void* usr); 00153 virtual void processUpdatedCallback(DtReflectedEnvironmentProcess* e); 00154 00155 protected: 00156 DtReflectedEnvironmentProcessList* myReflectedEnvironmentProcessList; 00157 DtVrfMessageInterface* myMsgIf; 00158 DtEnvironmentProcessRepository* myReflectedWeatherSR; 00159 DtVrfEnvironmentalWeatherStateRecord* myVrfEnvironmentalWeatherStateRecord; 00160 }; 00161 00162 #endif