VR-Forces 5.0.3 Developer's Guide
 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 
10 #include <vlpi/simulationAddress.h>
11 #include <boost/signals2.hpp>
12 
20 
21 namespace makVrv
22 {
23  class DtMenuConfiguration;
24  class DtDe;
25  class DtVrvApplicationConfiguration;
26  class DtElementDefinitionManager;
27  class DtVrlinkDriver;
28 }
29 
30 namespace makVrf
31 {
34 
36  class DtVrfGuiPluginManager;
37 
47  {
48  public:
49  typedef std::map<std::string, std::string> ObserverModeBindings;
50 
52  {
53  PvdAndStealthMode = 0,
55  StealthMode
56  };
57 
58  public:
62 
64  virtual ~DtVrfGuiApplication();
65 
67  static bool applicationIsTerminating(makVrv::DtDe&);
68 
72  virtual void initialize( int argc, char** argv );
73 
75  virtual void assemble();
76 
78  virtual void run();
79 
81  static DtVrfGuiApplication* app(makVrv::DtDe&);
82 
84  static makVrv::DtDe* theDe();
85 
87 #if USE_VLD_MEMORY_TRACKING && _DEBUG
88  static void setUseVld(bool);
89 #endif
90 
92  static void SetQtDesignerMode(bool);
93  static bool QtDesignerMode();
94 
97  static void setNoSpotReportDefinitionLoading(bool val);
98  static bool noSpotReportDefinitionLoading();
99 
103  static void setSpotReportElementDefinitionHierFilesOrDirs(const std::vector<std::string>& filesOrDirs);
104  static const std::vector<std::string>& spotReportElementDefinitionHierFilesOrDirs();
105 
109  static void setSpotReportElementDefinitionLeafFilesOrDirs(const std::vector<std::string>& filesOrDirs);
110  static const std::vector<std::string>& spotReportElementDefinitionLeafFilesOrDirs();
111 
114  static void setIgnoreLayoutGeometryOnInitialLoad(bool);
115  static bool ignoreLayoutGeometryOnInitialLoad();
116 
121  static void setShowPerspective(const std::string&);
122 
124  static void setQtDesignerPluginSupport(bool);
125  static bool qtDesignerPluginSupport();
126 
131  static void setGuiConfiguration(const std::string&);
132 
135  static void setObserverModeBindings(const ObserverModeBindings& modes);
136 
139  static const ObserverModeBindings& observerModeBindings();
140 
143  static const std::vector<std::string>& additionalPluginsToLoad();
144 
147  static void setAdditionalPluginsToLoad(const std::vector<std::string>&);
148 
151  static bool loadDefaultPlugins();
152 
155  static void setLoadDefaultPlugins(bool);
156 
159  static bool checkPluginVersions();
160 
163  static void setCheckPluginVersions(bool);
164 
167  static const std::string& transport();
168 
171  static void setTransport(const std::string&);
172 
175  static const std::string& loadScenario();
176 
179  static void setLoadScenario(const std::string&);
180 
182  static const std::string& useFileCommChannel();
183  static void setUseFileCommChannel(const std::string&);
184 
186  static void setLayoutSettingsFile(const std::string&);
187  static std::string layoutSettingsFile();
188 
190  virtual DtString layoutSettingsFileClassName() const;
191 
194  static const std::string& loadSimulationObjectGroup();
195 
198  static void setLoadSimulationObjectGroup(const std::string&);
199 
201  static void setDefaultSimulationModelSet(const std::string&);
202  static const std::string& defaultSimulationModelSet();
203 
206  static ObserverMode observerMode();
207 
210  static void setObserverMode(ObserverMode);
211 
214  static void setUserScenarioDirectory(const std::string&);
215  virtual std::string userScenarioDirectory();
216 
219  void setPluginApplication(const std::string&);
220 
223  const std::string& pluginApplication() const;
224 
227  static void setShouldLoadGuiSavedState(bool);
228  static bool shouldLoadGuiSavedState();
229 
231  virtual void setLoadSystemPlugins(bool);
232  virtual bool loadSystemPlugins() const;
233 
235  virtual makVrv::DtUnicode applicationName() const;
236 
238  virtual void writeGuiConfiguration();
239 
241  virtual void loadSavedGuiState();
242 
244  virtual bool getShowStartupScreen() const;
245 
247  virtual bool usingAbsoluteTimeStamps() const;
248 
249  virtual std::string restoreDefaultLayout(const DtString& layoutTemplate = "Scenario_Creation");
250 
252  virtual bool usingAsynchIO() const;
253 
255  virtual makVrv::DtVrlinkDriver* getVrlinkDriver() const;
256 
258  virtual DtSimulationAddress frontEndSimulationAddress() const;
259 
260  virtual bool vrlDriverHasBooleanValue(const std::string&, bool* hasValue = NULL) const;
261  virtual bool vrlDriverHasBooleanValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
262  virtual int vrlDriverHasIntegerValue(const std::string&, bool* hasValue = NULL) const;
263  virtual int vrlDriverHasIntegerValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
264  virtual double vrlDriverHasDoubleValue(const std::string&, bool* hasValue = NULL) const;
265  virtual double vrlDriverHasDoubleValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
266  virtual std::string vrlDriverHasStringValue(const std::string&, bool* hasValue = NULL) const;
267  virtual std::string vrlDriverHasStringValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
268 
269  void setVrfSvnRevision(const std::string& s) { myVrfSvnRevision = s; };
270  const std::string& vrfSvnRevision() const { return myVrfSvnRevision; };
271 
272  void setVrvSvnRevision(const std::string& s) { myVrvSvnRevision = s; };
273  const std::string& vrvSvnRevision() const { return myVrvSvnRevision; };
274 
276  virtual bool terrainIsValid(int terrainPathOffset = 0);
277 
279  virtual std::string language() const;
280 
283  virtual void checkOrCreateModelDefinition(const std::string& definition, const std::string& filePath);
284 
285  protected:
288  virtual void loadPluginModules();
289 
293  virtual void loadPluginModulesExt();
294 
295  public:
296  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_preAssemble;
297  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_postAssemble;
298  boost::signals2::signal<void (makVrv::DtDe&)> signal_deInitialized;
299  boost::signals2::signal<void ()> signal_preLoadPlugins;
300  boost::signals2::signal<void ()> signal_postLoadPlugins;
301  boost::signals2::signal<void ()> signal_preWriteGuiConfiguration;
302  boost::signals2::signal<void ()> signal_postWriteGuiConfiguration;
303  boost::signals2::signal<void (std::string)> signal_terrainSaved;
304  boost::signals2::signal<void (std::string)> signal_simTerrainSaved;
305  boost::signals2::signal<void ()> signal_defaultLayoutLoaded;
306  boost::signals2::signal<void ()> signal_vrfApplicationInitialized;
307  boost::signals2::signal<void ()> signal_dataDoesNotExist;
308 
310  boost::signals2::signal<void ()> signal_qtExtensionsPreInitialize;
311  boost::signals2::signal<void ()> signal_qtExtensionsPostInitialize;
312 
313  protected:
315  virtual void initializePluginManager();
316 
318  virtual void initializePluginsForCommandLineArguments(int argc, char** argv);
319 
322  virtual void bindObserverModes(const ObserverModeBindings& modes);
323 
328  virtual DtVrfGuiPluginManager* createPluginManager();
329 
332  virtual void dePostInitialize();
333 
336  virtual void setupForObserverMode();
337 
339  virtual void setupForPvdMode();
340 
342  virtual void setupForStealthMode();
343 
344  virtual bool updateCurrentGuiConfiguration();
345 
347  virtual void initializeWithVRFSymbolDecorations(const std::string&);
348 
349  protected:
351  static std::vector<std::string> theAdditionalPluginsToLoad;
354  static std::string theTransport;
355  static std::string theLoadScenario;
356  static std::string theLayoutSettingsFile;
357  static std::string theLoadSimulationObjectGroup;
358  static std::string theUseFileCommChannel;
359  static std::string theGuiConfiguration;
360  static std::string theShowPerspective;
361  static std::string theDefaultSimulationModelSet;
362  static std::string theUserScenarioDirectory;
364  static bool theLoadGuiSavedState;
368  static std::vector<std::string> theSpotReportElementDefinitionHierFilesOrDirs;
369  static std::vector<std::string> theSpotReportElementDefinitionLeafFilesOrDirs;
370  static bool theQtDesignerMode;
371 
373  std::string myPluginApplication;
374  std::string myVrfSvnRevision;
375  std::string myVrvSvnRevision;
376 
378  };
379 }
static bool theLoadGuiSavedState
Definition: vrfGuiApplication.h:364
static std::vector< std::string > theSpotReportElementDefinitionHierFilesOrDirs
Definition: vrfGuiApplication.h:368
std::string myVrfSvnRevision
Definition: vrfGuiApplication.h:374
static std::vector< std::string > theAdditionalPluginsToLoad
Definition: vrfGuiApplication.h:351
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
static bool theLoadDefaultPlugins
Definition: vrfGuiApplication.h:352
DtVrfGuiPluginManager * myVrfGuiPluginManager
Definition: vrfGuiApplication.h:372
boost::signals2::signal< void(std::string)> signal_simTerrainSaved
Definition: vrfGuiApplication.h:304
Contains makVrv::DtVrvApplication implementation.
std::string myPluginApplication
Definition: vrfGuiApplication.h:373
static bool theIgnoreLayoutGeometryOnInitialLoad
Definition: vrfGuiApplication.h:365
ObserverMode
Definition: vrfGuiApplication.h:51
boost::signals2::signal< void()> signal_qtExtensionsPreInitialize
Signals sent via the qt extension initialization.
Definition: vrfGuiApplication.h:310
static std::string theLayoutSettingsFile
Definition: vrfGuiApplication.h:356
static ObserverMode theObserverMode
Definition: vrfGuiApplication.h:363
boost::signals2::signal< void()> signal_preWriteGuiConfiguration
Definition: vrfGuiApplication.h:301
boost::signals2::signal< void()> signal_dataDoesNotExist
Definition: vrfGuiApplication.h:307
bool myLoadSystemPlugins
Definition: vrfGuiApplication.h:377
static ObserverModeBindings theObserverModeBindings
Definition: vrfGuiApplication.h:350
static std::string theLoadSimulationObjectGroup
Definition: vrfGuiApplication.h:357
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
static std::string theTransport
Definition: vrfGuiApplication.h:354
static std::string theUserScenarioDirectory
Definition: vrfGuiApplication.h:362
const int MIN_VRF_USER_ELEMENT_DEFINITION_TYPE
Starting value for element definition types created by toolkit users to be registered with DtElementD...
Definition: vrfGuiApplication.h:19
boost::signals2::signal< void(makVrv::DtDe &)> signal_deInitialized
Definition: vrfGuiApplication.h:298
The root IG for VR-Forces. Inherits from makVrv::DtVrfApplication.
Definition: vrfGuiApplication.h:46
boost::signals2::signal< void()> signal_postLoadPlugins
Definition: vrfGuiApplication.h:300
The Root IG Application object. To run the IG simply create one, initialize it and call run...
Definition: DtVrvApplication.h:52
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_preAssemble
Definition: vrfGuiApplication.h:296
boost::signals2::signal< void()> signal_vrfApplicationInitialized
Definition: vrfGuiApplication.h:306
boost::signals2::signal< void()> signal_preLoadPlugins
Definition: vrfGuiApplication.h:299
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:30
const int MIN_VRF_ELEMENT_DEFINITION_TYPE
Starting value for VR-Forces element definition types to be registered with DtElementDefinitionTypeMa...
Definition: vrfGuiApplication.h:16
boost::signals2::signal< void()> signal_defaultLayoutLoaded
Definition: vrfGuiApplication.h:305
boost::signals2::signal< void()> signal_postWriteGuiConfiguration
Definition: vrfGuiApplication.h:302
boost::signals2::signal< void(std::string)> signal_terrainSaved
Definition: vrfGuiApplication.h:303
static std::vector< std::string > theSpotReportElementDefinitionLeafFilesOrDirs
Definition: vrfGuiApplication.h:369
static std::string theDefaultSimulationModelSet
Definition: vrfGuiApplication.h:361
static bool theQtDesignerPluginSupport
Definition: vrfGuiApplication.h:366
static bool theQtDesignerMode
Definition: vrfGuiApplication.h:370
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_postAssemble
Definition: vrfGuiApplication.h:297
static bool theCheckPluginVersions
Definition: vrfGuiApplication.h:353
void setVrfSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:269
std::string myVrvSvnRevision
Definition: vrfGuiApplication.h:375
Definition: vrfGuiPluginManager.h:69
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
static std::string theUseFileCommChannel
Definition: vrfGuiApplication.h:358
static std::string theLoadScenario
Definition: vrfGuiApplication.h:355
const std::string & vrfSvnRevision() const
Definition: vrfGuiApplication.h:270
std::map< std::string, std::string > ObserverModeBindings
Definition: vrfGuiApplication.h:49
boost::signals2::signal< void()> signal_qtExtensionsPostInitialize
Definition: vrfGuiApplication.h:311
static bool theNoSpotDefinitionLoading
Definition: vrfGuiApplication.h:367
static std::string theShowPerspective
Definition: vrfGuiApplication.h:360
static std::string theGuiConfiguration
Definition: vrfGuiApplication.h:359
const std::string & vrvSvnRevision() const
Definition: vrfGuiApplication.h:273
void setVrvSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:272
Definition: vrfGuiApplication.h:54

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)