VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCigiDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtCigiDriver.h,v $ $Revision: 1.18 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtCigiDriver_H_
14 #define DtCigiDriver_H_
15 
16 #include <vrvCigi/vrvCigi.h>
17 
19 
20 #include <vrvCore/DtDriver.h>
22 #include <vrvCore/DtUniqueID.h>
24 
27 
28 #include <matrix/vlVector.h>
29 #include <vlutil/vlRunnable.h>
30 
31 class DtThread;
32 
33 namespace makVrv
34 {
35  class DtAsynchronousAgentManager;
36  class DtAsynchronousEventQueue;
37  class DtCigiConnection;
38  class DtCigiConnectionInitializer;
39  class DtCigiIntersectionHandler;
40  class DtIgSettingsController;
41  class DtLosResponder;
42 
48  protected DtRunnable
49  {
50  public:
51 
53  DtCigiDriver(DtAgentManager& agentManager,
54  const std::string& uniqueName);
55 
57  virtual ~DtCigiDriver();
58 
60  virtual const std::string& className() const;
61 
63  const DtCigiConnectionInitializer& connectionSettings() const;
64 
66  virtual void setConnectionSettings(const DtCigiConnectionInitializer& settings);
67 
69  virtual DtConfiguration createConfiguration() const;
70 
72  virtual void realizeConfiguration(const DtConfiguration& config);
73 
77  virtual void run();
78 
81  virtual DtAgentManagerInterface& sceneInterface();
82 
85  virtual bool useThreadFlag() const;
86 
88  virtual void queueDriverFunction(boost::function<void ()> func);
89 
91  virtual void queueConnectionFunction(boost::function<void ()> func);
92 
94  boost::signal<void (DtCigiConnection*)> signal_sessionCreated;
95 
97  boost::signal<void (DtCigiConnection*)> signal_sessionAboutToBeDestroyed;
98 
99 
100  protected:
101  static std::string theCigiDriverClassName;
102 
103  protected:
105  virtual bool onStart();
106 
108  virtual bool onStop();
109 
112  virtual bool onTick();
113 
115  virtual void startThread();
116 
118  virtual void stopThread();
119 
121  virtual void setConnectionState(bool connected);
122 
124  virtual void slot_onLoadDatabase(const std::string& filename);
125 
127  virtual void performLoadDatabase(const std::string& filename);
128 
131  virtual void slot_onCoordinateSystemChanged(
132  const std::string& name,
133  const std::string& params);
134 
137  typedef std::vector<boost::function<void ()> > FunctionCallList;
138 
140  virtual void runFunctionQueue(FunctionCallQueue& queue);
141 
142  protected:
146 
148  DtThread* myThread;
149 
154 
157 
160 
162 
166 
169 
171 
174 
178 
181 
184  };
185 
187  {
188  return (*myInitializer);
189  }
190 
194  {
195  public:
196 
199 
201  virtual ~DtCigiDriverCreator();
202 
205  virtual const std::string& extension() const;
206 
208  virtual DtDriver* create(DtAgentManager& agentManager,
209  const std::string& instanceName) const;
210 
211  protected:
212  std::string myFileExtension;
213 
214  };
215 }
216 
217 #endif
218 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)