VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/environmentalStateSetter.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: environmentalStateSetter.h,v $ $Revision: 1.2 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef environmentalStateSetter_h
00016 #define environmentalStateSetter_h
00017 
00018 #include "vrfobjcore/vrfobjcoreDefines.h"
00019 #include <vrfExtObjects/vrfWeatherStateEnums.h>
00020 
00021 class DtEnvironmentalStateManager;
00022 class DtVrfObject;
00023 class DtChangeGlobalWeatherCommand;
00024 
00028 class DT_DLL_vrfobjcore DtEnvironmentalStateSetter
00029 {
00030 private:
00032 
00033    DtEnvironmentalStateSetter();
00034    DtEnvironmentalStateSetter(const DtEnvironmentalStateSetter& orig);
00035    DtEnvironmentalStateSetter& operator==(const DtEnvironmentalStateSetter& orig);
00037 
00038 public:
00039    DtEnvironmentalStateSetter(DtEnvironmentalStateManager* manager);
00040    virtual ~DtEnvironmentalStateSetter();
00041 
00042    virtual bool init();
00043 
00044    virtual void setGlobalEnvironmentObject(DtVrfObject* vrfObject);
00045 
00046    virtual void setAirTurbidity(double value) = 0;
00047    virtual void setCloudState(DtVrfWeatherCloudState value) = 0;
00048    virtual void setPrecipitationIntensity(double value) = 0;
00049    virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current) = 0;
00050    virtual void setWindSpeed(double value) = 0;
00051    virtual void setWindDirection(double value) = 0;
00052    virtual void setVisibility(double value) = 0;
00053    virtual void setTimeOfDay(double secondsPastMidnight) = 0;
00054    virtual void setTimeOfDayAdvancementSpeed(double speed) = 0;
00055 
00056 protected:
00057    DtEnvironmentalStateManager* myEnvironmentalStateManager;
00058    DtVrfObject* myGlobalEnvironmentObject;
00059 };
00060 
00063 class DT_DLL_vrfobjcore DtLocalEnvironmentalStateSetter : public DtEnvironmentalStateSetter
00064 {
00065 public:
00066    DtLocalEnvironmentalStateSetter(DtEnvironmentalStateManager* manager);
00067    virtual ~DtLocalEnvironmentalStateSetter();
00068 
00069    virtual void setAirTurbidity(double value);
00070    virtual void setCloudState(DtVrfWeatherCloudState value);
00071    virtual void setPrecipitationIntensity(double value);
00072    virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current);
00073    virtual void setWindSpeed(double value);
00074    virtual void setWindDirection(double value);
00075    virtual void setVisibility(double value);
00076    virtual void setTimeOfDay(double secondsPastMidnight);
00077    virtual void setTimeOfDayAdvancementSpeed(double speed);
00078 };
00079 
00082 class DT_DLL_vrfobjcore DtRemoteEnvironmentalStateSetter : public DtEnvironmentalStateSetter
00083 {
00084 public:
00085    DtRemoteEnvironmentalStateSetter(DtEnvironmentalStateManager* manager);
00086    virtual ~DtRemoteEnvironmentalStateSetter();
00087 
00088    virtual bool init();
00089 
00090    virtual void setAirTurbidity(double value);
00091    virtual void setCloudState(DtVrfWeatherCloudState value);
00092    virtual void setPrecipitationIntensity(double value);
00093    virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current);
00094    virtual void setWindSpeed(double value);
00095    virtual void setWindDirection(double value);
00096    virtual void setVisibility(double value);
00097    virtual void setTimeOfDay(double secondsPastMidnight);
00098    virtual void setTimeOfDayAdvancementSpeed(double speed);
00099 
00100 protected:
00101    static void tickCallback(void* usr);
00102    virtual void tick();
00103 
00104    DtChangeGlobalWeatherCommand* myChangeCommand;
00105    bool myChangeCommandNeedsSending;
00106 };
00107 
00108 #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)