VR-Forces 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 
11 #include <vlpi/simulationAddress.h>
12 #include <boost/signals2.hpp>
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 
48  {
49  public:
50  typedef std::map<std::string, std::string> ObserverModeBindings;
51 
53  {
54  PvdAndStealthMode = 0,
56  StealthMode
57  };
58 
59  public:
63 
65  virtual ~DtVrfGuiApplication();
66 
68  static bool applicationIsTerminating(makVrv::DtDe&);
69 
74  virtual void initialize( int argc, char** argv);
75 
77  virtual void assemble() override;
78 
80  virtual void run();
81 
83  static DtVrfGuiApplication* app(makVrv::DtDe&);
84 
86  static makVrv::DtDe* theDe();
87 
89  static void SetQtDesignerMode(bool);
90  static bool QtDesignerMode();
91 
94  static void setNoSpotReportDefinitionLoading(bool val);
95  static bool noSpotReportDefinitionLoading();
96 
100  static void setSpotReportElementDefinitionHierFilesOrDirs(const std::vector<std::string>& filesOrDirs);
101  static const std::vector<std::string>& spotReportElementDefinitionHierFilesOrDirs();
102 
106  static void setSpotReportElementDefinitionLeafFilesOrDirs(const std::vector<std::string>& filesOrDirs);
107  static const std::vector<std::string>& spotReportElementDefinitionLeafFilesOrDirs();
108 
111  static void setIgnoreLayoutGeometryOnInitialLoad(bool);
112  static bool ignoreLayoutGeometryOnInitialLoad();
113 
118  static void setShowPerspective(const std::string&);
119 
121  static void setQtDesignerPluginSupport(bool);
122  static bool qtDesignerPluginSupport();
123 
128  static void setGuiConfiguration(const std::string&);
129 
132  static void setObserverModeBindings(const ObserverModeBindings& modes);
133 
136  static const ObserverModeBindings& observerModeBindings();
137 
140  static const std::vector<std::string>& additionalPluginsToLoad();
141 
144  static void setAdditionalPluginsToLoad(const std::vector<std::string>&);
145 
148  static bool loadDefaultPlugins();
149 
152  static void setLoadDefaultPlugins(bool);
153 
156  static bool checkPluginVersions();
157 
160  static void setCheckPluginVersions(bool);
161 
164  static const std::string& transport();
165 
168  static void setTransport(const std::string&);
169 
172  static const std::string& loadScenario();
173 
176  static void setLoadScenario(const std::string&);
177 
179  static const std::string& useFileCommChannel();
180  static void setUseFileCommChannel(const std::string&);
181 
183  static void setLayoutSettingsFile(const std::string&);
184  static std::string layoutSettingsFile();
185 
187  virtual DtString layoutSettingsFileClassName() const;
188 
191  static const std::string& loadSimulationObjectGroup();
192 
195  static void setLoadSimulationObjectGroup(const std::string&);
196 
198  static void setDefaultSimulationModelSet(const std::string&);
199  static const std::string& defaultSimulationModelSet();
200 
203  static ObserverMode observerMode();
204 
207  static void setObserverMode(ObserverMode);
208 
211  static void setUserScenarioDirectory(const std::string&);
212  virtual std::string userScenarioDirectory();
213 
216  void setPluginApplication(const std::string&);
217 
220  const std::string& pluginApplication() const;
221 
224  static void setShouldLoadGuiSavedState(bool);
225  static bool shouldLoadGuiSavedState();
226 
228  virtual void setLoadSystemPlugins(bool);
229  virtual bool loadSystemPlugins() const;
230 
232  virtual makVrv::DtUnicode applicationName() const;
233 
235  virtual void writeGuiConfiguration();
236 
238  virtual void loadSavedGuiState();
239 
241  virtual bool getShowStartupScreen() const;
242 
244  virtual bool usingAbsoluteTimeStamps() const;
245 
246  virtual std::string restoreDefaultLayout(const DtString& layoutTemplate = "Scenario_Creation");
247 
249  virtual bool usingAsynchIO() const;
250 
252  virtual makVrv::DtVrlinkDriver* getVrlinkDriver() const;
253 
255  virtual DtSimulationAddress frontEndSimulationAddress() const;
256 
257  virtual bool vrlDriverHasBooleanValue(const std::string&, bool* hasValue = NULL) const;
258  virtual bool vrlDriverHasBooleanValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
259  virtual int vrlDriverHasIntegerValue(const std::string&, bool* hasValue = NULL) const;
260  virtual int vrlDriverHasIntegerValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
261  virtual double vrlDriverHasDoubleValue(const std::string&, bool* hasValue = NULL) const;
262  virtual double vrlDriverHasDoubleValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
263  virtual std::string vrlDriverHasStringValue(const std::string&, bool* hasValue = NULL) const;
264  virtual std::string vrlDriverHasStringValue(makVrv::DtVrlinkDriver*, const std::string&, bool* hasValue = NULL) const;
265 
266  void setVrfSvnRevision(const std::string& s) { myVrfSvnRevision = s; };
267  const std::string& vrfSvnRevision() const { return myVrfSvnRevision; };
268 
269  void setVrvSvnRevision(const std::string& s) { myVrvSvnRevision = s; };
270  const std::string& vrvSvnRevision() const { return myVrvSvnRevision; };
271 
273  virtual bool terrainIsValid(int terrainPathOffset = 0);
274 
276  virtual std::string language() const;
277 
280  virtual void checkOrCreateModelDefinition(const std::string& definition, const std::string& filePath);
281 
284  virtual void addLoadVerifierFunction(const DtString&, DtVrfGuiPluginManagerExt::VerifierFunction f);
285 
286  protected:
289  virtual void loadPluginModules() override;
290 
294  virtual void loadPluginModulesExt();
295 
296  virtual void addPluginVerifierFunctions();
297 
298  virtual void delayedAssemble();
299 
300  public:
301  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_preAssemble;
302  boost::signals2::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_postAssemble;
303  boost::signals2::signal<void (makVrv::DtDe&)> signal_deInitialized;
304  boost::signals2::signal<void ()> signal_preLoadPlugins;
305  boost::signals2::signal<void ()> signal_postLoadPlugins;
306  boost::signals2::signal<void ()> signal_preWriteGuiConfiguration;
307  boost::signals2::signal<void ()> signal_postWriteGuiConfiguration;
308  boost::signals2::signal<void (std::string)> signal_terrainSaved;
309  boost::signals2::signal<void (std::string)> signal_simTerrainSaved;
310  boost::signals2::signal<void ()> signal_defaultLayoutLoaded;
311  boost::signals2::signal<void ()> signal_vrfApplicationInitialized;
312  boost::signals2::signal<void ()> signal_dataDoesNotExist;
313 
315  boost::signals2::signal<void ()> signal_qtExtensionsPreInitialize;
316  boost::signals2::signal<void ()> signal_qtExtensionsPostInitialize;
317 
318  protected:
319  virtual void loadTranslationFiles(const std::string& lang);
320 
322  virtual void initializePluginManager();
323 
325  virtual void initializePluginsForCommandLineArguments(int argc, char** argv);
326 
329  virtual void bindObserverModes(const ObserverModeBindings& modes);
330 
335  virtual DtVrfGuiPluginManager* createPluginManager();
336 
339  virtual void dePostInitialize();
340 
343  virtual void setupForObserverMode();
344 
346  virtual void setupForPvdMode();
347 
349  virtual void setupForStealthMode();
350 
351  virtual bool updateCurrentGuiConfiguration();
352 
354  virtual void initializeWithVRFSymbolDecorations(const std::string&);
355 
356  protected:
358  static std::vector<std::string> theAdditionalPluginsToLoad;
361  static std::string theTransport;
362  static std::string theLoadScenario;
363  static std::string theLayoutSettingsFile;
364  static std::string theLoadSimulationObjectGroup;
365  static std::string theUseFileCommChannel;
366  static std::string theGuiConfiguration;
367  static std::string theShowPerspective;
368  static std::string theDefaultSimulationModelSet;
369  static std::string theUserScenarioDirectory;
371  static bool theLoadGuiSavedState;
375  static std::vector<std::string> theSpotReportElementDefinitionHierFilesOrDirs;
376  static std::vector<std::string> theSpotReportElementDefinitionLeafFilesOrDirs;
377  static bool theQtDesignerMode;
379 
381  std::string myPluginApplication;
382  std::string myVrfSvnRevision;
383  std::string myVrvSvnRevision;
384 
386  boost::signals2::scoped_connection myDelayedAssembleConnection;
387  };
388 }
static bool theLoadGuiSavedState
Definition: vrfGuiApplication.h:371
static std::vector< std::string > theSpotReportElementDefinitionHierFilesOrDirs
Definition: vrfGuiApplication.h:375
boost::signals2::scoped_connection myDelayedAssembleConnection
Definition: vrfGuiApplication.h:386
std::string myVrfSvnRevision
Definition: vrfGuiApplication.h:382
static std::vector< std::string > theAdditionalPluginsToLoad
Definition: vrfGuiApplication.h:358
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:359
DtVrfGuiPluginManager * myVrfGuiPluginManager
Definition: vrfGuiApplication.h:380
boost::signals2::signal< void(std::string)> signal_simTerrainSaved
Definition: vrfGuiApplication.h:309
Contains makVrv::DtVrvApplication implementation.
std::string myPluginApplication
Definition: vrfGuiApplication.h:381
static bool theIgnoreLayoutGeometryOnInitialLoad
Definition: vrfGuiApplication.h:372
ObserverMode
Definition: vrfGuiApplication.h:52
boost::signals2::signal< void()> signal_qtExtensionsPreInitialize
Signals sent via the qt extension initialization.
Definition: vrfGuiApplication.h:315
static std::string theLayoutSettingsFile
Definition: vrfGuiApplication.h:363
static ObserverMode theObserverMode
Definition: vrfGuiApplication.h:370
boost::signals2::signal< void()> signal_preWriteGuiConfiguration
Definition: vrfGuiApplication.h:306
boost::signals2::signal< void()> signal_dataDoesNotExist
Definition: vrfGuiApplication.h:312
bool myLoadSystemPlugins
Definition: vrfGuiApplication.h:385
static ObserverModeBindings theObserverModeBindings
Definition: vrfGuiApplication.h:357
static std::string theLoadSimulationObjectGroup
Definition: vrfGuiApplication.h:364
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
static std::string theTransport
Definition: vrfGuiApplication.h:361
static std::string theUserScenarioDirectory
Definition: vrfGuiApplication.h:369
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:303
The root IG for VR-Forces. Inherits from makVrv::DtVrfApplication.
Definition: vrfGuiApplication.h:47
boost::signals2::signal< void()> signal_postLoadPlugins
Definition: vrfGuiApplication.h:305
static makVrv::DtDe * theAppDe
Definition: vrfGuiApplication.h:378
The Root IG Application object. To run the IG simply create one, initialize it and call run...
Definition: DtVrvApplication.h:57
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_preAssemble
Definition: vrfGuiApplication.h:301
boost::signals2::signal< void()> signal_vrfApplicationInitialized
Definition: vrfGuiApplication.h:311
boost::signals2::signal< void()> signal_preLoadPlugins
Definition: vrfGuiApplication.h:304
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:32
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:310
boost::signals2::signal< void()> signal_postWriteGuiConfiguration
Definition: vrfGuiApplication.h:307
boost::signals2::signal< void(std::string)> signal_terrainSaved
Definition: vrfGuiApplication.h:308
static std::vector< std::string > theSpotReportElementDefinitionLeafFilesOrDirs
Definition: vrfGuiApplication.h:376
boost::function< bool(void)> VerifierFunction
Before loading a plugin in the library, make this callback (by lowercase library name without the ext...
Definition: vrfGuiPluginManager.h:67
static std::string theDefaultSimulationModelSet
Definition: vrfGuiApplication.h:368
static bool theQtDesignerPluginSupport
Definition: vrfGuiApplication.h:373
static bool theQtDesignerMode
Definition: vrfGuiApplication.h:377
boost::signals2::signal< void(makVrv::DtDe &, makVrv::DtMenuConfiguration &)> signal_postAssemble
Definition: vrfGuiApplication.h:302
static bool theCheckPluginVersions
Definition: vrfGuiApplication.h:360
void setVrfSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:266
std::string myVrvSvnRevision
Definition: vrfGuiApplication.h:383
Definition: vrfGuiPluginManager.h:80
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:72
static std::string theUseFileCommChannel
Definition: vrfGuiApplication.h:365
static std::string theLoadScenario
Definition: vrfGuiApplication.h:362
const std::string & vrfSvnRevision() const
Definition: vrfGuiApplication.h:267
std::map< std::string, std::string > ObserverModeBindings
Definition: vrfGuiApplication.h:50
boost::signals2::signal< void()> signal_qtExtensionsPostInitialize
Definition: vrfGuiApplication.h:316
static bool theNoSpotDefinitionLoading
Definition: vrfGuiApplication.h:374
static std::string theShowPerspective
Definition: vrfGuiApplication.h:367
static std::string theGuiConfiguration
Definition: vrfGuiApplication.h:366
const std::string & vrvSvnRevision() const
Definition: vrfGuiApplication.h:270
void setVrvSvnRevision(const std::string &s)
Definition: vrfGuiApplication.h:269
Definition: vrfGuiApplication.h:55

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)