VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGridLinesSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
17 
18 namespace makArchives
19 {
20  class DtGridLinesSettingsRecord;
21 }
22 
23 namespace makVrv
24 {
25 
26  class DtDe;
27 
31  : public DtBaseSettingsManager<makArchives::DtGridLinesSettingsRecord>
32  {
33  public:
34 
36  static DtGridLinesSettingsManager& instance( DtDe& de );
37 
39  virtual ~DtGridLinesSettingsManager();
40 
43 
45  bool autoSpacing() const;
46 
48  void setAutoSpacing( bool autoSpacing );
49 
51  bool minimalGridlineLabelsEnabled() const;
52 
54  void setMinimalGridlineLabelsEnabled(bool enabled);
55 
57  bool getNorthSouthGridLineColor(float& r, float& g, float& b, float& a) const;
58 
60  void setNorthSouthGridLineColor(float r, float g, float b, float a);
61 
63  bool getEastWestGridLineColor(float& r, float& g, float& b, float& a) const;
64 
66  void setEastWestGridLineColor(float r, float g, float b, float a);
67 
69  double fixedSpacingAmount(
71 
73  void setFixedSpacingAmount(
75  double amount );
76 
78  double fixedSpacingAmount(
80 
82  void setFixedSpacingAmount(
84  double amount );
85 
88  void setGarsFixedSpacing(double degs);
89 
92  double garsFixedSpacing() const;
93 
96  void setMgrsMapSheetFixedSpacing(double meters);
97 
100  double mgrsMapSheetFixedSpacing() const;
101 
104  int minSpacing() const;
105 
108  void setMinSpacing( int pixels );
109 
112 
114  void setGridType( makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType );
115 
117  bool unitTypeIsAngular() const;
118 
125 
129 
132 
135 
138 
141 
144 
146  void setYOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
147 
149  double longitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
150 
152  void setLongitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
153 
155  double latitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
156 
158  void setLatitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
159 
162 
165 
168 
171 
174 
176  void setGridOnToolbar(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool included);
177 
179  void setLatLonLabelsCenteringCutoff(int altitude);
180 
182  double latLonLabelsCenteringCutoff() const;
183 
187  double mgrsMapSheetCutoff() const;
188 
190  void setMgrsMapSheetCutoff(double alt);
191 
193  void setGarsPolarLatitudeCutoff(double latitude);
194 
196  double garsPolarLatitudeCutoff() const;
197 
199 
202 
203  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet;
204  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet;
205  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet;
206  boost::signalslib::signal<void (float, float, float, float)> signal_northSouthGridlineColorChanged;
207  boost::signalslib::signal<void (float, float, float, float)> signal_eastWestGridlineColorChanged;
208  boost::signalslib::signal<void (bool)> signal_minimalGridlineLabelsEnabled;
209  boost::signalslib::signal<void (bool)> signal_autoSpacingSet;
210  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_fixedSpacingAmountSet;
211  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_fixedAngularSpacingAmountSet;
212  boost::signalslib::signal<void (int)> signal_minSpacingSet;
213  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_xOffsetSet;
214  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_yOffsetSet;
215  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_longitudeOffsetSet;
216  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_latitudeOffsetSet;
217  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned int) >signal_decimalPlacesSet;
218  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned int)> signal_angularDecimalPlacesSet;
219  boost::signalslib::signal<void(double)> signal_latLonLabelsCenteringCutoffSet;
220  boost::signalslib::signal<void(double)> signal_mgrsMapSheetCutoffSet;
221  boost::signalslib::signal<void (double)> signal_garsPolarLatitudeCutoffSet;
222  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool)> signal_gridOnToolbarPlacementChanged;
223  boost::signalslib::signal<void(double)> signal_garsFixedSpacingSet;
224  boost::signalslib::signal<void(double)> signal_mgrsMapSheetFixedSpacingSet;
226 
229 
231  void setFromRecord( const makArchives::DtGridLinesSettingsRecord& rec );
232 
234  void getRecord( makArchives::DtGridLinesSettingsRecord& rec ) const;
235 
237 
238  protected:
239 
241  template <typename ManagerClass>
242  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
243 
245  template <typename ManagerClass>
246  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
247 
250 
255  virtual bool applyFactoryOverrides(makArchives::DtGridLinesSettingsRecord& rec) const;
256 
258  virtual void slot_postInitialize();
259 
261  virtual void slot_coordinateSystemChanged(const std::string&, const std::string&);
262 
266 
268  void setFixedSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
269 
271  void setXOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
272 
274  void setYOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
275 
277  void setFixedAngularSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
278 
280  void setLongitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
281 
283  void setLatitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
284 
286  void setGridToToolbarPresenceMap(const makArchives::DtGridLinesSettingsRecord::GridToToolbarPresenceMap& map);
287 
289  const makArchives::DtGridLinesSettingsRecord::GridToToolbarPresenceMap& gridToToolbarPresenceMap() const;
290 
292 
293  protected:
294 
296 
297  };
298 
299 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:283
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_yOffsetSet
Definition: DtGridLinesSettingsManager.h:214
boost::signalslib::signal< void(double)> signal_mgrsMapSheetCutoffSet
Definition: DtGridLinesSettingsManager.h:220
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_latitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:216
void slot_postInitialize(makVrv::DtDe &de)
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet
Definition: DtGridLinesSettingsManager.h:204
makArchives::DtGridLinesSettingsRecord mySettingsRecord
Definition: DtGridLinesSettingsManager.h:295
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
boost::signalslib::signal< void(double)> signal_garsFixedSpacingSet
Definition: DtGridLinesSettingsManager.h:223
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_longitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:215
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_fixedSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:210
boost::signalslib::signal< void(double)> signal_latLonLabelsCenteringCutoffSet
Definition: DtGridLinesSettingsManager.h:219
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
boost::signalslib::signal< void(float, float, float, float)> signal_eastWestGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:207
std::map< DtDisplayUnitsSettingsRecord::CoordSys, bool > GridToToolbarPresenceMap
Definition: DtGridLinesSettingsRecord.h:41
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void(bool)> signal_minimalGridlineLabelsEnabled
Definition: DtGridLinesSettingsManager.h:208
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:887
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet
Definition: DtGridLinesSettingsManager.h:203
boost::signalslib::signal< void(double)> signal_mgrsMapSheetFixedSpacingSet
Definition: DtGridLinesSettingsManager.h:224
boost::signalslib::signal< void(int)> signal_minSpacingSet
Definition: DtGridLinesSettingsManager.h:212
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, unsigned int) > signal_decimalPlacesSet
Definition: DtGridLinesSettingsManager.h:217
The settings manager for grid lines settings.
Definition: DtGridLinesSettingsManager.h:30
Contains the DtGridLinesSettingsRecord class declaration.
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
boost::signalslib::signal< void(float, float, float, float)> signal_northSouthGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:206
boost::signalslib::signal< void(double)> signal_garsPolarLatitudeCutoffSet
Definition: DtGridLinesSettingsManager.h:221
A DtGridLinesSettingsRecord contains the information to save grid line settings.
Definition: DtGridLinesSettingsRecord.h:25
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:849
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_xOffsetSet
Definition: DtGridLinesSettingsManager.h:213
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_fixedAngularSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:211
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::signal< void(bool)> signal_autoSpacingSet
Definition: DtGridLinesSettingsManager.h:209
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet
Definition: DtGridLinesSettingsManager.h:205
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, unsigned int)> signal_angularDecimalPlacesSet
Definition: DtGridLinesSettingsManager.h:218
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool)> signal_gridOnToolbarPlacementChanged
Definition: DtGridLinesSettingsManager.h:222
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

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)