VR-Forces 4.1.1 Class Documentation
DtGridLinesSettingsRecord.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
14 
15 namespace makVrv
16 {
17  class DtGridLinesSettingsManager;
18 }
19 
20 namespace makArchives
21 {
22 
26  {
27  public:
28 
30 
33 
36 
39 
41  DtGridLinesSettingsRecord& operator = ( const DtGridLinesSettingsRecord& orig );
42 
45 
50 
52 
55 
58  bool unitTypeIsAngular() const;
59 
68 
74 
76 
79 
81  bool autoSpacing() const;
83  void setAutoSpacing( bool autoSpacing );
84 
87  int minSpacing() const;
90  void setMinSpacing( int pixels );
91 
93  double fixedSpacing( DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
95  void setFixedSpacing( DtDisplayUnitsSettingsRecord::DistanceUnits unit, double spacing );
96 
98  double fixedSpacing( DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
100  void setFixedSpacing( DtDisplayUnitsSettingsRecord::OrientationUnits unit, double spacing );
101 
103 
106 
111 
116 
118 
121 
125  void setXOffset( DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
126 
130  void setYOffset( DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
131 
133 
136 
141 
146 
148 
149  protected:
150 
152  friend class boost::serialization::access;
153 
157  template<class Archive>
158  void serialize( Archive & ar, const unsigned int version )
159  {
160  ar & BOOST_SERIALIZATION_NVP(myAutoSpacing);
161  if ( version == 0 )
162  {
163  ar & BOOST_SERIALIZATION_NVP(myFixedSpacingAmountMeters);
164  ar & BOOST_SERIALIZATION_NVP(myFixedSpacingAmountFeet);
165  ar & BOOST_SERIALIZATION_NVP(myFixedSpacingAmountDegrees);
166  }
167  ar & BOOST_SERIALIZATION_NVP(myMinSpacing);
168  if ( version == 0 )
169  {
170  ar & BOOST_SERIALIZATION_NVP(myGridType);
171  ar & BOOST_SERIALIZATION_NVP(myXOffsetMeters);
172  ar & BOOST_SERIALIZATION_NVP(myXOffsetFeet);
173  ar & BOOST_SERIALIZATION_NVP(myXOffsetDegrees);
174  ar & BOOST_SERIALIZATION_NVP(myYOffsetMeters);
175  ar & BOOST_SERIALIZATION_NVP(myYOffsetFeet);
176  ar & BOOST_SERIALIZATION_NVP(myYOffsetDegrees);
177  ar & BOOST_SERIALIZATION_NVP(myMilGridPrecision);
178  ar & BOOST_SERIALIZATION_NVP(myDecimalPlaces);
179  }
180  if ( version >= 1 )
181  {
182  ar & BOOST_SERIALIZATION_NVP(myCoordSysType);
183  ar & BOOST_SERIALIZATION_NVP(myUnitTypeIsAngular);
184  ar & BOOST_SERIALIZATION_NVP(myUnitType);
185  ar & BOOST_SERIALIZATION_NVP(myAngularUnitType);
186  ar & BOOST_SERIALIZATION_NVP(myFixedSpacingMap);
187  ar & BOOST_SERIALIZATION_NVP(myXOffsetMap);
188  ar & BOOST_SERIALIZATION_NVP(myYOffsetMap);
189  ar & BOOST_SERIALIZATION_NVP(myDecimalPlacesMap);
190  ar & BOOST_SERIALIZATION_NVP(myFixedAngularSpacingMap);
191  ar & BOOST_SERIALIZATION_NVP(myLongitudeOffsetMap);
192  ar & BOOST_SERIALIZATION_NVP(myLatitudeOffsetMap);
193  ar & BOOST_SERIALIZATION_NVP(myAngularDecimalPlacesMap);
194  }
195  }
196 
197  protected:
198 
199  typedef std::map<DtDisplayUnitsSettingsRecord::DistanceUnits,double> DistanceUnitFixedSpacingMap;
200  typedef std::map<DtDisplayUnitsSettingsRecord::DistanceUnits,double> DistanceUnitOffsetMap;
201  typedef std::map<DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned> DistanceUnitDecimalPlacesMap;
202  typedef std::map<DtDisplayUnitsSettingsRecord::OrientationUnits,double> AngularUnitFixedSpacingMap;
203  typedef std::map<DtDisplayUnitsSettingsRecord::OrientationUnits,double> AngularUnitOffsetMap;
204  typedef std::map<DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned> AngularUnitDecimalPlacesMap;
205 
206  const DistanceUnitFixedSpacingMap& fixedSpacingMap() const;
207  const DistanceUnitOffsetMap& xOffsetMap() const;
208  const DistanceUnitOffsetMap& yOffsetMap() const;
209  const DistanceUnitDecimalPlacesMap& decimalPlacesMap() const;
210 
211  void setFixedSpacings( const DistanceUnitFixedSpacingMap& map );
212  void setXOffsets( const DistanceUnitOffsetMap& map );
213  void setYOffsets( const DistanceUnitOffsetMap& map );
214  void setDecimalPlaces( const DistanceUnitDecimalPlacesMap& map );
215 
216  const AngularUnitFixedSpacingMap& fixedAngularSpacingMap() const;
217  const AngularUnitOffsetMap& longitudeOffsetMap() const;
218  const AngularUnitOffsetMap& latitudeOffsetMap() const;
219  const AngularUnitDecimalPlacesMap& angularDecimalPlacesMap() const;
220 
221  void setFixedSpacings( const AngularUnitFixedSpacingMap& map );
222  void setLongitudeOffsets( const AngularUnitOffsetMap& map );
223  void setLatitudeOffsets( const AngularUnitOffsetMap& map );
224  void setDecimalPlaces( const AngularUnitDecimalPlacesMap& map );
225 
228  enum GridType
229  {
234  Database
235  };
236 
237  protected:
238 
253 
254  unsigned myGridType;
266 
267  };
268 
269 }
270 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)