VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVrvApplication.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtVrvApplication_H_
11 #define DtVrvApplication_H_
12 
16 
17 #include <string>
18 #include <map>
19 
20 #include <boost/function.hpp>
21 
22 namespace makArchives { class DtObserverStateRecordsList; }
23 
24 namespace makVrv
25 {
26 
27  class DtDe;
28  class DtEventLoop;
29  class DtPluginManager;
30  class DtStartupDialog;
31  class DtSignalConnectionManager;
53  {
54  public:
55  // constant for the maximum number of recent terrains saved at a time
56  const static int MAX_RECENT_TERRAIN_COUNT = 20;
57 
58  public:
59 
63 
65 
67  virtual ~DtVrvApplication();
68 
70  static DtVrvApplication *get_last_instance();
71 
74  static void ShowSplashScreen(const std::string& imageName);
75 
80  static void ShowErrorMessage(const std::string& message, DtException* ex = 0);
81 
83  DtVrvApplicationConfiguration& configuration();
84 
86  DtPageConfiguration& masterModePageConfiguration();
87  DtPageConfiguration& slaveModePageConfiguration();
88 
90  DtMenuConfiguration& masterModeMenuConfiguration();
91  DtMenuConfiguration& slaveModeMenuConfiguration();
92 
94  DtToolbarConfiguration& masterModeToolbarConfiguration();
95  DtToolbarConfiguration& slaveModeToolbarConfiguration();
96 
98  DtDe& de();
99 
104  virtual void initialize(int argc,char** argv);
105 
110  virtual void run();
111 
115  static DtVrvApplication* findFromDe(DtDe&);
116 
120  static bool parseDisplayEngineParameter(const std::string& argument,
121  int& port,std::string& address, std::string& displayConfig);
122 
124  static std::string displayEngineParameterFormatting();
125 
127 
129  typedef boost::function<void (DtVrvApplicationConfiguration&, int argc, char** argv)> ConfigurationTransform;
130 
132  virtual void installCommandLineProcessor(DtVrvCommandLineProcessor* commandLineProcessor);
133 
136  typedef boost::function<void (DtDeInitializer&, DtDe&, DtVrvApplicationConfiguration&)> ApplicationTransform;
137 
139  virtual void installPrePluginTransform(const ApplicationTransform& transform, const std::string& id);
140 
142  virtual void installPostPluginTransform(const ApplicationTransform& transform, const std::string& id);
143 
145  virtual void installPostAssembleTransform(const ApplicationTransform& transform, const std::string& id);
146 
148 
150 
152  static void handleFileError( const std::string& filename, const std::string& fileType );
153 
155  static void bindViews(const std::vector<std::string>& filenames,
157 
159  static bool loadObserverStateRecords(const std::string& file,
161 
163  static void loadViews(const std::vector<std::string>& filenames,
165 
167 
170  virtual void writeGuiConfiguration();
171 
173  virtual bool updateCurrentGuiConfiguration();
174 
176  virtual DtPluginManager& pluginManager();
177 
180  virtual void slot_sceneTerrainLoaded(const DtUnicode& terrain);
181  virtual void slot_sceneTerrainSaved(const std::string& terrain);
182  virtual void slot_sceneToBeLoaded(const std::string& terrain);
183  virtual void slot_sceneLoaded(const std::string& terrain);
184  virtual void slot_sceneSaved(const std::string& terrain);
185 
186  virtual std::list<std::string>& getRecentTerrains();
187 
188  virtual bool getShowStartupScreen() const;
189 
190  virtual void setShowStartupScreen(bool show);
191 
193  static void setShowErrorMessageDialog(bool show);
194 
196  static bool showErrorMessageDialog();
197 
198  protected:
199 
202  virtual void loadPluginModules();
203 
205  virtual void assemble();
206 
208  virtual void createDefaultDisplayEngineConfiguration();
209 
211  virtual DtDisplayConfiguration embeddedMasterDisplayConfig();
212 
214  virtual void createDefaultObserverConfiguration();
215 
217  virtual void loadSavedGuiState();
218 
220  virtual void addRecentTerrain(const std::string& terrain);
221 
222  protected:
223 
230 
231  typedef std::list< std::pair<std::string, ApplicationTransform> > InitializerTransformList;
235 
238 
239  // The last instance of DtVrvApplication created (if any)
242 
243  };
244 
245 }
246 
247 #endif
DtVrvCommandLineProcessor * myCommandLineProcessor
Definition: DtVrvApplication.h:226
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Loads plugins.
Definition: DtPluginManager.h:25
Contains makVrv::DtVrvCommandLineProcessor class.
InitializerTransformList myPostPluginTransforms
Definition: DtVrvApplication.h:233
static bool theShowErrorMessageDialog
Definition: DtVrvApplication.h:241
InitializerTransformList myPostAssembleTransforms
Definition: DtVrvApplication.h:234
DtVrvApplicationConfiguration myConfiguration
Definition: DtVrvApplication.h:224
DtDeInitializer myInitializer
Definition: DtVrvApplication.h:225
DtPluginManager * myPluginManager
Definition: DtVrvApplication.h:228
The DtVrvCommandLineProcessor is an interface for an application-specific command line parser...
Definition: DtVrvCommandLineProcessor.h:21
DtSignalConnectionManager * myConnections
Definition: DtVrvApplication.h:236
std::vector< std::pair< std::string, makArchives::DtObserverStateRecord > > ObserverStateMap
A map of observer names, to DtObserverStateRecords.
Definition: DtDeInitializer.h:74
Contains makVrv::DtVirtualBaseClass class.
DtEventLoop * myEventLoop
Definition: DtVrvApplication.h:229
DtObserverStateRecordsList class contains a collection of DtObserverStateRecord.
Definition: DtObserverStateRecordsList.h:21
DtDe * myDe
Definition: DtVrvApplication.h:227
The Root IG Application object. To run the IG simply create one, initialize it and call run...
Definition: DtVrvApplication.h:52
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
A configuration of the pages in the gui.
Definition: DtPageConfiguration.h:25
InitializerTransformList myPrePluginTransforms
Definition: DtVrvApplication.h:232
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:30
bool myIsSceneLoading
Definition: DtVrvApplication.h:237
boost::function< void(DtDeInitializer &, DtDe &, DtVrvApplicationConfiguration &)> ApplicationTransform
Type for a function object that transforms an DtDeInitializer, DtDe or DtVrvApplicationConfiguration ...
Definition: DtVrvApplication.h:136
A configuration of the toolbar layout.
Definition: DtToolbarConfiguration.h:25
A configuration of a menu layout. A menu configuration manages an ordered collection of menu paths th...
Definition: DtMenuConfiguration.h:43
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 DtVrvApplication * sLastAppInstance
Definition: DtVrvApplication.h:240
std::list< std::pair< std::string, ApplicationTransform > > InitializerTransformList
Definition: DtVrvApplication.h:231
Contains makVrv:DtVrvApplicationConfiguration class.
boost::function< void(DtVrvApplicationConfiguration &, int argc, char **argv)> ConfigurationTransform
Type for a function object that transforms an app config in some way.
Definition: DtVrvApplication.h:129
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:36
The abstract DtEventLoop class.
Definition: DtEventLoop.h:24

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)