VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiApplication.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
11 #include <vrvUtil/signalslib.h>
12 #include <vlpi/simulationAddress.h>
13 
21 
22 namespace makVrv
23 {
24  class DtMenuConfiguration;
25  class DtDe;
26  class DtVrvApplicationConfiguration;
27  class DtElementDefinitionManager;
28  class DtVrlinkDriver;
29 }
30 
31 namespace makVrf
32 {
35 
37  class DtVrfGuiPluginManager;
38 
41  {
42  public:
43  typedef std::map<std::string, std::string> ObserverModeBindings;
44 
46  {
47  PvdAndStealthMode = 0,
49  StealthMode
50  };
51 
52  public:
56 
58  virtual ~DtVrfGuiApplication();
59 
61  static bool applicationIsTerminating(makVrv::DtDe&);
62 
66  virtual void initialize( int argc, char** argv );
67 
69  virtual void assemble();
70 
72  virtual void run();
73 
75  static DtVrfGuiApplication* app(makVrv::DtDe&);
76 
78  static makVrv::DtDe* theDe();
79 
81 #if USE_VLD_MEMORY_TRACKING && _DEBUG
82  static void setUseVld(bool);
83 #endif
84 
85 
86  static void setIgnoreLayoutGeometryOnInitialLoad(bool);
87  static bool ignoreLayoutGeometryOnInitialLoad();
88 
93  static void setShowPerspective(const std::string&);
94 
96  static void setQtDesignerPluginSupport(bool);
97  static bool qtDesignerPluginSupport();
98 
103  static void setGuiConfiguration(const std::string&);
104 
107  static void setObserverModeBindings(const ObserverModeBindings& modes);
108 
111  static const ObserverModeBindings& observerModeBindings();
112 
115  static const std::vector<std::string>& additionalPluginsToLoad();
116 
119  static void setAdditionalPluginsToLoad(const std::vector<std::string>&);
120 
123  static bool loadDefaultPlugins();
124 
127  static void setLoadDefaultPlugins(bool);
128 
131  static bool checkPluginVersions();
132 
135  static void setCheckPluginVersions(bool);
136 
139  static const std::string& transport();
140 
143  static void setTransport(const std::string&);
144 
147  static const std::string& loadScenario();
148 
151  static void setLoadScenario(const std::string&);
152 
154  static const std::string& useFileCommChannel();
155  static void setUseFileCommChannel(const std::string&);
156 
158  static void setLayoutSettingsFile(const std::string&);
159  static std::string layoutSettingsFile();
160 
162  virtual DtString layoutSettingsFileClassName() const;
163 
166  static const std::string& loadSimulationObjectGroup();
167 
170  static void setLoadSimulationObjectGroup(const std::string&);
171 
173  static void setDefaultSimulationModelSet(const std::string&);
174  static const std::string& defaultSimulationModelSet();
175 
178  static ObserverMode observerMode();
179 
182  static void setObserverMode(ObserverMode);
183 
186  void setPluginApplication(const std::string&);
187 
190  const std::string& pluginApplication() const;
191 
194  static void setShouldLoadGuiSavedState(bool);
195  static bool shouldLoadGuiSavedState();
196 
198  virtual void setLoadSystemPlugins(bool);
199  virtual bool loadSystemPlugins() const;
200 
202  virtual makVrv::DtUnicode applicationName() const;
203 
205  virtual void writeGuiConfiguration();
206 
208  virtual void loadSavedGuiState();
209 
211  virtual bool getShowStartupScreen() const;
212 
214  virtual bool usingAbsoluteTimeStamps() const;
215 
217  virtual bool usingAsynchIO() const;
218 
220  virtual makVrv::DtVrlinkDriver* getVrlinkDriver() const;
221 
223  virtual DtSimulationAddress frontEndSimulationAddress() const;
224 
225  virtual bool vrlDriverHasBooleanValue(const std::string&, bool* hasValue = NULL) const;
226  virtual bool vrlDriverHasBooleanValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
227  virtual int vrlDriverHasIntegerValue(const std::string&, bool* hasValue = NULL) const;
228  virtual int vrlDriverHasIntegerValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
229  virtual double vrlDriverHasDoubleValue(const std::string&, bool* hasValue = NULL) const;
230  virtual double vrlDriverHasDoubleValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
231  virtual std::string vrlDriverHasStringValue(const std::string&, bool* hasValue = NULL) const;
232  virtual std::string vrlDriverHasStringValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
233 
234  void setVrfSvnRevision(const std::string& s) { myVrfSvnRevision = s; };
235  const std::string& vrfSvnRevision() const { return myVrfSvnRevision; };
236 
237  void setVrvSvnRevision(const std::string& s) { myVrvSvnRevision = s; };
238  const std::string& vrvSvnRevision() const { return myVrvSvnRevision; };
239 
241  virtual bool terrainIsValid(int terrainPathOffset = 0);
242 
243  protected:
246  virtual void loadPluginModules();
247 
251  virtual void loadPluginModulesExt();
252 
253  public:
254  boost::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_preAssemble;
255  boost::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_postAssemble;
256  boost::signal<void (makVrv::DtDe&)> signal_deInitialized;
257  boost::signal<void ()> signal_preLoadPlugins;
258  boost::signal<void ()> signal_postLoadPlugins;
259  boost::signal<void ()> signal_preWriteGuiConfiguration;
260  boost::signal<void ()> signal_postWriteGuiConfiguration;
261  boost::signal<void (std::string)> signal_terrainSaved;
262  boost::signal<void (std::string)> signal_simTerrainSaved;
263  boost::signal<void ()> signal_defaultLayoutLoaded;
264  boost::signal<void ()> signal_vrfApplicationInitialized;
265 
267  boost::signal<void ()> signal_qtExtensionsPreInitialize;
268  boost::signal<void ()> signal_qtExtensionsPostInitialize;
269 
270  protected:
272  virtual void initializePluginManager();
273 
275  virtual void initializePluginsForCommandLineArguments(int argc, char** argv);
276 
279  virtual void bindObserverModes(const ObserverModeBindings& modes);
280 
285  virtual DtVrfGuiPluginManager* createPluginManager();
286 
289  virtual void dePostInitialize();
290 
293  virtual void setupForObserverMode();
294 
296  virtual void setupForPvdMode();
297 
299  virtual void setupForStealthMode();
300 
301  virtual bool updateCurrentGuiConfiguration();
302 
303  protected:
305  static std::vector<std::string> theAdditionalPluginsToLoad;
308  static std::string theTransport;
309  static std::string theLoadScenario;
310  static std::string theLayoutSettingsFile;
311  static std::string theLoadSimulationObjectGroup;
312  static std::string theUseFileCommChannel;
313  static std::string theGuiConfiguration;
314  static std::string theShowPerspective;
315  static std::string theDefaultSimulationModelSet;
317  static bool theLoadGuiSavedState;
320 
322  std::string myPluginApplication;
323  std::string myVrfSvnRevision;
324  std::string myVrvSvnRevision;
325 
327  };
328 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)