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) 2022 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 
142  virtual void slot_garsPolarLatitudeCutoffSet(double latitude);
143 
144  // Helper methods
145 
146  // Set myObserver to the specified observer and connect to the observerModeChanged
147  // signal
148  virtual void connectToObserver( DtObserver* observer );
149 
150  // Look up the observer by name, cache the observer name, and call connectToObserver
151  // with the found observer
152  virtual void connectToObserver( const std::string& observerName );
153 
154  // Disconnect from the current observer's observerModeChanged signal, delete the
155  // the grid line agent if it exists, and set myObserver and myGridLineAgent
156  // to Null
157  virtual void disconnectFromObserver();
158 
159  // This function looks up the display grid lines observer setting value and creates
160  // or destroys a grid line object as needed
161  virtual void updateGridLinesState();
162 
166  virtual bool validateGridType();
167 
171  virtual bool validateUnitType();
172 
173  protected:
174 
176  DtChannelKeywordGridLines( DtDe& de, const std::string& keyword,
177  const std::string& displayName, const std::string& windowName,
178  const DtChannelConfiguration& channelConfig );
179 
181  const std::string& type );
182 
183  // Returns true if we are currently using this unit type
184  bool currentUnits( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
185  bool currentUnits( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
186 
187  protected:
188 
189  DtChannelGridLinesAgent* myGridLinesAgent;
190  std::string myObserverName;
192  std::string myKeyword;
193  std::string myDisplayName;
194  std::string myWindowName;
195  std::string myChannelName;
198  };
199 
204  {
205  public:
206 
209 
212 
214  virtual DtChannelKeywordObject* createChannelKeywordObject(DtDe& de,
215  const std::string& displayName, const std::string& windowName,
216  const DtChannelConfiguration& channelConfig );
217 
218  public:
219 
220  static std::string keyword();
221 
222  protected:
223 
224  std::string myKeyword;
225 
226  };
227 
228 }
The base class for all channel keyword objects.
Definition: DtChannelKeywordObject.h:25
makArchives::DtDisplayUnitsSettingsRecord::CoordSys myGridType
Definition: DtChannelKeywordGridLines.h:197
std::string myKeyword
Definition: DtChannelKeywordGridLines.h:192
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:193
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:190
Contains makVrv::DtChannelKeywordObject class.
The polymorphic creator for the DtChannelKeywordObject.
Definition: DtChannelKeywordObject.h:68
A facade for a DtObserverObject.
Definition: DtObserver.h:37
std::string myKeyword
Definition: DtChannelKeywordGridLines.h:224
std::string myChannelName
Definition: DtChannelKeywordGridLines.h:195
#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:189
DtObserver * myObserver
Definition: DtChannelKeywordGridLines.h:191
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:194
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:196
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:72
The polymorphic creator for DtChannelKeywordGridLines.
Definition: DtChannelKeywordGridLines.h:202
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)