VR-Forces 4.0.4 Class Documentation
include/vrfcontrol/remoteEnvironmentController.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)