VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtChannelKeywordGridLines.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
17 
19 
20 #include <string>
21 
22 namespace makVrv
23 {
24 
25  class DtDe;
26  class DtChannelConfiguration;
27  class DtWindowConfiguration;
28  class DtChannelGridLinesAgent;
29  class DtObserver;
30  class DtInputDriver;
31 
35  {
36  public:
37 
40 
42  virtual ~DtChannelKeywordGridLines();
43 
47  virtual void channelNameChanged( const std::string& displayName,
48  const std::string& windowName, const std::string& channelName );
49 
52  virtual void channelConfigurationChanged(
53  const DtChannelConfiguration& config );
54 
58  const DtWindowConfiguration& config ) {}
59 
60  protected:
61 
62  // Slots for responding to observer-related signals
63 
66  virtual void slot_observerCreated( DtInputDriver* inputDriver, DtObserver* observer );
67 
70  virtual void slot_observerToBeDestroyed( DtInputDriver* inputDriver, DtObserver* observer );
71 
74  virtual void slot_observerModeChanged( DtObserver* observer, int newMode );
75 
79  virtual void slot_observerModeSettingChanged( int mode, int setting );
80 
84  virtual void slot_observerModeIs2DChanged( int mode );
85 
87  virtual void slot_coordinateSystemChanged( const std::string&, const std::string& );
88 
90  virtual void slot_northSouthColorChanged( float r, float g, float b, float a );
91 
93  virtual void slot_eastWestColorChanged( float r, float g, float b, float a );
94 
96  virtual void slot_minimalGridlineLabelsEnabled( bool isMinimalEnabled );
97 
99  virtual void slot_autoSpacingSet( bool isAutoSpacingSet );
100 
102  virtual void slot_fixedSpacingAmountSet( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double fixedSpacingAmount );
103 
105  virtual void slot_fixedAngularSpacingAmountSet( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double fixedAngularSpacingAmount );
106 
108  virtual void slot_gridTypeSet( makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs );
109 
111  virtual void slot_unitTypeSet( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
112 
114  virtual void slot_angularUnitTypeSet( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit );
115 
117  virtual void slot_minSpacingSet( int minSpacing );
118 
120  virtual void slot_xOffsetSet( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double xOffset);
121 
123  virtual void slot_yOffsetSet( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double yOffset );
124 
126  virtual void slot_longitudeOffsetSet(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double lonOffset );
127 
129  virtual void slot_latitudeOffsetSet( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double latOffset );
130 
132  virtual void slot_decimalPlacesSet( makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, unsigned int decimals );
133 
135  virtual void slot_angularDecimalPlacesSet( makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, unsigned int decimals );
136 
139  virtual void slot_latLonLabelsCenteringCutoffSet(double altitude);
140 
143  virtual void slot_mgrsMapSheetCutoffSet(double altitude);
144 
146  virtual void slot_garsPolarLatitudeCutoffSet(double latitude);
147 
149  virtual void slot_garsFixedSpacingSet(double degrees);
150 
152  virtual void slot_mgrsMapSheetFixedSpacingSet(double meters);
153 
154  // Helper methods
155 
156  // Set myObserver to the specified observer and connect to the observerModeChanged
157  // signal
158  virtual void connectToObserver( DtObserver* observer );
159 
160  // Look up the observer by name, cache the observer name, and call connectToObserver
161  // with the found observer
162  virtual void connectToObserver( const std::string& observerName );
163 
164  // Disconnect from the current observer's observerModeChanged signal, delete the
165  // the grid line agent if it exists, and set myObserver and myGridLineAgent
166  // to Null
167  virtual void disconnectFromObserver();
168 
169  // This function looks up the display grid lines observer setting value and creates
170  // or destroys a grid line object as needed
171  virtual void updateGridLinesState();
172 
176  virtual bool validateGridType();
177 
181  virtual bool validateUnitType();
182 
183  protected:
184 
186  DtChannelKeywordGridLines( DtDe& de, const std::string& keyword,
187  const std::string& displayName, const std::string& windowName,
188  const DtChannelConfiguration& channelConfig );
189 
191  const std::string& type );
192 
193  // Returns true if we are currently using this unit type
194  bool currentUnits( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
195  bool currentUnits( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
196 
197  protected:
198 
199  DtChannelGridLinesAgent* myGridLinesAgent;
200  std::string myObserverName;
202  std::string myKeyword;
203  std::string myDisplayName;
204  std::string myWindowName;
205  std::string myChannelName;
208  };
209 
214  {
215  public:
216 
219 
222 
224  virtual DtChannelKeywordObject* createChannelKeywordObject(DtDe& de,
225  const std::string& displayName, const std::string& windowName,
226  const DtChannelConfiguration& channelConfig );
227 
228  public:
229 
230  static std::string keyword();
231 
232  protected:
233 
234  std::string myKeyword;
235 
236  };
237 
238 }
The base class for all channel keyword objects.
Definition: DtChannelKeywordObject.h:25
makArchives::DtDisplayUnitsSettingsRecord::CoordSys myGridType
Definition: DtChannelKeywordGridLines.h:207
std::string myKeyword
Definition: DtChannelKeywordGridLines.h:202
virtual void windowConfigurationChanged(const DtWindowConfiguration &config)
Implementing objects use this method to respond to changes in window configuration other than name...
Definition: DtChannelKeywordGridLines.h:57
The base class for all channel keyword objects.
Definition: DtChannelKeywordGridLines.h:34
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
std::string myDisplayName
Definition: DtChannelKeywordGridLines.h:203
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
std::string myObserverName
Definition: DtChannelKeywordGridLines.h:200
Contains makVrv::DtChannelKeywordObject class.
The polymorphic creator for the DtChannelKeywordObject.
Definition: DtChannelKeywordObject.h:68
A facade for a DtObserverObject.
Definition: DtObserver.h:38
std::string myKeyword
Definition: DtChannelKeywordGridLines.h:234
std::string myChannelName
Definition: DtChannelKeywordGridLines.h:205
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtChannelGridLinesAgent * myGridLinesAgent
Definition: DtChannelKeywordGridLines.h:199
DtObserver * myObserver
Definition: DtChannelKeywordGridLines.h:201
Contains the DtGridLinesSettingsRecord class declaration.
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
Base class to provide boost signal/slot management.
std::string myWindowName
Definition: DtChannelKeywordGridLines.h:204
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
const char int mode
Definition: ioapi.h:38
DtSignalConnectionManager myConnections
Definition: DtChannelKeywordGridLines.h:206
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
The polymorphic creator for DtChannelKeywordGridLines.
Definition: DtChannelKeywordGridLines.h:212
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)