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

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)