VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtConnection.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 <vrvVrl/vrvVrl.h>
13 #include <vrvCore/DtDriver.h>
19 
21 
22 #include <vlutil/vlTimeStampType.h>
23 #include <map>
24 #include <string>
25 
26 class DtEntityType;
27 
28 namespace makVrv
29 {
30  class DtAgentManagerInterface;
31  class DtCoordinateSystem;
32  class DtDisplayUnitsConverter;
33  class DtElementChanges;
34  class DtEntityAppearanceMapper;
35  class DtEntityAppearanceMapperFactory;
36  class DtEntityAppearanceMapperFactoryCreator;
37  class DtMouseState;
38  class DtSharedSettingsManager;
39  class DtWorldMagneticModel;
40 
44  {
45  public:
46 
48  DtConnection(DtAgentManagerInterface& aSceneInterface,
49  const DtCoordinateSystem& coordSystem,
50  const DtEntityAppearanceMapperFactoryCreator& appFactoryCreator,
51  DtSharedSettingsManager& settingsManager);
52 
54  virtual ~DtConnection();
55 
57  DtConnection() = delete;
58 
60  DtConnection( const DtConnection& ) = delete;
61 
63  DtConnection& operator=( const DtConnection& ) = delete;
64 
65  public:
66 
68  const DtEntityAppearanceMapper* findAppearanceMapper(const DtEntityType& type);
69 
70  const DtEntityAppearanceMapperFactory& appearanceMapperFactory() const;
71 
77  virtual void setWorldMagneticModel(DtWorldMagneticModel* magModel);
78 
81  virtual DtWorldMagneticModel* const worldMagneticModel() const;
82  virtual DtWorldMagneticModel* worldMagneticModel();
83 
85  virtual const DtDisplayUnitsConverter& displayUnitsConverter() const;
86 
88  virtual void createDisplayUnitsConverter();
89 
90 
95  virtual bool connect() = 0;
96 
99  virtual bool connected() const;
100 
105  virtual bool disconnect() = 0;
106 
108  virtual void tick(double dt) = 0;
109 
111  virtual double simTime() const = 0;
112 
114  virtual void setSimTime( double simTime) = 0;
115 
117  virtual double clockTime() const = 0;
118 
120  virtual DtTimeStampType timeStampType() const = 0;
121 
123  virtual void pauseConnection();
124 
126  virtual void resumeConnection();
127 
129  virtual bool connectionIsPaused() const;
130 
132  virtual void setViewControlChanged( bool enabled ) = 0;
133 
136  virtual void setConnectionFrameTime( double frameTime ) = 0;
137 
140  virtual double connectionFrameTime() const = 0;
141 
148  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
149 
151  virtual void observerUpdated(const std::string& observerName,
152  double x, double y, double z,
153  double psi, double theta, double phi) = 0;
154 
157  virtual void observerUpdated(const std::string& observerName,
158  double x, double y, double z,
159  double psi, double theta, double phi,
160  double dx, double dy, double dz,
161  double dpsi, double dtheta, double dphi) = 0;
162 
164  virtual void stopPublishingObserver(const std::string& observerName) = 0;
165 
167  virtual void startPublishingObserver(const std::string& observerName) = 0;
168 
170  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
171  const std::string& displayEngineName, const std::string& windowName,
172  const std::string& channelName)>
174  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
175  const std::string& displayEngineName, const std::string& windowName,
176  const std::string& channelName)>
178  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
179  const std::string& displayEngineName, const std::string& windowName,
180  const std::string& channelName)>
182 
184  boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)>
186 
188  boost::signalslib::signal<void ()> signal_connected;
189 
191  boost::signalslib::signal<void ()> signal_toBeDisconnected;
192 
193 
194 
195 
198  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
199  const DtUniqueID& id, const std::string& displayEngineName,
200  const std::string& windowName, const std::string& channelName);
201  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
202  const DtUniqueID& id, const std::string& displayEngineName,
203  const std::string& windowName, const std::string& channelName);
204  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
205  const DtUniqueID& id, const std::string& displayEngineName,
206  const std::string& windowName, const std::string& channelName);
207 
209  void setAppNumber(int appNumber);
210 
212  void setSiteId(int siteId);
213 
221  virtual bool isDisconnecting() const;
222 
223  protected:
224 
227  virtual void slot_dateChanged(int year, DtDeTimeManager::Month month, int day);
228 
229  protected:
230 
233 
236  boost::signalslib::connection myDateTimeSignalConnection;
237 
239  int mySiteId;
242  };
243 }


Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)