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

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)