VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTerrainPatchRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
22 
23 namespace makArchives
24 {
28  {
29  public:
30 
34  {
35  public:
37  DtPageableTerrainPatchRecord(bool isPageable=false, double centerX=-1.0, double centerY = -1.0, double centerZ = -1.0, double radius = -1.0, double pageOutDistance = -1.0);
38 
41 
44 
47 
49  bool operator ==(const DtPageableTerrainPatchRecord& rhs) const;
50 
52  bool operator !=(const DtPageableTerrainPatchRecord& rhs) const;
53 
54  public:
55 
58  void setIsPageable(bool isPageable);
59  bool isPageable() const;
61 
64  void setCenterX(double centerX);
65  double centerX() const;
67 
70  void setCenterY(double centerY);
71  double centerY() const;
73 
76  void setCenterZ(double centerZ);
77  double centerZ() const;
79 
82  void setRadius(double radius);
83  double radius() const;
85 
88  void setPageOutDistance(double pageOutDistance);
89  double pageOutDistance() const;
91 
92  protected:
93 
94  friend class boost::serialization::access;
95 
100  template<class Archive>
101  void serialize(Archive& ar, const unsigned int version)
102  {
103  ar& BOOST_SERIALIZATION_NVP(myIsPageable);
104  ar& BOOST_SERIALIZATION_NVP(myCenterX);
105  ar& BOOST_SERIALIZATION_NVP(myCenterY);
106  ar& BOOST_SERIALIZATION_NVP(myCenterZ);
107  ar& BOOST_SERIALIZATION_NVP(myRadius);
108  ar& BOOST_SERIALIZATION_NVP(myPageOutDistance);
109  }
110 
111  private:
113  double myCenterX;
114  double myCenterY;
115  double myCenterZ;
116  double myRadius;
118  };
119 
120  public:
121 
124 
127 
128  bool operator==(const DtTerrainPatchRecord& orig) const;
129  bool operator!=(const DtTerrainPatchRecord& orig) const;
130 
132  DtTerrainPatchRecord& operator=(const DtTerrainPatchRecord& orig);
133 
136 
137  typedef std::list<DtExtractionOperationRecord> ExtractionOperations;
138  typedef std::list<DtOceanExtractionOperationRecord> OceanExtractionOperations;
139  typedef std::list<DtSpeedTreeExtractionOperationRecord> SpeedTreeExtractionOperations;
140 
142  const DtModelDefinitionRecord& terrainPatchDefinitionRecord() const;
143 
145  DtModelDefinitionRecord& terrainPatchDefinitionRecord();
146 
148  void setTerrainPatchDefinitionRecord(const DtModelDefinitionRecord& rec);
149 
151  const DtSurfaceSettingsRecord& surfaceSettingsRecord() const;
152 
154  void setSurfaceSettingsRecord(const DtSurfaceSettingsRecord& rec);
155 
157  void setOverlaySettingsRecord(const DtOverlaySettingsRecord&);
158 
160  const DtOverlaySettingsRecord& overlaySettingsRecord() const;
161 
163  void setTerrainTreeSettingsRecord(const DtTerrainTreeSettingsRecord&);
164 
166  const DtTerrainTreeSettingsRecord& terrainTreeSettingsRecord() const;
167 
169  const ExtractionOperations& extractionOperations() const;
170 
172  void setExtractionOperations(const ExtractionOperations& ops);
173 
175  const DtPropSettingsRecord& propSettingsRecord() const;
176 
178  void setPropSettingsRecord(const DtPropSettingsRecord& rec);
179 
181  const OceanExtractionOperations& oceanExtractionOperations() const;
182 
184  void setOceanExtractionOperations(const OceanExtractionOperations& ops);
185 
187  const SpeedTreeExtractionOperations& speedTreeExtractionOperations() const;
188 
190  void setSpeedTreeExtractionOperations(const SpeedTreeExtractionOperations& val);
191 
193  void setIsMinimapOnly( bool onlyForMinimap );
194 
196  bool isMinimapOnly() const;
197 
199  void setPageableTerrainPatchRecord(const DtPageableTerrainPatchRecord& pageableTerrainPatchRecord);
200 
202  const DtPageableTerrainPatchRecord& pageableTerrainPatchRecord() const;
203 
205  DtPageableTerrainPatchRecord& pageableTerrainPatchRecord();
206 
207  protected:
208 
210  void updateOverlaySettings(const DtOverlaySettingsRecord_V1&);
211 
212  protected:
213 
214  friend class boost::serialization::access;
215 
219  template<class Archive>
220  void serialize(Archive & ar, const unsigned int version)
221  {
222  ar & BOOST_SERIALIZATION_NVP(myTerrainPatchDefinitionRecord);
223  ar & BOOST_SERIALIZATION_NVP(mySurfaceSettingsRecord);
224 
225  if (version == 0)
226  {
227  DtOverlaySettingsRecord_V1 myOverlaySettingsRecord;
228  ar & BOOST_SERIALIZATION_NVP(myOverlaySettingsRecord);
229  updateOverlaySettings(myOverlaySettingsRecord);
230  }
231  else
232  {
233  ar & BOOST_SERIALIZATION_NVP(myOverlaySettings);
234  }
235  ar & BOOST_SERIALIZATION_NVP(myExtractionOperations);
236  ar & BOOST_SERIALIZATION_NVP(myPropSettings);
237  if ( version >= 2 )
238  {
239  ar & BOOST_SERIALIZATION_NVP(myOceanExtractionOperations);
240  }
241  if ( version >= 3 )
242  {
243  ar & BOOST_SERIALIZATION_NVP(myTerrainTreeSettings);
244  }
245  if (version >= 4)
246  {
247  ar & BOOST_SERIALIZATION_NVP(mySpeedTreeExtractionOperations);
248  }
249  if (version >= 5)
250  {
251  ar & BOOST_SERIALIZATION_NVP(myIsMinimapOnly);
252  }
253  if (version >= 6)
254  {
255  ar & BOOST_SERIALIZATION_NVP(myPageableTerrainPatchRecord);
256  }
257 
258  }
259 
260  protected:
261 
272 
273  };
274 }
275 
277 BOOST_CLASS_VERSION(makArchives::DtTerrainPatchRecord, 6)
278 
DtTerrainTreeSettingsRecord myTerrainTreeSettings
Definition: DtTerrainPatchRecord.h:265
double myCenterX
Definition: DtTerrainPatchRecord.h:113
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
double myCenterZ
Definition: DtTerrainPatchRecord.h:115
double myPageOutDistance
Definition: DtTerrainPatchRecord.h:117
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Contains makVrv::DtSurfaceSettingsRecord class.
Contains makArchives::DtPropSettingsRecord class.
OceanExtractionOperations myOceanExtractionOperations
Definition: DtTerrainPatchRecord.h:268
Record of terrain raster maps, color by elevation state,.
Definition: DtOverlaySettingsRecord_V1.h:23
Contains makVrv::DtExtractionOperationRecord class.
Record of terrain raster layers, color by elevation settings, and contour line settings.
Definition: DtOverlaySettingsRecord.h:213
DtSurfaceSettingsRecord mySurfaceSettingsRecord
Definition: DtTerrainPatchRecord.h:263
Contains DLL export macros.
Record of terrain tree scale and orientation randomization settings.
Definition: DtTerrainTreeSettingsRecord.h:20
A DtModelDefinitionRecord will serialize a terrain patch model definition.
Definition: DtModelDefinitionRecord.h:20
A DtPropSettingsRecord contains the information to restore settings for all scene props...
Definition: DtPropSettingsRecord.h:20
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtTerrainPatchRecord.h:220
DtPageableTerrainPatchRecord myPageableTerrainPatchRecord
Definition: DtTerrainPatchRecord.h:271
DtPropSettingsRecord myPropSettings
Definition: DtTerrainPatchRecord.h:267
Record of pageable terrain patch settings.
Definition: DtTerrainPatchRecord.h:33
SpeedTreeExtractionOperations mySpeedTreeExtractionOperations
Definition: DtTerrainPatchRecord.h:269
Contains makVrv::DtOverlaySettingsRecord class.
Contains makVrv::DtTerrainTreeSettingsRecord class.
std::list< DtExtractionOperationRecord > ExtractionOperations
Definition: DtTerrainPatchRecord.h:137
bool myIsMinimapOnly
Definition: DtTerrainPatchRecord.h:270
bool myIsPageable
Definition: DtTerrainPatchRecord.h:112
std::list< DtSpeedTreeExtractionOperationRecord > SpeedTreeExtractionOperations
Definition: DtTerrainPatchRecord.h:139
DtOverlaySettingsRecord myOverlaySettings
Definition: DtTerrainPatchRecord.h:264
double myRadius
Definition: DtTerrainPatchRecord.h:116
Contains makVrv::DtModelDefinitionRecord class.
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtTerrainPatchRecord.h:101
ExtractionOperations myExtractionOperations
Definition: DtTerrainPatchRecord.h:266
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
std::list< DtOceanExtractionOperationRecord > OceanExtractionOperations
Definition: DtTerrainPatchRecord.h:138
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
A DtTerrainPatchRecord contains the information to construct a single DtTerrainPatch.
Definition: DtTerrainPatchRecord.h:27
Record of which soil/surface types are visible and which are invisible for a particular terrain...
Definition: DtSurfaceSettingsRecord.h:21
Contains makVrv::DtOceanExtractionOperationRecord class.
DtModelDefinitionRecord myTerrainPatchDefinitionRecord
Definition: DtTerrainPatchRecord.h:262
double myCenterY
Definition: DtTerrainPatchRecord.h:114

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)