![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEnvironmentRecord.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtEnvironmentRecord_H_ 00014 #define DtEnvironmentRecord_H_ 00015 00016 #include <makArchives/makArchives.h> 00017 #include <makArchives/DtCloudLayerRecord.h> 00018 #include <vector> 00019 00020 namespace makArchives 00021 { 00025 class DT_DLL_MAKARCHIVES DtEnvironmentRecord 00026 { 00027 public: 00028 00029 typedef std::vector<DtCloudLayerRecord> CloudLayerRecordList; 00030 00032 DtEnvironmentRecord(); 00033 00035 DtEnvironmentRecord(const DtEnvironmentRecord& orig); 00036 00038 DtEnvironmentRecord& operator=(const DtEnvironmentRecord& orig); 00039 00041 ~DtEnvironmentRecord(); 00042 00043 void setAirTurbidity(float turbidity); 00044 float airTurbidity() const; 00045 00046 void setVisibleDistance(float distance); 00047 float visibleDistance() const; 00048 00049 void setPrecipitationEnabled(bool enabled); 00050 bool precipitationEnabled() const; 00051 00052 void setPrecipitationType(const std::string& type); 00053 const std::string& precipitationType() const; 00054 00055 void setPrecipitationIntensity(float intensity); 00056 float precipitationIntensity() const; 00057 00058 CloudLayerRecordList& cloudLayers(); 00059 const CloudLayerRecordList& cloudLayers() const; 00060 00061 protected: 00062 00063 friend class boost::serialization::access; 00064 00068 template<class Archive> 00069 void serialize(Archive & ar, const unsigned int version) 00070 { 00071 ar & BOOST_SERIALIZATION_NVP(myAirTurbidity); 00072 ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance); 00073 ar & BOOST_SERIALIZATION_NVP(myPrecipitationEnabledFlag); 00074 ar & BOOST_SERIALIZATION_NVP(myPrecipitationType); 00075 ar & BOOST_SERIALIZATION_NVP(myPrecipitationIntensity); 00076 ar & BOOST_SERIALIZATION_NVP(myCloudLayers); 00077 00078 } 00079 00080 float myAirTurbidity; 00081 float myVisibilityDistance; 00082 bool myPrecipitationEnabledFlag; 00083 std::string myPrecipitationType; 00084 float myPrecipitationIntensity; 00085 CloudLayerRecordList myCloudLayers; 00086 00087 }; 00088 } 00089 00090 #endif 00091