VR-Vantage 2.2 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) 2012 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 <boost/signals.hpp>
20 
21 #include <map>
22 #include <string>
23 
24 class DtEntityType;
25 
26 namespace makVrv
27 {
28  class DtAgentManagerInterface;
29  class DtCoordinateSystem;
30  class DtDisplayUnitsConverter;
31  class DtElementChanges;
32  class DtEntityAppearanceMapper;
33  class DtEntityAppearanceMapperFactory;
34  class DtEntityAppearanceMapperFactoryCreator;
35  class DtMouseState;
36  class DtSharedSettingsManager;
37 
41  {
42  public:
43 
45  DtConnection(DtAgentManagerInterface& aSceneInterface,
46  const DtCoordinateSystem& coordSystem,
47  const DtEntityAppearanceMapperFactoryCreator& appFactoryCreator,
48  DtSharedSettingsManager& settingsManager);
49 
51  virtual ~DtConnection();
52 
54  const DtEntityAppearanceMapper* findAppearanceMapper(const DtEntityType& type);
55 
56  virtual void coordinateSystemChanged(const std::string& coordinateName,
57  const std::string& coordinateOrigin );
58 
60  const DtCoordinateSystem& coordinateSystem() const;
61 
63  const DtDisplayUnitsConverter& displayUnitConverter() const;
64 
69  virtual bool connect() = 0;
70 
73  virtual bool connected() const;
74 
79  virtual bool disconnect() = 0;
80 
82  virtual void tick() = 0;
83 
85  virtual void setViewControlChanged( bool enabled ) = 0;
86 
89  virtual void setConnectionFrameTime( double frameTime ) = 0;
90 
93  virtual double connectionFrameTime() const = 0;
94 
101  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
102 
104  virtual void observerUpdated(const std::string& observerName,
105  double x, double y, double z,
106  double psi, double theta, double phi) = 0;
107 
110  virtual void observerUpdated(const std::string& observerName,
111  double x, double y, double z,
112  double psi, double theta, double phi,
113  double dx, double dy, double dz,
114  double dpsi, double dtheta, double dphi) = 0;
115 
117  virtual void stopPublishingObserver(const std::string& observerName) = 0;
118 
120  virtual void startPublishingObserver(const std::string& observerName) = 0;
121 
123  virtual void attachObserverObject(const std::string& observerName, DtUniqueID id) = 0;
124 
126  virtual void detachObjects(const std::string& observerName) = 0;
127 
129  boost::signal<void (DtMouseState&, const DtUniqueID&,
130  const std::string& displayEngineName, const std::string& windowName,
131  const std::string& channelName)>
133  boost::signal<void (DtMouseState&, const DtUniqueID&,
134  const std::string& displayEngineName, const std::string& windowName,
135  const std::string& channelName)>
137  boost::signal<void (DtMouseState&, const DtUniqueID&,
138  const std::string& displayEngineName, const std::string& windowName,
139  const std::string& channelName)>
141 
143  boost::signal<void (DtMouseState&, const DtUniqueID&,
144  const std::string& displayEngineName, const std::string& windowName,
145  const std::string& channelName)>
147  boost::signal<void (DtMouseState&, const DtUniqueID&,
148  const std::string& displayEngineName, const std::string& windowName,
149  const std::string& channelName)>
151  boost::signal<void (DtMouseState&, const DtUniqueID&,
152  const std::string& displayEngineName, const std::string& windowName,
153  const std::string& channelName)>
155 
157  boost::signal<void (DtViewStateProcessor::ObserverAction&)>
159 
161  boost::signal<void ()> signal_coordinateSystemChanged;
162 
164  boost::signal<void ()> signal_connected;
165 
167  boost::signal<void ()> signal_toBeDisconnected;
168 
169 
172  void entityIndicatorMouseDown(DtMouseState& mouseState,
173  const DtUniqueID& id, const std::string& displayEngineName,
174  const std::string& windowName, const std::string& channelName);
175  void entityIndicatorMouseUp(DtMouseState& mouseState,
176  const DtUniqueID& id, const std::string& displayEngineName,
177  const std::string& windowName, const std::string& channelName);
178  void entityIndicatorMouseDblClick(DtMouseState& mouseState,
179  const DtUniqueID& id, const std::string& displayEngineName,
180  const std::string& windowName, const std::string& channelName);
181 
184  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
185  const DtUniqueID& id, const std::string& displayEngineName,
186  const std::string& windowName, const std::string& channelName);
187  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
188  const DtUniqueID& id, const std::string& displayEngineName,
189  const std::string& windowName, const std::string& channelName);
190  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
191  const DtUniqueID& id, const std::string& displayEngineName,
192  const std::string& windowName, const std::string& channelName);
193 
195  void setAppNumber(int appNumber);
196 
198  void setSiteId(int siteId);
199  protected:
200 
201  typedef boost::unordered_map<std::string,DtEntityAppearanceMapper*> AppearanceMapperMap;
202 
203  //The local coordinate system the simulation will use.
205 
207 
210 
213 
215  int mySiteId;
216  };
217 }


Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)