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

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)