VR-Vantage API Documentation
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 
88  virtual void observerUpdated(const std::string& observerName,
89  double x, double y, double z,
90  double psi, double theta, double phi) = 0;
91 
94  virtual void observerUpdated(const std::string& observerName,
95  double x, double y, double z,
96  double psi, double theta, double phi,
97  double dx, double dy, double dz,
98  double dpsi, double dtheta, double dphi) = 0;
99 
101  virtual void stopPublishingObserver(const std::string& observerName) = 0;
102 
104  virtual void startPublishingObserver(const std::string& observerName) = 0;
105 
107  virtual void attachObserverObject(const std::string& observerName, DtUniqueID id) = 0;
108 
110  virtual void detachObjects(const std::string& observerName) = 0;
111 
113  boost::signal<void (DtMouseState&, const DtUniqueID&,
114  const std::string& displayEngineName, const std::string& windowName,
115  const std::string& channelName)>
117  boost::signal<void (DtMouseState&, const DtUniqueID&,
118  const std::string& displayEngineName, const std::string& windowName,
119  const std::string& channelName)>
121  boost::signal<void (DtMouseState&, const DtUniqueID&,
122  const std::string& displayEngineName, const std::string& windowName,
123  const std::string& channelName)>
125 
127  boost::signal<void (DtMouseState&, const DtUniqueID&,
128  const std::string& displayEngineName, const std::string& windowName,
129  const std::string& channelName)>
131  boost::signal<void (DtMouseState&, const DtUniqueID&,
132  const std::string& displayEngineName, const std::string& windowName,
133  const std::string& channelName)>
135  boost::signal<void (DtMouseState&, const DtUniqueID&,
136  const std::string& displayEngineName, const std::string& windowName,
137  const std::string& channelName)>
139 
141  boost::signal<void (DtViewStateProcessor::ObserverAction&)>
143 
145  boost::signal<void ()> signal_coordinateSystemChanged;
146 
148  boost::signal<void ()> signal_connected;
149 
151  boost::signal<void ()> signal_toBeDisconnected;
152 
153 
156  void entityIndicatorMouseDown(DtMouseState& mouseState,
157  const DtUniqueID& id, const std::string& displayEngineName,
158  const std::string& windowName, const std::string& channelName);
159  void entityIndicatorMouseUp(DtMouseState& mouseState,
160  const DtUniqueID& id, const std::string& displayEngineName,
161  const std::string& windowName, const std::string& channelName);
162  void entityIndicatorMouseDblClick(DtMouseState& mouseState,
163  const DtUniqueID& id, const std::string& displayEngineName,
164  const std::string& windowName, const std::string& channelName);
165 
168  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
169  const DtUniqueID& id, const std::string& displayEngineName,
170  const std::string& windowName, const std::string& channelName);
171  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
172  const DtUniqueID& id, const std::string& displayEngineName,
173  const std::string& windowName, const std::string& channelName);
174  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
175  const DtUniqueID& id, const std::string& displayEngineName,
176  const std::string& windowName, const std::string& channelName);
177 
179  void setAppNumber(int appNumber);
180 
182  void setSiteId(int siteId);
183  protected:
184 
185  typedef boost::unordered_map<std::string,DtEntityAppearanceMapper*> AppearanceMapperMap;
186 
187  //The local coordinate system the simulation will use.
189 
191 
194 
197 
199  int mySiteId;
200  };
201 }


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