![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtTerrainPatchRecord.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtTerrainPatchRecord_H_ 00014 #define DtTerrainPatchRecord_H_ 00015 00016 #include <makArchives/makArchives.h> 00017 #include <makArchives/DtModelDefinitionRecord.h> 00018 #include <makArchives/DtSurfaceSettingsRecord.h> 00019 #include <makArchives/DtOverlaySettingsRecord.h> 00020 #include <makArchives/DtOverlaySettingsRecord_V1.h> 00021 #include <makArchives/DtExtractionOperationRecord.h> 00022 #include <makArchives/DtPropSettingsRecord.h> 00023 00024 00025 namespace makArchives 00026 { 00029 class DT_DLL_MAKARCHIVES DtTerrainPatchRecord 00030 { 00031 public: 00032 00034 DtTerrainPatchRecord(); 00035 00037 DtTerrainPatchRecord(const DtTerrainPatchRecord& orig); 00038 00040 DtTerrainPatchRecord& operator=(const DtTerrainPatchRecord& orig); 00041 00043 ~DtTerrainPatchRecord(); 00044 00045 typedef std::list<DtExtractionOperationRecord> ExtractionOperations; 00046 00048 const DtModelDefinitionRecord& terrainPatchDefinitionRecord() const; 00049 00051 void setTerrainPatchDefinitionRecord(const DtModelDefinitionRecord& rec); 00052 00054 const DtSurfaceSettingsRecord& surfaceSettingsRecord() const; 00055 00057 void setSurfaceSettingsRecord(const DtSurfaceSettingsRecord& rec); 00058 00060 void setOverlaySettingsRecord(const DtOverlaySettingsRecord&); 00061 00063 const DtOverlaySettingsRecord& overlaySettingsRecord() const; 00064 00066 const ExtractionOperations& extractionOperations() const; 00067 00069 void setExtractionOperations(const ExtractionOperations& ops); 00070 00072 const DtPropSettingsRecord& propSettingsRecord() const; 00073 00075 void setPropSettingsRecord(const DtPropSettingsRecord& rec); 00076 00077 protected: 00078 00080 void updateOverlaySettings(const DtOverlaySettingsRecord_V1&); 00081 00082 protected: 00083 00084 friend class boost::serialization::access; 00085 00089 template<class Archive> 00090 void serialize(Archive & ar, const unsigned int version) 00091 { 00092 ar & BOOST_SERIALIZATION_NVP(myTerrainPatchDefinitionRecord); 00093 ar & BOOST_SERIALIZATION_NVP(mySurfaceSettingsRecord); 00094 00095 if (version == 0) 00096 { 00097 DtOverlaySettingsRecord_V1 myOverlaySettingsRecord; 00098 ar & BOOST_SERIALIZATION_NVP(myOverlaySettingsRecord); 00099 updateOverlaySettings(myOverlaySettingsRecord); 00100 } 00101 else 00102 { 00103 ar & BOOST_SERIALIZATION_NVP(myOverlaySettings); 00104 } 00105 ar & BOOST_SERIALIZATION_NVP(myExtractionOperations); 00106 ar & BOOST_SERIALIZATION_NVP(myPropSettings); 00107 } 00108 00109 protected: 00110 00111 DtModelDefinitionRecord myTerrainPatchDefinitionRecord; 00112 DtSurfaceSettingsRecord mySurfaceSettingsRecord; 00113 DtOverlaySettingsRecord myOverlaySettings; 00114 ExtractionOperations myExtractionOperations; 00115 DtPropSettingsRecord myPropSettings; 00116 }; 00117 } 00118 00119 BOOST_CLASS_VERSION(makArchives::DtTerrainPatchRecord, 1) 00120 00121 #endif 00122