VR-Vantage API Documentation
DtCigiConnection.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2009 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: DtCigiConnection.h,v $ $Revision: 1.1 $ $State: Exp $
7 *********************************************************************/
8 
12 
13 #ifndef DtCigiConnection_H_
14 #define DtCigiConnection_H_
15 
16 #include <vrvCigi/vrvCigi.h>
17 
22 
25 
27 
29 
30 #include <matrix/vlVector.h>
31 
32 #include <boost/signal.hpp>
33 
34 class CigiViewCtrlV3;
35 
36 namespace makVrv
37 {
38  class DtCigiConnectionInitializer;
39  class DtCigiNetworkIO;
40  class DtAgentManagerInterface;
41  class DtCigiEntityVisualizer;
42  class DtCoordinateSystem;
43  class DtSharedSettingsManager;
44  class DtVirtualBaseClass;
45  class DtCigiIgControlProcessor;
46  class DtHatHotResponder;
47  class DtLosResponder;
48 
55  {
56  public:
57  enum DtIgMode
58  {
59  ResetStandby = 0,
60  Operate = 1,
61  Debug = 2
62  };
63 
66  DtAgentManagerInterface& sceneInterface,
67  DtSharedSettingsManager& settingsManager);
68 
70  virtual ~DtCigiConnection();
71 
73  virtual bool tick();
74 
76  virtual bool connect();
77 
79  virtual bool disconnect();
80 
82  virtual void setConnectionInitializer(const DtCigiConnectionInitializer& init);
83 
85  virtual int cigiMinorVersion() const;
86 
88  virtual void sendCigiMessages();
89 
91  virtual void setCoordinateSystem(const std::string& name,
92  const std::string& params);
93 
95  virtual DtCoordinateSystem& coordinateSystem();
96 
98  virtual const DtCigiEntityVisualizer& entityManager() const;
99 
101  virtual const makArchives::DtCigiSettingsRecord& cigiSettings() const;
102 
104  virtual void setLastHostFrameNumber(unsigned int frameNumber);
105 
107  virtual unsigned int lastHostFrameNumber() const;
108 
114  virtual DtVirtualBaseClass* findInstance(const std::string& instanceName);
115 
128  inline bool destroyingInstances() const
129  {
130  return myDestroyingInstancesFlag;
131  }
132 
135  virtual void registerInstance(const std::string& instanceName,
136  DtVirtualBaseClass* instance);
137 
139  virtual void setIgMode(DtIgMode mode);
140 
142  virtual DtIgMode igMode() const;
143 
145  virtual void setDatabaseNumber(int number);
146 
148  virtual int databaseNumber() const;
149 
152  virtual void setLoadingDatabase();
153 
156  virtual void setDatabaseLoaded();
157 
159  virtual void setExtrapolationEnabled(bool enabled);
160 
162  virtual bool extrapolationEnabled() const;
163 
165  virtual void setTimestampValid(bool valid);
166 
168  virtual bool timestampValid() const;
169 
171  virtual void setLastTimestamp(unsigned int timestamp);
172 
174  virtual unsigned int lastTimestamp() const;
175 
177  virtual void sendHatHotResponse(double height, unsigned int hotId, bool hat,
178  unsigned int lastFrame, bool valid);
179 
181  virtual void sendLosResponse(int losId, int entityId, bool visible, double range,
182  int responseCount, int hostFrame);
183 
185  virtual DtHatHotResponder& hatHotResponder();
186 
188  virtual DtLosResponder& losResponder();
189 
191  virtual unsigned int currentIgFrame() const;
192 
194  virtual DtComponentSignaler& componentSignaler();
195 
197  boost::signal<void (DtViewStateProcessor::ObserverAction&)>
199 
201  boost::signal<void (int, DtUniqueID)> signal_alphaChanged;
202 
204  boost::signal<void (int, DtCigiViewController::DtViewDefinitionAction) >
206 
208  boost::signal<void (int, DtCigiViewController::DtViewControlAction)>
210 
212  boost::signal<void (int, int, int, int, int, bool)> signal_timeSet;
213 
215  boost::signal<void (const std::string&)> signal_loadDatabase;
216 
218  boost::signal<void ()> signal_connected;
219 
221  boost::signal<void ()> signal_toBeDisconnected;
222 
223 
224  protected:
226  void on_viewControlReceived(const CigiViewCtrlV3& viewControl);
227 
228  protected:
229  typedef std::map<std::string,DtVirtualBaseClass*> InstanceMap;
230 
241  unsigned int myIgFrame;
242  unsigned int myLastHostFrameNumber;
249  unsigned int myLastTimestamp;
250 
251  //Stores a pointer to simulation specific instances.
255  };
256 }
257 
258 #endif


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