VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
20 
21 namespace makVrv
22 {
23  class DtMenuConfiguration;
24  class DtDe;
25  class DtVrvApplicationConfiguration;
26  class DtElementDefinitionManager;
27 }
28 
29 namespace makVrf
30 {
33 
35  class DtVrfGuiPluginManager;
36 
39  {
40  public:
41  typedef std::map<std::string, std::string> ObserverModeBindings;
42 
44  {
45  PvdAndStealthMode = 0,
47  StealthMode
48  };
49 
50  public:
54 
56  virtual ~DtVrfGuiApplication();
57 
61  virtual void initialize( int argc, char** argv );
62 
64  virtual void assemble();
65 
67  virtual void run();
68 
70  static DtVrfGuiApplication* app(makVrv::DtDe&);
71 
73 #if USE_VLD_MEMORY_TRACKING && _DEBUG
74  static void setUseVld(bool);
75 #endif
76 
77 
78 
79 
80  static void setShowPerspective(const std::string&);
81 
86  static void setGuiConfiguration(const std::string&);
87 
90  static void setObserverModeBindings(const ObserverModeBindings& modes);
91 
94  static const ObserverModeBindings& observerModeBindings();
95 
98  static const std::vector<std::string>& additionalPluginsToLoad();
99 
102  static void setAdditionalPluginsToLoad(const std::vector<std::string>&);
103 
106  static bool loadDefaultPlugins();
107 
110  static void setLoadDefaultPlugins(bool);
111 
114  static bool checkPluginVersions();
115 
118  static void setCheckPluginVersions(bool);
119 
122  static const std::string& transport();
123 
126  static void setTransport(const std::string&);
127 
130  static const std::string& loadScenario();
131 
134  static void setLoadScenario(const std::string&);
135 
137  static const std::string& useFileCommChannel();
138  static void setUseFileCommChannel(const std::string&);
139 
141  static void setLayoutSettingsFile(const std::string&);
142  static std::string layoutSettingsFile();
143 
146  static const std::string& loadSimulationObjectGroup();
147 
150  static void setLoadSimulationObjectGroup(const std::string&);
151 
153  static void setDefaultSimulationModelSet(const std::string&);
154  static const std::string& defaultSimulationModelSet();
155 
158  static ObserverMode observerMode();
159 
162  static void setObserverMode(ObserverMode);
163 
166  void setPluginApplication(const std::string&);
167 
170  const std::string& pluginApplication() const;
171 
174  static void setShouldLoadGuiSavedState(bool);
175  static bool shouldLoadGuiSavedState();
176 
178  virtual void setLoadSystemPlugins(bool);
179  virtual bool loadSystemPlugins() const;
180 
182  virtual makVrv::DtUnicode applicationName() const;
183 
185  virtual void writeGuiConfiguration();
186 
188  virtual void loadSavedGuiState();
189 
191  virtual bool getShowStartupScreen() const;
192 
193  protected:
196  virtual void loadPluginModules();
197 
201  virtual void loadPluginModulesExt();
202 
203  public:
204  boost::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_preAssemble;
205  boost::signal<void (makVrv::DtDe&, makVrv::DtMenuConfiguration&)> signal_postAssemble;
206  boost::signal<void (makVrv::DtDe&)> signal_deInitialized;
207  boost::signal<void ()> signal_preLoadPlugins;
208  boost::signal<void ()> signal_postLoadPlugins;
209  boost::signal<void ()> signal_preWriteGuiConfiguration;
210  boost::signal<void ()> signal_postWriteGuiConfiguration;
211  boost::signal<void (std::string)> signal_terrainSaved;
212 
213  protected:
216  virtual void bindObserverModes(const ObserverModeBindings& modes);
217 
222  virtual DtVrfGuiPluginManager* createPluginManager();
223 
226  virtual void dePostInitialize();
227 
230  virtual void setupForObserverMode();
231 
233  virtual void setupForPvdMode();
234 
236  virtual void setupForStealthMode();
237 
239  virtual void setupAdditionalVisualizers();
240 
242  virtual void setupAdditionalTacticalGraphicsVisualizers();
243 
245  virtual void setupNavigationAreaVisualizer();
246 
248  virtual void setupBoundingVolumes();
249 
251  virtual void setupObjectConsoleWarngForTacticalGraphics();
252 
254  virtual void setupBoundingVolumes(const std::string& root);
255 
257  virtual void setupRangeRings();
258  virtual void addRangeRingsFor(int managerType);
259 
261  virtual void setupSensorContactLines();
262  virtual void addSensorContactLinesFor(int managerType);
263 
264  virtual void setupAdditionalAggregateVisualizers();
265 
266  virtual void postTickInitialize();
267 
268  virtual bool updateCurrentGuiConfiguration();
269 
270  protected:
272  static std::vector<std::string> theAdditionalPluginsToLoad;
275  static std::string theTransport;
276  static std::string theLoadScenario;
277  static std::string theLayoutSettingsFile;
278  static std::string theLoadSimulationObjectGroup;
279  static std::string theUseFileCommChannel;
280  static std::string theGuiConfiguration;
281  static std::string theShowPerspective;
282  static std::string theDefaultSimulationModelSet;
284  static bool theLoadGuiSavedState;
285 
287  std::string myPluginApplication;
288 
290  std::map<makVrv::DtElementDefinitionManager*, bool> myModifiedManagers;
291 
293  };
294 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)