VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSaveScenarioHandler.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrvUtil/signalslib.h>
13 
15 
16 #include <QtCore/QString>
17 
18 class DtScenario;
19 class DtString;
20 
21 namespace makVrv
22 {
23  class DtDe;
24 }
25 
26 namespace makVrf
27 {
28  const int DtSaveCurrentCheckpoint = 0x00000001;
29 
35  {
36  public:
38  virtual ~DtVrfSaveScenarioHandler();
39 
41  static DtVrfSaveScenarioHandler& instance(makVrv::DtDe& de);
42 
43  virtual bool saveScenarioAs();
44 
47 
54  virtual int saveScenario(bool forceOverwrite = false, bool queueSave = false, bool useScenarioNameAsSeed = true);
55 
56  virtual void setScenario(const DtScenario*);
57 
59  virtual bool isValidScenarioExtension(const DtString& extension) const;
60 
64  virtual bool isDefaultObserverView(const std::string&) const;
65  virtual std::string defaultObserverView(bool& is2D) const;
66  virtual void setDefaultObserverView(const std::string&);
67 
68  virtual void setTerrainViewVisible(const std::string&, bool vis);
69  virtual const std::set<std::string>& hiddenTerrainViews() const;
70  virtual std::set<std::string>& hiddenTerrainViews();
71  virtual bool terrainViewHidden(const std::string&) const;
72 
74  virtual void setHiddenTerrainViews(const std::string&);
76 
79  virtual bool saveScenario(const QString& s, bool setAsSaved = true, bool queueSave = false,
80  bool preserveBackendMappings = true, bool startPlayingAfterSave = false);
81  virtual bool saveScenario(const DtFilename& s, bool setAsSaved = true, bool queueSave = false,
82  bool preserveBackendMappings = true, bool startPlayingAfterSave = false);
83  virtual bool setupScenarioToSave(const QString& filename, bool setAsSaved);
84 
87  virtual bool getScenarioSaveName(QString&, bool* asked = 0, bool useScenarioNameAsSeed = true) const;
88 
91  virtual DtFilename saveScenarioName(bool askIfDoesNotExist = true, bool* asked = 0, bool useScenarioNameAsSeed = true) const;
92 
96  virtual void setCheckpointIdentifier(const std::string&);
97  virtual const std::string& checkpointIdentifier() const;
98 
103  virtual DtFilename chooseScenarioNameBasedOn(const DtScenario&, bool saveIntoScenario = false);
104 
105  virtual QString makeRelativeTo(QString origFile, QString path) const;
106 
109  virtual void checkpointScenario(const QString& baseFilename, bool forceOverwrite = false, bool queueSave = false,
110  bool startPlayingAfterSave = false);
111 
113  virtual QString checkpointIdentifier(const QString& filename, bool plain = false) const;
114  virtual QString checkpointIdentifier(const QString& filename, double currentSimTime, bool plain = false) const;
115  virtual QString getTimeString(double time, char separator = '_') const;
116 
118  virtual void setDataIntoScenario(DtScenario&);
119 
122  virtual DtScenario* initializeCheckpointedScenario(const DtFilename& scenarioName, double simTime);
123 
127  virtual std::string scenarioExtentInformation() const;
128 
130  virtual void newScenario();
131 
133  virtual void closeScenario();
134 
136  virtual QString startingDirectory() const;
137  virtual void setStartingDirectory(const QString&);
138 
139  const DtScenario* scenario() const
140  {
141  return myScenario;
142  }
143 
144  virtual void setSaving(bool);
145  virtual bool saving() const { return mySaving; };
146 
147  DtFilename savedFilename() const;
148 
149  protected:
150  virtual QString createFilterList() const;
151 
152  virtual QString relativePath() const;
153  virtual QString dataFolder() const;
154 
155  static bool preserveMappings(void*);
156  virtual bool processPreserveMappings();
157 
158  protected:
159  virtual bool saveSelectionGroups(const QString& scenarioName, QString& selectionGroups, bool saveToZip) const;
160  virtual bool saveOverlays(const QString& scenarioName, QString& overlayName, bool saveToZip) const;
161 
163  virtual bool saveGuiSettings(const QString& scenarioname, QString& guiSettingsName, bool saveToZip) const;
164 
166  virtual bool saveObserverViews(const QString& scenarioname, QString& observerSettingsName, bool saveToZip) const;
167 
168  protected:
170  mutable QString myStartingDirectory;
176  bool mySaving;
177  std::set<std::string> myHiddenTerrainViews;
178  };
179 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::string myDefaultObserverView
Definition: vrfSaveScenarioHandler.h:173
std::set< std::string > myHiddenTerrainViews
Definition: vrfSaveScenarioHandler.h:177
bool mySaving
Definition: vrfSaveScenarioHandler.h:176
Definition: scenario.h:52
const int DtSaveCurrentCheckpoint
Definition: vrfSaveScenarioHandler.h:28
DtScenario * myScenario
Definition: vrfSaveScenarioHandler.h:171
bool myRootSaveTimeSet
Definition: vrfSaveScenarioHandler.h:175
Contains makVrv::DtVirtualBaseClass class.
const DtScenario * scenario() const
Definition: vrfSaveScenarioHandler.h:139
virtual bool saving() const
Definition: vrfSaveScenarioHandler.h:145
QString myStartingDirectory
Definition: vrfSaveScenarioHandler.h:170
The DtVrfSaveScenarioHandler is responsible for getting the name of the scenario to save to and then ...
Definition: vrfSaveScenarioHandler.h:34
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
makVrv::DtDe & myDe
Definition: vrfSaveScenarioHandler.h:169
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
double myRootSaveSimTime
Definition: vrfSaveScenarioHandler.h:172
std::string myCheckpointIdentifier
Definition: vrfSaveScenarioHandler.h:174

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)