VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/environmentalStateManager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: environmentalStateManager.h,v $ $Revision: 1.4 $ $State: Exp $
00007 ** Created: 5/19/08 MEM
00008 *******************************************************************************/
00009 
00012 
00014 
00015 #ifndef DtEnvironmentalStateManager_H_
00016 #define DtEnvironmentalStateManager_H_
00017 
00018 #include <vlutil/vlString.h>
00019 #include <vrfExtObjects/vrfWeatherStateEnums.h>
00020 #include "vrfobjcore/vrfobjcoreDefines.h"
00021 
00022 class DtSimManager;
00023 class DtVrfObject;
00024 class DtObjectType;
00025 class DtEnvironmentalStateSetter;
00026 class DtChangeGlobalWeatherCommand;
00027 class DtChangeTimeOfDayCommand;
00028 class DtVector;
00029 
00033 class DT_DLL_vrfobjcore DtEnvironmentalStateManager
00034 {
00035 private:
00037 
00038    DtEnvironmentalStateManager(const DtEnvironmentalStateManager & orig);
00039    const DtEnvironmentalStateManager & operator=(const DtEnvironmentalStateManager & 
00040       orig);
00041    DtEnvironmentalStateManager();
00043 
00044 public:
00045 
00047    DtEnvironmentalStateManager(DtSimManager* simManager);
00048 
00050    virtual ~DtEnvironmentalStateManager();
00051 
00052    virtual bool init();
00053 
00054    virtual void tick();
00055 
00056    virtual DtSimManager* simManager();
00057 
00060    virtual bool globalEnvironmentSimulatedLocally() const;
00061 
00066    virtual bool startEnvironmentSimulationLocally();
00067 
00070 
00071    virtual void setAirTurbidity(double factor);
00072    virtual double airTurbidity() const;
00074 
00076 
00077    virtual void setCloudState(DtVrfWeatherCloudState current);
00078    virtual DtVrfWeatherCloudState cloudState() const;
00080 
00082 
00083    virtual void setPrecipitationIntensity(double factor);
00084    virtual double precipitationIntensity() const;
00086 
00088 
00089    virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current);
00090    virtual DtVrfWeatherPrecipitationType precipitationType() const;
00092 
00094 
00095    virtual void setWindSpeed(double value);
00096    virtual double windSpeed() const;
00098 
00100 
00101    virtual void setWindDirection(double value);
00102    virtual double windDirection() const;
00104 
00106 
00107    virtual void setVisibility(double value);
00108    virtual double visibility() const;
00110 
00115 
00116    virtual double illumination(const DtVector& localPosition) const;
00118 
00121    virtual void setGlobalWeather(const DtChangeGlobalWeatherCommand& command);
00122 
00125    virtual void setTimeOfDay(double secondsPastMidnight);
00126    virtual void setTimeOfDay(const DtChangeTimeOfDayCommand& command);
00127    virtual double timeOfDay() const;
00128 
00130    virtual void setTimeOfDayAdvancementSpeed(double speed);
00131    virtual void setTimeOfDayAdvancementSpeed(const DtChangeTimeOfDayCommand& command);
00132    virtual double timeOfDayAdvancementSpeed() const;  
00133 
00134 protected:
00135    static void objectAddedCallback(DtVrfObject* object, void* usr);
00136    virtual void processObjectAdded(DtVrfObject* object);
00137 
00138    static void objectRemovedCallback(DtVrfObject* object, void* usr);
00139    virtual void processObjectRemoved(DtVrfObject* object);
00140 
00144    virtual void createGlobalEnvironmentObject();
00145 
00148    virtual DtObjectType globalEnvironmentObjectType() const;
00149 
00151    virtual DtEnvironmentalStateSetter* createLocalEnvironmentalStateSetter();
00153    virtual DtEnvironmentalStateSetter* createRemoteEnvironmentalStateSetter();
00154 
00155 protected:
00156    DtSimManager* mySimManager;
00157 
00158    DtVrfObject* myGlobalEnvironmentObject;
00159    DtEnvironmentalStateSetter* myEnvironmentalStateSetter;
00160 
00161    bool myFirstTick;
00162 };
00163 
00164 #endif
00165 

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)