VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 /******************************************************************************
6 ** $RCSfile: DtOverlaySettingsRecord.h,v $ $Revision: 1.10 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtOverlaySettingsRecord_H_
14 #define DtOverlaySettingsRecord_H_
15 
16 #include <makArchives/makArchives.h>
17 
18 #include <string>
19 #include <vector>
20 
21 namespace makArchives
22 {
23 
28  {
29 
30  public:
31 
32  DtGradientControlPoint(double location, double red, double green, double blue, double alpha)
33  : myLocation(location)
34  , myRed(red)
35  , myGreen(green)
36  , myBlue(blue)
37  , myAlpha(alpha)
38  {
39  }
40 
42  : myLocation(0)
43  , myRed(0)
44  , myGreen(0)
45  , myBlue(0)
46  , myAlpha(0)
47  {
48  }
49 
50  inline double location() const
51  {
52  return myLocation;
53  }
54 
55  inline double red() const
56  {
57  return myRed;
58  }
59 
60  inline double green() const
61  {
62  return myGreen;
63  }
64 
65  inline double blue() const
66  {
67  return myBlue;
68  }
69 
70  inline double alpha() const
71  {
72  return myAlpha;
73  }
74 
75  inline void getColor(float& r, float& g, float& b, float& a) const
76  {
77  r = static_cast<float>(myRed);
78  g = static_cast<float>(myGreen);
79  b = static_cast<float>(myBlue);
80  a = static_cast<float>(myAlpha);
81  }
82 
83  protected:
84 
85  friend class boost::serialization::access;
86 
90  template<class Archive>
91  void serialize(Archive & ar, const unsigned int version)
92  {
93  ar & BOOST_SERIALIZATION_NVP(myLocation);
94  ar & BOOST_SERIALIZATION_NVP(myRed);
95  ar & BOOST_SERIALIZATION_NVP(myGreen);
96  ar & BOOST_SERIALIZATION_NVP(myBlue);
97  ar & BOOST_SERIALIZATION_NVP(myAlpha);
98  }
99 
100  protected:
101  double myLocation;
102  double myRed;
103  double myGreen;
104  double myBlue;
105  double myAlpha;
106 
107  };
108 
112  {
113  public:
114 
117 
120 
122  DtRasterLayerRecord& operator=(const DtRasterLayerRecord& orig);
123 
126 
127  public:
129 
130  void setEnabled(bool);
131  bool enabled() const;
132 
133  void setName(const std::string&);
134  const std::string& name() const;
135 
136  void setFilename(const std::string&);
137  const std::string& filename() const;
138 
139  void setWrapMode(char);
140  char wrapMode() const;
141 
142  void setBlendMode(char);
143  char blendMode() const;
144 
145  void setTransformIsSet(bool);
146  bool transformIsSet() const;
147 
148  void setScale(double x, double y);
149  void scale(double& x, double& y) const;
150 
151  void setOffset(double x, double y);
152  void offset(double& x, double& y) const;
153 
154  void setRasterOperation(int);
155  int rasterOperation() const;
157 
158  protected:
159 
160  friend class boost::serialization::access;
161 
165  template<class Archive>
166  void serialize(Archive & ar, const unsigned int version)
167  {
168  ar & BOOST_SERIALIZATION_NVP(myEnabled);
169  ar & BOOST_SERIALIZATION_NVP(myName);
170  ar & BOOST_SERIALIZATION_NVP(myFilename);
171  ar & BOOST_SERIALIZATION_NVP(myWrapMode);
172  ar & BOOST_SERIALIZATION_NVP(myBlendMode);
173  ar & BOOST_SERIALIZATION_NVP(myTransformIsSet);
174  ar & BOOST_SERIALIZATION_NVP(myScaleX);
175  ar & BOOST_SERIALIZATION_NVP(myScaleY);
176  ar & BOOST_SERIALIZATION_NVP(myOffsetX);
177  ar & BOOST_SERIALIZATION_NVP(myOffsetY);
178  }
179 
180  protected:
181  bool myEnabled;
182  std::string myFilename;
183  std::string myName;
187  double myScaleX;
188  double myScaleY;
189  double myOffsetX;
190  double myOffsetY;
191 
194  };
195 
200  {
201 
202  public:
203 
206 
209 
211  DtOverlaySettingsRecord& operator=(const DtOverlaySettingsRecord& orig);
212 
214  virtual ~DtOverlaySettingsRecord();
215 
216  typedef std::vector<DtGradientControlPoint> ControlPointList;
217 
218 
220 
221 
223  bool baseSourceEnabled() const;
224 
226  void setBaseSourceEnabled(bool enabled);
228 
230 
231 
232  void addRasterLayer(const DtRasterLayerRecord& rec);
233 
236  std::string addRasterLayer(const std::string& name = "");
237 
240  bool removeRasterLayer(const std::string& name);
241 
243  void insertRasterLayerRecord(const DtRasterLayerRecord&, int iIndex);
244 
247  int moveRasterLayer(const std::string& raster, int iBy);
248 
251  virtual bool renameRasterLayer(const std::string& oldName, const std::string& newName);
252 
255  bool hasRasterLayer(const std::string& name) const;
256 
258  DtRasterLayerRecord rasterLayerRecord(const std::string& name) const;
259 
262  int rasterLayerIndex(const std::string& name) const;
263 
265  const DtRasterLayerRecord& rasterLayerRecord(int) const;
266  DtRasterLayerRecord& rasterLayerRecord(int);
267 
269  int numRasterLayers() const;
270 
271  void setEnabled(const std::string& raster, bool);
272  bool enabled(const std::string& raster) const;
273 
274  void setName(const std::string& raster, const std::string&);
275  std::string name(const std::string& raster) const;
276 
277  void setFilename(const std::string& raster, const std::string&);
278  std::string filename(const std::string& raster) const;
279 
280  void setRasterOperation(const std::string& raster, int);
281  int rasterOperation(const std::string&) const;
282 
283  void setWrapMode(const std::string& raster, char);
284  char wrapMode(const std::string& raster) const;
285 
286  void setBlendMode(const std::string& raster, char);
287  char blendMode(const std::string& raster) const;
288 
289  void setTransformIsSet(const std::string& raster, bool);
290  bool transformIsSet(const std::string& raster) const;
291 
292  void setScale(const std::string& raster, double x, double y);
293  void scale(const std::string& raster, double& x, double& y) const;
294 
295  void setOffset(const std::string& raster, double x, double y);
296  void offset(const std::string& raster, double& x, double& y) const;
297 
299 
301 
302 
304  bool contourEnabled() const;
305 
307  bool contourIntermediateLinesEnabled() const;
308 
310  double contourInterval() const;
311 
313  double contourThickness() const;
314 
316  void setContourEnabled(bool enabled);
317 
319  void setContourIntermediateLinesEnabled(bool enabled);
320 
322  void setContourInterval(double interval);
323 
325  void setContourThickness(double thickness);
327 
329 
330 
332  bool elevationEnabled() const;
333 
335  const DtOverlaySettingsRecord::ControlPointList& elevationGradient() const;
336 
338  void setElevationEnabled(bool enabled);
339 
341  void setElevationGradient(const DtOverlaySettingsRecord::ControlPointList& gradient);
342 
344 
345  protected:
346 
347  friend class boost::serialization::access;
348 
352  template<class Archive>
353  void serialize(Archive & ar, const unsigned int version)
354  {
355  ar & BOOST_SERIALIZATION_NVP(myBaseSourceEnabled);
356  ar & BOOST_SERIALIZATION_NVP(myContourEnabled);
357  ar & BOOST_SERIALIZATION_NVP(myContourIntermediateLinesEnabled);
358  ar & BOOST_SERIALIZATION_NVP(myContourInterval);
359  ar & BOOST_SERIALIZATION_NVP(myContourThickness);
360  ar & BOOST_SERIALIZATION_NVP(myElevationEnabled);
361  ar & BOOST_SERIALIZATION_NVP(myElevationGradient);
362  ar & BOOST_SERIALIZATION_NVP(myRasterLayerRecords);
363  }
364 
365 
366  protected:
367 
375  std::vector<DtRasterLayerRecord> myRasterLayerRecords;
376  };
377 }
378 
380 
381 #endif
382 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)