VR-Forces 4.10 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  static void setNoSpotReportDefinitionLoading(bool val);
87  static bool noSpotReportDefinitionLoading();
88 
92  static void setSpotReportElementDefinitionHierFilesOrDirs(const std::vector<std::string>& filesOrDirs);
93  static const std::vector<std::string>& spotReportElementDefinitionHierFilesOrDirs();
94 
98  static void setSpotReportElementDefinitionLeafFilesOrDirs(const std::vector<std::string>& filesOrDirs);
99  static const std::vector<std::string>& spotReportElementDefinitionLeafFilesOrDirs();
100 
103  static void setIgnoreLayoutGeometryOnInitialLoad(bool);
104  static bool ignoreLayoutGeometryOnInitialLoad();
105 
110  static void setShowPerspective(const std::string&);
111 
113  static void setQtDesignerPluginSupport(bool);
114  static bool qtDesignerPluginSupport();
115 
120  static void setGuiConfiguration(const std::string&);
121 
124  static void setObserverModeBindings(const ObserverModeBindings& modes);
125 
128  static const ObserverModeBindings& observerModeBindings();
129 
132  static const std::vector<std::string>& additionalPluginsToLoad();
133 
136  static void setAdditionalPluginsToLoad(const std::vector<std::string>&);
137 
140  static bool loadDefaultPlugins();
141 
144  static void setLoadDefaultPlugins(bool);
145 
148  static bool checkPluginVersions();
149 
152  static void setCheckPluginVersions(bool);
153 
156  static const std::string& transport();
157 
160  static void setTransport(const std::string&);
161 
164  static const std::string& loadScenario();
165 
168  static void setLoadScenario(const std::string&);
169 
171  static const std::string& useFileCommChannel();
172  static void setUseFileCommChannel(const std::string&);
173 
175  static void setLayoutSettingsFile(const std::string&);
176  static std::string layoutSettingsFile();
177 
179  virtual DtString layoutSettingsFileClassName() const;
180 
183  static const std::string& loadSimulationObjectGroup();
184 
187  static void setLoadSimulationObjectGroup(const std::string&);
188 
190  static void setDefaultSimulationModelSet(const std::string&);
191  static const std::string& defaultSimulationModelSet();
192 
195  static ObserverMode observerMode();
196 
199  static void setObserverMode(ObserverMode);
200 
203  static void setUserScenarioDirectory(const std::string&);
204  virtual std::string userScenarioDirectory();
205 
208  static void setUserTerrainDirectory(const std::string&);
209  virtual std::string userTerrainDirectory();
210 
213  void setPluginApplication(const std::string&);
214 
217  const std::string& pluginApplication() const;
218 
221  static void setShouldLoadGuiSavedState(bool);
222  static bool shouldLoadGuiSavedState();
223 
225  virtual void setLoadSystemPlugins(bool);
226  virtual bool loadSystemPlugins() const;
227 
229  virtual makVrv::DtUnicode applicationName() const;
230 
232  virtual void writeGuiConfiguration();
233 
235  virtual void loadSavedGuiState();
236 
238  virtual bool getShowStartupScreen() const;
239 
241  virtual bool usingAbsoluteTimeStamps() const;
242 
244  virtual bool usingAsynchIO() const;
245 
247  virtual makVrv::DtVrlinkDriver* getVrlinkDriver() const;
248 
250  virtual DtSimulationAddress frontEndSimulationAddress() const;
251 
252  virtual bool vrlDriverHasBooleanValue(const std::string&, bool* hasValue = NULL) const;
253  virtual bool vrlDriverHasBooleanValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
254  virtual int vrlDriverHasIntegerValue(const std::string&, bool* hasValue = NULL) const;
255  virtual int vrlDriverHasIntegerValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
256  virtual double vrlDriverHasDoubleValue(const std::string&, bool* hasValue = NULL) const;
257  virtual double vrlDriverHasDoubleValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
258  virtual std::string vrlDriverHasStringValue(const std::string&, bool* hasValue = NULL) const;
259  virtual std::string vrlDriverHasStringValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
260 
261  void setVrfSvnRevision(const std::string& s) { myVrfSvnRevision = s; };
262  const std::string& vrfSvnRevision() const { return myVrfSvnRevision; };
263 
264  void setVrvSvnRevision(const std::string& s) { myVrvSvnRevision = s; };
265  const std::string& vrvSvnRevision() const { return myVrvSvnRevision; };
266 
268  virtual bool terrainIsValid(int terrainPathOffset = 0);
269 
271  virtual std::string language() const;
272 
273  protected:
276  virtual void loadPluginModules();
277 
281  virtual void loadPluginModulesExt();
282 
283  public:
284  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_preAssemble;
285  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_postAssemble;
286  boost::signals2::signal<void (makVrv::DtDe&)> signal_deInitialized;
287  boost::signals2::signal<void ()> signal_preLoadPlugins;
288  boost::signals2::signal<void ()> signal_postLoadPlugins;
289  boost::signals2::signal<void ()> signal_preWriteGuiConfiguration;
290  boost::signals2::signal<void ()> signal_postWriteGuiConfiguration;
291  boost::signals2::signal<void (std::string)> signal_terrainSaved;
292  boost::signals2::signal<void (std::string)> signal_simTerrainSaved;
293  boost::signals2::signal<void ()> signal_defaultLayoutLoaded;
294  boost::signals2::signal<void ()> signal_vrfApplicationInitialized;
295 
297  boost::signals2::signal<void ()> signal_qtExtensionsPreInitialize;
298  boost::signals2::signal<void ()> signal_qtExtensionsPostInitialize;
299 
300  protected:
302  virtual void initializePluginManager();
303 
305  virtual void initializePluginsForCommandLineArguments(int argc, char** argv);
306 
309  virtual void bindObserverModes(const ObserverModeBindings& modes);
310 
315  virtual DtVrfGuiPluginManager* createPluginManager();
316 
319  virtual void dePostInitialize();
320 
323  virtual void setupForObserverMode();
324 
326  virtual void setupForPvdMode();
327 
329  virtual void setupForStealthMode();
330 
331  virtual bool updateCurrentGuiConfiguration();
332 
334  virtual void initializeWithVRFSymbolDecorations(const std::string&);
335 
336  protected:
338  static std::vector<std::string> theAdditionalPluginsToLoad;
341  static std::string theTransport;
342  static std::string theLoadScenario;
343  static std::string theLayoutSettingsFile;
344  static std::string theLoadSimulationObjectGroup;
345  static std::string theUseFileCommChannel;
346  static std::string theGuiConfiguration;
347  static std::string theShowPerspective;
348  static std::string theDefaultSimulationModelSet;
349  static std::string theUserScenarioDirectory;
350  static std::string theUserTerrainDirectory;
352  static bool theLoadGuiSavedState;
356  static std::vector<std::string> theSpotReportElementDefinitionHierFilesOrDirs;
357  static std::vector<std::string> theSpotReportElementDefinitionLeafFilesOrDirs;
358 
360  std::string myPluginApplication;
361  std::string myVrfSvnRevision;
362  std::string myVrvSvnRevision;
363 
365  };
366 }
static bool theLoadGuiSavedState
Definition: vrfGuiApplication.h:352
static std::vector< std::string > theSpotReportElementDefinitionHierFilesOrDirs
Definition: vrfGuiApplication.h:356
std::string myVrfSvnRevision
Definition: vrfGuiApplication.h:361
static std::vector< std::string > theAdditionalPluginsToLoad
Definition: vrfGuiApplication.h:338
A unicode string.
Definition: DtUnicode.h:33
static bool theLoadDefaultPlugins
Definition: vrfGuiApplication.h:339
DtVrfGuiPluginManager * myVrfGuiPluginManager
Definition: vrfGuiApplication.h:359
boost::signals2::signal< void(std::string)> signal_simTerrainSaved
Definition: vrfGuiApplication.h:292
Contains makVrv::DtVrvApplication implementation.
std::string myPluginApplication
Definition: vrfGuiApplication.h:360
static bool theIgnoreLayoutGeometryOnInitialLoad
Definition: vrfGuiApplication.h:353
ObserverMode
Definition: vrfGuiApplication.h:45
boost::signals2::signal< void()> signal_qtExtensionsPreInitialize
Signals sent via the qt extension initialization.
Definition: vrfGuiApplication.h:297
static std::string theLayoutSettingsFile
Definition: vrfGuiApplication.h:343
static ObserverMode theObserverMode
Definition: vrfGuiApplication.h:351
boost::signals2::signal< void()> signal_preWriteGuiConfiguration
Definition: vrfGuiApplication.h:289
bool myLoadSystemPlugins
Definition: vrfGuiApplication.h:364
static ObserverModeBindings theObserverModeBindings
Definition: vrfGuiApplication.h:337
static std::string theLoadSimulationObjectGroup
Definition: vrfGuiApplication.h:344
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
static std::string theTransport
Definition: vrfGuiApplication.h:341
static std::string theUserScenarioDirectory
Definition: vrfGuiApplication.h:349
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:20
boost::signals2::signal< void(makVrv::DtDe &)> signal_deInitialized
Definition: vrfGuiApplication.h:286
The root IG for VR-Forces. Inherits from makVrv::DtVrfApplication.
Definition: vrfGuiApplication.h:40
static std::string theUserTerrainDirectory
Definition: vrfGuiApplication.h:350
boost::signals2::signal< void()> signal_postLoadPlugins
Definition: vrfGuiApplication.h:288
The Root IG Application object.
Definition: DtVrvApplication.h:52
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_preAssemble
Definition: vrfGuiApplication.h:284
boost::signals2::signal< void()> signal_vrfApplicationInitialized
Definition: vrfGuiApplication.h:294
boost::signals2::signal< void()> signal_preLoadPlugins
Definition: vrfGuiApplication.h:287
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:27
const int MIN_VRF_ELEMENT_DEFINITION_TYPE
Starting value for VR-Forces element definition types to be registered with DtElementDefinitionTypeMa...
Definition: vrfGuiApplication.h:17
boost::signals2::signal< void()> signal_defaultLayoutLoaded
Definition: vrfGuiApplication.h:293
boost::signals2::signal< void()> signal_postWriteGuiConfiguration
Definition: vrfGuiApplication.h:290
boost::signals2::signal< void(std::string)> signal_terrainSaved
Definition: vrfGuiApplication.h:291
static std::vector< std::string > theSpotReportElementDefinitionLeafFilesOrDirs
Definition: vrfGuiApplication.h:357
static std::string theDefaultSimulationModelSet
Definition: vrfGuiApplication.h:348
static bool theQtDesignerPluginSupport
Definition: vrfGuiApplication.h:354
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_postAssemble
Definition: vrfGuiApplication.h:285
static bool theCheckPluginVersions
Definition: vrfGuiApplication.h:340
void setVrfSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:261
std::string myVrvSvnRevision
Definition: vrfGuiApplication.h:362
Definition: vrfGuiPluginManager.h:69
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
static std::string theUseFileCommChannel
Definition: vrfGuiApplication.h:345
static std::string theLoadScenario
Definition: vrfGuiApplication.h:342
const std::string & vrfSvnRevision() const
Definition: vrfGuiApplication.h:262
std::map< std::string, std::string > ObserverModeBindings
Definition: vrfGuiApplication.h:43
boost::signals2::signal< void()> signal_qtExtensionsPostInitialize
Definition: vrfGuiApplication.h:298
static bool theNoSpotDefinitionLoading
Definition: vrfGuiApplication.h:355
static std::string theShowPerspective
Definition: vrfGuiApplication.h:347
static std::string theGuiConfiguration
Definition: vrfGuiApplication.h:346
const std::string & vrvSvnRevision() const
Definition: vrfGuiApplication.h:265
void setVrvSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:264
Definition: vrfGuiApplication.h:48

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)