VR-Forces 5.0.1 Developer's Guide
 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) 2021 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  DtConnection() = delete;
56 
58  DtConnection( const DtConnection& ) = delete;
59 
61  DtConnection& operator=( const DtConnection& ) = delete;
62 
63  public:
64 
66  const DtEntityAppearanceMapper* findAppearanceMapper(const DtEntityType& type);
67 
68  const DtEntityAppearanceMapperFactory& appearanceMapperFactory() const;
69 
74  virtual bool connect() = 0;
75 
78  virtual bool connected() const;
79 
84  virtual bool disconnect() = 0;
85 
87  virtual void tick(double dt) = 0;
88 
90  virtual double simTime() const = 0;
91 
93  virtual void setSimTime( double simTime) = 0;
94 
96  virtual double clockTime() const = 0;
97 
99  virtual DtTimeStampType timeStampType() const = 0;
100 
102  virtual void pauseConnection();
103 
105  virtual void resumeConnection();
106 
108  virtual bool connectionIsPaused() const;
109 
111  virtual void setViewControlChanged( bool enabled ) = 0;
112 
115  virtual void setConnectionFrameTime( double frameTime ) = 0;
116 
119  virtual double connectionFrameTime() const = 0;
120 
127  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
128 
130  virtual void observerUpdated(const std::string& observerName,
131  double x, double y, double z,
132  double psi, double theta, double phi) = 0;
133 
136  virtual void observerUpdated(const std::string& observerName,
137  double x, double y, double z,
138  double psi, double theta, double phi,
139  double dx, double dy, double dz,
140  double dpsi, double dtheta, double dphi) = 0;
141 
143  virtual void stopPublishingObserver(const std::string& observerName) = 0;
144 
146  virtual void startPublishingObserver(const std::string& observerName) = 0;
147 
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  boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&,
158  const std::string& displayEngineName, const std::string& windowName,
159  const std::string& channelName)>
161 
163  boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)>
165 
167  boost::signalslib::signal<void ()> signal_connected;
168 
170  boost::signalslib::signal<void ()> signal_toBeDisconnected;
171 
172 
173 
174 
177  void tacticalGraphicIndicatorMouseDown(DtMouseState& mouseState,
178  const DtUniqueID& id, const std::string& displayEngineName,
179  const std::string& windowName, const std::string& channelName);
180  void tacticalGraphicIndicatorMouseUp(DtMouseState& mouseState,
181  const DtUniqueID& id, const std::string& displayEngineName,
182  const std::string& windowName, const std::string& channelName);
183  void tacticalGraphicIndicatorMouseDblClick(DtMouseState& mouseState,
184  const DtUniqueID& id, const std::string& displayEngineName,
185  const std::string& windowName, const std::string& channelName);
186 
188  void setAppNumber(int appNumber);
189 
191  void setSiteId(int siteId);
192 
200  virtual bool isDisconnecting() const;
201 
202 
203  protected:
204 
207 
209  int mySiteId;
212  };
213 }
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:82
The base class for protocol specific VRLink Simulations.
Definition: DtConnection.h:41
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
Factory for creating appearance mappers for entity types.
Definition: DtEntityAppearanceMapperFactory.h:26
boost::signalslib::signal< void(DtViewStateProcessor::ObserverAction &)> signal_viewChanged
Emitted when a view control change is received.
Definition: DtConnection.h:164
boost::signalslib::signal< void(DtMouseState &, const DtUniqueID &, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)> signal_tacticalGraphicIndicatorMouseDown
Emitted when an tactical graphic indicator is clicked.
Definition: DtConnection.h:152
Decoder for converting a particular entity type&#39;s appearance bits into generic enumerated values...
Definition: DtEntityAppearanceMapper.h:25
Contains makVrv:DtSelectionManager class.
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
boost::signalslib::signal< void(DtMouseState &, const DtUniqueID &, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)> signal_tacticalGraphicIndicatorMouseDblClick
Definition: DtConnection.h:160
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:39
Contains makVrv::DtRandomNumberGenerator class.
boost::signalslib::signal< void(DtMouseState &, const DtUniqueID &, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)> signal_tacticalGraphicIndicatorMouseUp
Definition: DtConnection.h:156
boost::signalslib::signal< void()> signal_toBeDisconnected
Emitted when the connection will be disconnecting.
Definition: DtConnection.h:170
This class encapsulates the state associated with a mouse button event.
Definition: DtMouseState.h:20
boost::signalslib::signal< void()> signal_connected
Emitted when the connection finished connecting.
Definition: DtConnection.h:167
Contains makVrv:DtDriver class.
int mySiteId
Definition: DtConnection.h:209
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
Contains makVrv:DtBaseConnection class.
bool myIsPausedFlag
Definition: DtConnection.h:210
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
bool myIsDisconnecting
Definition: DtConnection.h:211
Contains DLL export macros.
int myAppNumber
Definition: DtConnection.h:208
DtEntityAppearanceMapperFactory * myMapperFactory
Factory responsible for creating Appearance Mappers.
Definition: DtConnection.h:206

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)