VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtConnection.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 #include <vrvCore/DtDriver.h>
18 
19 #include <vrvUtil/signalslib.h>
20 
21 #include <vlutil/vlTimeStampType.h>
22 #include <map>
23 #include <string>
24 
25 class DtEntityType;
26 
27 namespace makVrv
28 {
29  class DtAgentManagerInterface;
30  class DtCoordinateSystem;
31  class DtDisplayUnitsConverter;
32  class DtElementChanges;
33  class DtEntityAppearanceMapper;
34  class DtEntityAppearanceMapperFactory;
35  class DtEntityAppearanceMapperFactoryCreator;
36  class DtMouseState;
37  class DtSharedSettingsManager;
38 
42  {
43  public:
44 
46  DtConnection(DtAgentManagerInterface& aSceneInterface,
47  const DtCoordinateSystem& coordSystem,
48  const DtEntityAppearanceMapperFactoryCreator& appFactoryCreator,
49  DtSharedSettingsManager& settingsManager);
50 
52  virtual ~DtConnection();
53 
55  const DtEntityAppearanceMapper* findAppearanceMapper(const DtEntityType& type);
56 
57  virtual void coordinateSystemChanged(const std::string& coordinateName,
58  const std::string& coordinateOrigin );
59 
61  const DtCoordinateSystem& coordinateSystem() const;
62 
64  const DtDisplayUnitsConverter& displayUnitConverter() const;
65 
70  virtual bool connect() = 0;
71 
74  virtual bool connected() const;
75 
80  virtual bool disconnect() = 0;
81 
83  virtual void tick(double dt) = 0;
84 
86  virtual double simTime() const = 0;
87 
89  virtual void setSimTime( double simTime) = 0;
90 
92  virtual double clockTime() const = 0;
93 
95  virtual DtTimeStampType timeStampType() const = 0;
96 
98  virtual void pauseConnection();
99 
101  virtual void resumeConnection();
102 
104  virtual bool connectionIsPaused() const;
105 
107  virtual void setViewControlChanged( bool enabled ) = 0;
108 
111  virtual void setConnectionFrameTime( double frameTime ) = 0;
112 
115  virtual double connectionFrameTime() const = 0;
116 
123  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
124 
126  virtual void observerUpdated(const std::string& observerName,
127  double x, double y, double z,
128  double psi, double theta, double phi) = 0;
129 
132  virtual void observerUpdated(const std::string& observerName,
133  double x, double y, double z,
134  double psi, double theta, double phi,
135  double dx, double dy, double dz,
136  double dpsi, double dtheta, double dphi) = 0;
137 
139  virtual void stopPublishingObserver(const std::string& observerName) = 0;
140 
142  virtual void startPublishingObserver(const std::string& observerName) = 0;
143 
145  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
146  const std::string& displayEngineName, const std::string& windowName,
147  const std::string& channelName)>
149  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
150  const std::string& displayEngineName, const std::string& windowName,
151  const std::string& channelName)>
153  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
154  const std::string& displayEngineName, const std::string& windowName,
155  const std::string& channelName)>
157 
159  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
160  const std::string& displayEngineName, const std::string& windowName,
161  const std::string& channelName)>
163  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
164  const std::string& displayEngineName, const std::string& windowName,
165  const std::string& channelName)>
167  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
168  const std::string& displayEngineName, const std::string& windowName,
169  const std::string& channelName)>
171 
173  boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)>
175 
177  boost::signalslib::signal<void ()> signal_coordinateSystemChanged;
178 
180  boost::signalslib::signal<void ()> signal_connected;
181 
183  boost::signalslib::signal<void ()> signal_toBeDisconnected;
184 
185 
188  void entityIndicatorMouseDown(DtMouseState& mouseState,
189  const DtUniqueID& id, const std::string& displayEngineName,
190  const std::string& windowName, const std::string& channelName);
191  void entityIndicatorMouseUp(DtMouseState& mouseState,
192  const DtUniqueID& id, const std::string& displayEngineName,
193  const std::string& windowName, const std::string& channelName);
194  void entityIndicatorMouseDblClick(DtMouseState& mouseState,
195  const DtUniqueID& id, const std::string& displayEngineName,
196  const std::string& windowName, const std::string& channelName);
197 
200  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
201  const DtUniqueID& id, const std::string& displayEngineName,
202  const std::string& windowName, const std::string& channelName);
203  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
204  const DtUniqueID& id, const std::string& displayEngineName,
205  const std::string& windowName, const std::string& channelName);
206  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
207  const DtUniqueID& id, const std::string& displayEngineName,
208  const std::string& windowName, const std::string& channelName);
209 
211  void setAppNumber(int appNumber);
212 
214  void setSiteId(int siteId);
215 
223  virtual bool isDisconnecting() const;
224 
225 
226  protected:
227 
228  typedef boost::unordered_map<std::string,DtEntityAppearanceMapper*> AppearanceMapperMap;
229 
230  //The local coordinate system the simulation will use.
232 
234 
237 
240 
242  int mySiteId;
245  };
246 }


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