VR-Forces Development_Version Class 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 
93  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
94 
96  virtual void observerUpdated(const std::string& observerName,
97  double x, double y, double z,
98  double psi, double theta, double phi) = 0;
99 
102  virtual void observerUpdated(const std::string& observerName,
103  double x, double y, double z,
104  double psi, double theta, double phi,
105  double dx, double dy, double dz,
106  double dpsi, double dtheta, double dphi) = 0;
107 
109  virtual void stopPublishingObserver(const std::string& observerName) = 0;
110 
112  virtual void startPublishingObserver(const std::string& observerName) = 0;
113 
115  virtual void attachObserverObject(const std::string& observerName, DtUniqueID id) = 0;
116 
118  virtual void detachObjects(const std::string& observerName) = 0;
119 
121  boost::signal<void (DtMouseState&, const DtUniqueID&,
122  const std::string& displayEngineName, const std::string& windowName,
123  const std::string& channelName)>
125  boost::signal<void (DtMouseState&, const DtUniqueID&,
126  const std::string& displayEngineName, const std::string& windowName,
127  const std::string& channelName)>
129  boost::signal<void (DtMouseState&, const DtUniqueID&,
130  const std::string& displayEngineName, const std::string& windowName,
131  const std::string& channelName)>
133 
135  boost::signal<void (DtMouseState&, const DtUniqueID&,
136  const std::string& displayEngineName, const std::string& windowName,
137  const std::string& channelName)>
139  boost::signal<void (DtMouseState&, const DtUniqueID&,
140  const std::string& displayEngineName, const std::string& windowName,
141  const std::string& channelName)>
143  boost::signal<void (DtMouseState&, const DtUniqueID&,
144  const std::string& displayEngineName, const std::string& windowName,
145  const std::string& channelName)>
147 
149  boost::signal<void (DtViewStateProcessor::ObserverAction&)>
151 
153  boost::signal<void ()> signal_coordinateSystemChanged;
154 
156  boost::signal<void ()> signal_connected;
157 
159  boost::signal<void ()> signal_toBeDisconnected;
160 
161 
164  void entityIndicatorMouseDown(DtMouseState& mouseState,
165  const DtUniqueID& id, const std::string& displayEngineName,
166  const std::string& windowName, const std::string& channelName);
167  void entityIndicatorMouseUp(DtMouseState& mouseState,
168  const DtUniqueID& id, const std::string& displayEngineName,
169  const std::string& windowName, const std::string& channelName);
170  void entityIndicatorMouseDblClick(DtMouseState& mouseState,
171  const DtUniqueID& id, const std::string& displayEngineName,
172  const std::string& windowName, const std::string& channelName);
173 
176  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
177  const DtUniqueID& id, const std::string& displayEngineName,
178  const std::string& windowName, const std::string& channelName);
179  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
180  const DtUniqueID& id, const std::string& displayEngineName,
181  const std::string& windowName, const std::string& channelName);
182  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
183  const DtUniqueID& id, const std::string& displayEngineName,
184  const std::string& windowName, const std::string& channelName);
185 
187  void setAppNumber(int appNumber);
188 
190  void setSiteId(int siteId);
191  protected:
192 
193  typedef boost::unordered_map<std::string,DtEntityAppearanceMapper*> AppearanceMapperMap;
194 
195  //The local coordinate system the simulation will use.
197 
199 
202 
205 
207  int mySiteId;
208  };
209 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)