![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtSkyConditionRecord.h,v $ $Revision: 1.1.2.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <makArchives/makArchives.h> 00016 #include <makArchives/DtCloudLayerRecord.h> 00017 00018 namespace makArchives 00019 { 00023 class DT_DLL_MAKARCHIVES DtSkyConditionRecord 00024 { 00025 public: 00026 00027 typedef std::vector<makArchives::DtCloudLayerRecord> DtCloudRecordList; 00028 00030 DtSkyConditionRecord(); 00031 00033 DtSkyConditionRecord(std::string name); 00034 00036 DtSkyConditionRecord(const DtSkyConditionRecord& orig); 00037 00039 DtSkyConditionRecord& operator=(const DtSkyConditionRecord& orig); 00040 00042 bool operator==(const DtSkyConditionRecord& orig) const; 00043 00045 ~DtSkyConditionRecord(); 00046 00048 virtual std::string skyConditionName() const; 00049 00051 virtual const DtCloudRecordList& cloudRecordList() const; 00052 00054 virtual void setCloudRecordList(const DtCloudRecordList& records); 00055 00057 virtual void setSkyConditionName(const std::string& name); 00058 00060 virtual void addCloudRecord(const makArchives::DtCloudLayerRecord& rec); 00061 00063 virtual bool hasClouds(DtCloudRecordList& cloudList) const; 00064 00065 protected: 00066 00067 friend class boost::serialization::access; 00068 00072 template<class Archive> 00073 void serialize(Archive & ar, const unsigned int version) 00074 { 00075 ar & BOOST_SERIALIZATION_NVP(mySkyConditionName); 00076 ar & BOOST_SERIALIZATION_NVP(myCloudList); 00077 } 00078 00079 protected: 00080 00081 std::string mySkyConditionName; 00082 DtCloudRecordList myCloudList; 00083 }; 00084 } 00085 00086