VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlaySettingsRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtOverlaySettingsRecord_H_
11 #define DtOverlaySettingsRecord_H_
12 
13 #include <makArchives/makArchives.h>
14 
15 #include <string>
16 #include <vector>
17 
18 namespace makArchives
19 {
20 
25  {
26 
27  public:
28 
29  DtGradientControlPoint(double location, double red, double green, double blue, double alpha)
30  : myLocation(location)
31  , myRed(red)
32  , myGreen(green)
33  , myBlue(blue)
34  , myAlpha(alpha)
35  {
36  }
37 
39  : myLocation(0)
40  , myRed(0)
41  , myGreen(0)
42  , myBlue(0)
43  , myAlpha(0)
44  {
45  }
46 
47  inline bool operator==(const DtGradientControlPoint&c2) const
48  {
49  return (myLocation == c2.myLocation
50  && myRed == c2.myRed
51  && myGreen == c2.myGreen
52  && myBlue == c2.myBlue
53  && myAlpha == c2.myAlpha);
54  }
55 
56  inline bool operator!=(const DtGradientControlPoint&c2) const
57  {
58  return !(*this == c2);
59  }
60 
61  inline double location() const
62  {
63  return myLocation;
64  }
65 
66  inline double red() const
67  {
68  return myRed;
69  }
70 
71  inline double green() const
72  {
73  return myGreen;
74  }
75 
76  inline double blue() const
77  {
78  return myBlue;
79  }
80 
81  inline double alpha() const
82  {
83  return myAlpha;
84  }
85 
86  inline void getColor(float& r, float& g, float& b, float& a) const
87  {
88  r = static_cast<float>(myRed);
89  g = static_cast<float>(myGreen);
90  b = static_cast<float>(myBlue);
91  a = static_cast<float>(myAlpha);
92  }
93 
94  protected:
95 
96  friend class boost::serialization::access;
97 
101  template<class Archive>
102  void serialize(Archive & ar, const unsigned int version)
103  {
104  ar & BOOST_SERIALIZATION_NVP(myLocation);
105  ar & BOOST_SERIALIZATION_NVP(myRed);
106  ar & BOOST_SERIALIZATION_NVP(myGreen);
107  ar & BOOST_SERIALIZATION_NVP(myBlue);
108  ar & BOOST_SERIALIZATION_NVP(myAlpha);
109  }
110 
111  protected:
112  double myLocation;
113  double myRed;
114  double myGreen;
115  double myBlue;
116  double myAlpha;
117 
118  };
119 
123  {
124  public:
125 
128 
131 
132  bool operator==(const DtRasterLayerRecord& orig) const;
133  bool operator!=(const DtRasterLayerRecord& orig) const;
134 
136  DtRasterLayerRecord& operator=(const DtRasterLayerRecord& orig);
137 
140 
141  public:
143 
144  void setEnabled(bool);
145  bool enabled() const;
146 
147  void setName(const std::string&);
148  const std::string& name() const;
149 
150  void setFilename(const std::string&);
151  const std::string& filename() const;
152 
153  void setWrapMode(char);
154  char wrapMode() const;
155 
156  void setBlendMode(char);
157  char blendMode() const;
158 
159  void setTransformIsSet(bool);
160  bool transformIsSet() const;
161 
162  void setScale(double x, double y);
163  void scale(double& x, double& y) const;
164 
165  void setOffset(double x, double y);
166  void offset(double& x, double& y) const;
167 
168  void setRasterOperation(int);
169  int rasterOperation() const;
171 
172  protected:
173 
174  friend class boost::serialization::access;
175 
179  template<class Archive>
180  void serialize(Archive & ar, const unsigned int version)
181  {
182  ar & BOOST_SERIALIZATION_NVP(myEnabled);
183  ar & BOOST_SERIALIZATION_NVP(myName);
184  ar & BOOST_SERIALIZATION_NVP(myFilename);
185  ar & BOOST_SERIALIZATION_NVP(myWrapMode);
186  ar & BOOST_SERIALIZATION_NVP(myBlendMode);
187  ar & BOOST_SERIALIZATION_NVP(myTransformIsSet);
188  ar & BOOST_SERIALIZATION_NVP(myScaleX);
189  ar & BOOST_SERIALIZATION_NVP(myScaleY);
190  ar & BOOST_SERIALIZATION_NVP(myOffsetX);
191  ar & BOOST_SERIALIZATION_NVP(myOffsetY);
192  }
193 
194  protected:
195  bool myEnabled;
196  std::string myFilename;
197  std::string myName;
201  double myScaleX;
202  double myScaleY;
203  double myOffsetX;
204  double myOffsetY;
205 
208  };
209 
214  {
215 
216  public:
217 
220 
223 
224  bool operator==(const DtOverlaySettingsRecord& orig) const;
225  bool operator!=(const DtOverlaySettingsRecord& orig) const;
226 
228  DtOverlaySettingsRecord& operator=(const DtOverlaySettingsRecord& orig);
229 
231  virtual ~DtOverlaySettingsRecord();
232 
233  typedef std::vector<DtGradientControlPoint> ControlPointList;
234 
235 
237 
238 
240  bool baseSourceEnabled() const;
241 
243  void setBaseSourceEnabled(bool enabled);
245 
247 
248  void addRasterLayer(const DtRasterLayerRecord& rec);
250 
253  std::string addRasterLayer(const std::string& name = "");
254 
257  bool removeRasterLayer(const std::string& name);
258 
260  void insertRasterLayerRecord(const DtRasterLayerRecord&, int iIndex);
261 
264  int moveRasterLayer(const std::string& raster, int iBy);
265 
268  virtual bool renameRasterLayer(const std::string& oldName, const std::string& newName);
269 
272  bool hasRasterLayer(const std::string& name) const;
273 
275  DtRasterLayerRecord rasterLayerRecord(const std::string& name) const;
276 
279  int rasterLayerIndex(const std::string& name) const;
280 
282  const DtRasterLayerRecord& rasterLayerRecord(int) const;
283  DtRasterLayerRecord& rasterLayerRecord(int);
284 
286  int numRasterLayers() const;
287 
288  void setEnabled(const std::string& raster, bool);
289  bool enabled(const std::string& raster) const;
290 
291  void setName(const std::string& raster, const std::string&);
292  std::string name(const std::string& raster) const;
293 
294  void setFilename(const std::string& raster, const std::string&);
295  std::string filename(const std::string& raster) const;
296 
297  void setRasterOperation(const std::string& raster, int);
298  int rasterOperation(const std::string&) const;
299 
300  void setWrapMode(const std::string& raster, char);
301  char wrapMode(const std::string& raster) const;
302 
303  void setBlendMode(const std::string& raster, char);
304  char blendMode(const std::string& raster) const;
305 
306  void setTransformIsSet(const std::string& raster, bool);
307  bool transformIsSet(const std::string& raster) const;
308 
309  void setScale(const std::string& raster, double x, double y);
310  void scale(const std::string& raster, double& x, double& y) const;
311 
312  void setOffset(const std::string& raster, double x, double y);
313  void offset(const std::string& raster, double& x, double& y) const;
314 
316 
318 
319 
321  bool contourEnabled() const;
322 
324  bool contourIntermediateLinesEnabled() const;
325 
327  double contourInterval() const;
328 
330  double contourThickness() const;
331 
333  void setContourEnabled(bool enabled);
334 
336  void setContourIntermediateLinesEnabled(bool enabled);
337 
339  void setContourInterval(double interval);
340 
342  void setContourThickness(double thickness);
344 
346 
347 
349  bool elevationEnabled() const;
350 
352  const DtOverlaySettingsRecord::ControlPointList& elevationGradient() const;
353 
355  void setElevationEnabled(bool enabled);
356 
358  void setElevationGradient(const DtOverlaySettingsRecord::ControlPointList& gradient);
359 
361 
362  protected:
363 
364  friend class boost::serialization::access;
365 
369  template<class Archive>
370  void serialize(Archive & ar, const unsigned int version)
371  {
372  ar & BOOST_SERIALIZATION_NVP(myBaseSourceEnabled);
373  ar & BOOST_SERIALIZATION_NVP(myContourEnabled);
374  ar & BOOST_SERIALIZATION_NVP(myContourIntermediateLinesEnabled);
375  ar & BOOST_SERIALIZATION_NVP(myContourInterval);
376  ar & BOOST_SERIALIZATION_NVP(myContourThickness);
377  ar & BOOST_SERIALIZATION_NVP(myElevationEnabled);
378  ar & BOOST_SERIALIZATION_NVP(myElevationGradient);
379  ar & BOOST_SERIALIZATION_NVP(myRasterLayerRecords);
380  }
381 
382 
383  protected:
384 
392  std::vector<DtRasterLayerRecord> myRasterLayerRecords;
393  };
394 }
395 
397 
398 #endif
399 
bool myBaseSourceEnabled
Definition: DtOverlaySettingsRecord.h:385
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myEnabled
Definition: DtOverlaySettingsRecord.h:195
DtGradientControlPoint()
Definition: DtOverlaySettingsRecord.h:38
bool myContourIntermediateLinesEnabled
Definition: DtOverlaySettingsRecord.h:387
double myContourThickness
Definition: DtOverlaySettingsRecord.h:389
const char * filename
Definition: ioapi.h:38
double alpha() const
Definition: DtOverlaySettingsRecord.h:81
int myRasterOperation
This value does not get saved out.
Definition: DtOverlaySettingsRecord.h:207
char myBlendMode
Definition: DtOverlaySettingsRecord.h:199
double myGreen
Definition: DtOverlaySettingsRecord.h:114
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
bool myTransformIsSet
Definition: DtOverlaySettingsRecord.h:200
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: DtOverlaySettingsRecord.h:180
bool myContourEnabled
Definition: DtOverlaySettingsRecord.h:386
double myOffsetX
Definition: DtOverlaySettingsRecord.h:203
Record of terrain raster layers, color by elevation settings, and contour line settings.
Definition: DtOverlaySettingsRecord.h:213
Contains DLL export macros.
double myContourInterval
Definition: DtOverlaySettingsRecord.h:388
double myScaleX
Definition: DtOverlaySettingsRecord.h:201
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: DtOverlaySettingsRecord.h:370
double myOffsetY
Definition: DtOverlaySettingsRecord.h:204
double green() const
Definition: DtOverlaySettingsRecord.h:71
double myScaleY
Definition: DtOverlaySettingsRecord.h:202
std::string myName
Definition: DtOverlaySettingsRecord.h:197
Record of a single raster image layer applied to a terrain.
Definition: DtOverlaySettingsRecord.h:122
Record of a single control point used to generate.
Definition: DtOverlaySettingsRecord.h:24
double myLocation
Definition: DtOverlaySettingsRecord.h:112
std::string myFilename
Definition: DtOverlaySettingsRecord.h:196
std::vector< DtRasterLayerRecord > myRasterLayerRecords
Definition: DtOverlaySettingsRecord.h:392
ControlPointList myElevationGradient
Definition: DtOverlaySettingsRecord.h:391
char myWrapMode
Definition: DtOverlaySettingsRecord.h:198
double myBlue
Definition: DtOverlaySettingsRecord.h:115
std::vector< DtGradientControlPoint > ControlPointList
Definition: DtOverlaySettingsRecord.h:233
void getColor(float &r, float &g, float &b, float &a) const
Definition: DtOverlaySettingsRecord.h:86
double myRed
Definition: DtOverlaySettingsRecord.h:113
bool myElevationEnabled
Definition: DtOverlaySettingsRecord.h:390
bool operator==(const DtGradientControlPoint &c2) const
Definition: DtOverlaySettingsRecord.h:47
DtGradientControlPoint(double location, double red, double green, double blue, double alpha)
Definition: DtOverlaySettingsRecord.h:29
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
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: DtOverlaySettingsRecord.h:102
double red() const
Definition: DtOverlaySettingsRecord.h:66
voidpf uLong offset
Definition: ioapi.h:42
double blue() const
Definition: DtOverlaySettingsRecord.h:76
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
double myAlpha
Definition: DtOverlaySettingsRecord.h:116
double location() const
Definition: DtOverlaySettingsRecord.h:61
bool operator!=(const DtGradientControlPoint &c2) const
Definition: DtOverlaySettingsRecord.h:56

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)