VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVrlinkBaseConnection.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 #include <vrvCore/DtDriver.h>
19 
21 
22 #include <vlutil/vlTimeStampType.h>
23 #include <map>
24 #include <string>
25 
26 class DtEntityType;
27 
28 namespace makVrv
29 {
30  class DtAgentManagerInterface;
31  class DtCoordinateSystem;
32  class DtDisplayUnitsConverter;
33  class DtElementChanges;
34  class DtEntityAppearanceMapper;
35  class DtEntityAppearanceMapperFactory;
36  class DtEntityAppearanceMapperFactoryCreator;
37  class DtMouseState;
38  class DtSharedSettingsManager;
39  class DtWorldMagneticModel;
40 
44  {
45  public:
46 
49  const DtCoordinateSystem& coordSystem,
50  const DtEntityAppearanceMapperFactoryCreator& appFactoryCreator,
51  DtSharedSettingsManager& settingsManager);
52 
54  virtual ~DtVrlinkBaseConnection();
55 
57  DtVrlinkBaseConnection() = delete;
58 
61 
63  DtVrlinkBaseConnection& operator=( const DtVrlinkBaseConnection& ) = delete;
64 
65  public:
66 
68  const DtEntityAppearanceMapper* findAppearanceMapper(const DtEntityType& type);
69 
70  const DtEntityAppearanceMapperFactory& appearanceMapperFactory() const;
71 
77  virtual void setWorldMagneticModel(DtWorldMagneticModel* magModel);
78 
81  virtual DtWorldMagneticModel* const worldMagneticModel() const;
82  virtual DtWorldMagneticModel* worldMagneticModel();
83 
85  virtual const DtDisplayUnitsConverter& displayUnitsConverter() const;
86 
88  virtual void createDisplayUnitsConverter();
89 
90 
95  virtual bool connect() = 0;
96 
99  virtual bool connected() const;
100 
105  virtual bool disconnect() = 0;
106 
108  virtual void tick(double dt) = 0;
109 
111  virtual double simTime() const = 0;
112 
114  virtual void setSimTime( double simTime) = 0;
115 
117  virtual double clockTime() const = 0;
118 
120  virtual DtTimeStampType timeStampType() const = 0;
121 
123  virtual void pauseConnection();
124 
126  virtual void resumeConnection();
127 
129  virtual bool connectionIsPaused() const;
130 
132  virtual void setViewControlChanged( bool enabled ) = 0;
133 
136  virtual void setConnectionFrameTime( double frameTime ) = 0;
137 
140  virtual double connectionFrameTime() const = 0;
141 
148  virtual void setUseTopoForFlatEarthVectorConversion( bool enabled ) = 0;
149 
151  virtual void observerUpdated(const std::string& observerName,
152  double x, double y, double z,
153  double psi, double theta, double phi) = 0;
154 
157  virtual void observerUpdated(const std::string& observerName,
158  double x, double y, double z,
159  double psi, double theta, double phi,
160  double dx, double dy, double dz,
161  double dpsi, double dtheta, double dphi) = 0;
162 
164  virtual void stopPublishingObserver(const std::string& observerName) = 0;
165 
167  virtual void startPublishingObserver(const std::string& observerName) = 0;
168 
170  boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)>
172 
174  boost::signalslib::signal<void ()> signal_connected;
175 
177  boost::signalslib::signal<void ()> signal_toBeDisconnected;
178 
180  void setAppNumber(int appNumber);
181 
183  void setSiteId(int siteId);
184 
192  virtual bool isDisconnecting() const;
193 
194  protected:
195 
198  virtual void slot_dateChanged(int year, DtDeTimeManager::Month month, int day);
199 
200  protected:
201 
204 
207  boost::signalslib::connection myDateTimeSignalConnection;
208 
210  int mySiteId;
213  };
214 }
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:83
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
Factory for creating appearance mappers for entity types.
Definition: DtEntityAppearanceMapperFactory.h:27
Decoder for converting a particular entity type&#39;s appearance bits into generic enumerated values...
Definition: DtEntityAppearanceMapper.h:25
Month
Definition: DtDeTimeManager.h:32
Contains the interface to the world magnetic model. The class utilizes the WMM c code provided by NOA...
Definition: DtWorldMagneticModel.h:41
Contains makVrv:DtSelectionManager class.
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
Contains makVrv::DtRandomNumberGenerator class.
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:62
Contains makVrv:DtDriver class.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Contains makVrv:DtBaseConnection class.
Base class to provide boost signal/slot management.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
Contains makVrv::DtDeTimeManager class.
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)