![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtTerrainRecord.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtTerrainRecord_H_ 00014 #define DtTerrainRecord_H_ 00015 00016 #include <makArchives/makArchives.h> 00017 #include <makArchives/DtTerrainPatchRecord.h> 00018 #include <makArchives/DtTerrainOperationRecord.h> 00019 #include <makArchives/DtFeatureLayerRecord.h> 00020 #include <makArchives/DtGenericTerrainRecord.h> 00021 00022 namespace makArchives 00023 { 00032 class DT_DLL_MAKARCHIVES DtTerrainRecord 00033 { 00034 public: 00035 00036 typedef std::list<DtTerrainPatchRecord> TerrainPatchRecords; 00037 typedef std::list<DtFeatureLayerRecord> FeatureLayerRecords; 00038 typedef std::list<DtGenericTerrainRecord> GenericRecords; 00039 typedef std::list<DtTerrainOperationRecord> TerrainOperations; 00040 00041 00043 DtTerrainRecord(); 00044 00046 DtTerrainRecord(const DtTerrainRecord& orig); 00047 00049 DtTerrainRecord& operator=(const DtTerrainRecord& orig); 00050 00052 ~DtTerrainRecord(); 00053 00054 00056 const std::string& coordinateSystem() const; 00057 00059 const std::string& coordinateSystemParameters() const; 00060 00062 void setCoordinateSystem(const std::string& cs); 00063 00066 void setCoordinateSystemParameters(const std::string& csp); 00067 00068 00070 TerrainPatchRecords& terrainPatchRecords(); 00071 00073 const TerrainPatchRecords& terrainPatchRecords() const; 00074 00076 FeatureLayerRecords& featureLayerRecords(); 00077 00079 const FeatureLayerRecords& featureLayerRecords() const; 00080 00082 void setFeatureLayerRecords(const FeatureLayerRecords& records); 00083 00085 GenericRecords& genericRecords(); 00086 00088 const GenericRecords& genericRecords() const; 00089 00091 void setGenericRecords(const GenericRecords& records); 00092 00094 const TerrainOperations& terrainOperations() const; 00095 00097 void setTerrainOperations(const TerrainOperations& operations); 00098 00099 protected: 00100 00101 friend class boost::serialization::access; 00102 00106 template<class Archive> 00107 void serialize(Archive & ar, const unsigned int version) 00108 { 00109 ar & BOOST_SERIALIZATION_NVP(myCoordinateSystem); 00110 ar & BOOST_SERIALIZATION_NVP(myCoordinateSystemParameters); 00111 ar & BOOST_SERIALIZATION_NVP(myTerrainPatchRecords); 00112 ar & BOOST_SERIALIZATION_NVP(myFeatureLayerRecords); 00113 00114 if (version > 0) 00115 { 00116 ar & BOOST_SERIALIZATION_NVP(myGenericRecords); 00117 } 00118 00119 ar & BOOST_SERIALIZATION_NVP(myTerrainOperations); 00120 } 00121 00122 protected: 00123 00124 std::string myCoordinateSystem; 00125 std::string myCoordinateSystemParameters; 00126 TerrainPatchRecords myTerrainPatchRecords; 00127 FeatureLayerRecords myFeatureLayerRecords; 00128 GenericRecords myGenericRecords; 00129 TerrainOperations myTerrainOperations; 00130 00131 }; 00132 } 00133 00134 BOOST_CLASS_VERSION(makArchives::DtTerrainRecord, 1) 00135 00136 #endif 00137