VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverViewsManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvCore/vrvCore.h>
15 
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23  class DtObserver;
24  class DtUnicode;
25 
29  {
30 
31  public:
32 
34 
36  {
38  Projection3D
39  };
40 
41  virtual ~DtObserverViewsManager();
42 
47  virtual void loadTerrainObserverViewsFile(const DtUnicode& pathTofile, bool reload);
48 
50  virtual void loadObserverViewsFile(const DtUnicode& pathTofile);
51 
54  virtual std::string generateUniqueNameForObserverViewRecord(const makArchives::DtObserverStateRecord&) const;
55 
57  virtual void addObserverViewRecordToList(const makArchives::DtObserverStateRecord& observerStateRecord);
58 
61  virtual void setObserverViewByName(const std::string& observerViewName, bool animate = false);
62 
65  virtual void setObserverViewByNameAndMode(const std::string& observerViewName, ViewProjection projection, bool animate = false);
66 
68  // it doesn't support terrain patches
69  virtual void associateObserverViewsToTerrain(bool associate);
70 
72  virtual const std::string& observerView3DDefaultRecordName() const;
73 
75  virtual void setObserverView3DDefaultRecordName(const std::string& val);
76 
78  virtual const std::string& observerView2DDefaultRecordName() const;
79 
81  virtual void setObserverView2DDefaultRecordName(const std::string& val);
82 
88  virtual bool getTerrainDefaultObserverView(std::string& defaultView, ViewProjection& projection);
89 
94  virtual void setTerrainDefaultObserverView();
95 
97  virtual const makArchives::DtObserverStateRecordsList& observerViewList();
98 
100  virtual void setObserverViewList(const makArchives::DtObserverStateRecordsList& val);
101 
103  virtual void saveObserverViewsFile(const DtUnicode& filename);
104 
106  virtual void saveObserverViewFile(const DtUnicode& filename, const std::string& observerViewName, ViewProjection projection);
107 
109  virtual bool renameObserverRecord(const std::string& newName, const std::string& oldName, ViewProjection projection);
110 
112  virtual void setDefaultObserverViewRecord(const std::string& recordName, ViewProjection projection);
113 
115  virtual void unSetDefaultObserverViewRecord(const std::string& recordName, ViewProjection projection);
116 
118  virtual void clearObserverViewList();
119 
121  virtual bool removeObserverViewRecord(const std::string& observerViewName, ViewProjection projection);
122 
125  bool isRecordAssociatedToTerrain(const std::string& recordDisplayName);
126 
127 
129  virtual void setIsDefaultObserverViewRecord(const std::string& newName, bool isDefault);
130 
132  virtual void setIsDefaultObserverViewRecord(const makArchives::DtObserverStateRecord& record, bool isDefault);
133 
135  virtual bool setAssociateObserverViewRecord(const std::string&, bool associate);
136 
138  virtual unsigned int countAssociatedViews() const;
139 
141  // adds it to the observer view list
142  virtual void captureAndAddObserverView();
143 
145  const std::string& rightClickedObserverViewName() const;
146 
148  void setRightClickedObserverViewName(const std::string& val);
149 
151  ViewProjection rightClickedObserverViewProjection() const;
152 
154  void setRightClickedObserverViewProjection(ViewProjection projection);
155 
158  bool rightClickedObserverViewIsAttached() const;
159 
162  void setRightClickedObserverViewIsAttached(bool val);
163 
166  void setRightClickedObserverViewIsAttached(const std::string& recordName);
167 
170  bool rightClickedObserverViewIsAssociated() const;
171 
174  void setRightClickedObserverViewIsAssociated(bool val);
175 
178  void setRightClickedObserverViewIsAssociated(const std::string& recordName);
179 
182  const std::string& observerViewsFile() const;
183 
186  void setObserverViewsFile(const std::string& val);
187 
190  bool isDirty() const;
191 
193  void setDirty(bool val);
194 
196  bool areDefaultsDirty() const;
197 
199  void setDefaultsDirty(bool val);
200 
202  const std::string& terrainObserverViewRecordsFileName() const;
203 
205  void setTerrainObserverViewRecordsFileName(const std::string& val);
206 
208  void setObserverViewRecordsFromIntializer();
209 
212  bool findObserverViewByNameAndMode(const std::string& observerName, ViewProjection projection, makArchives::DtObserverStateRecord& record);
213 
215  void setObserverViewByrecord(makArchives::DtObserverStateRecord& record, bool animate = false);
216 
217  protected:
218 
219 
222 
223  protected:
226 
228  virtual bool readObserverViewListFromFile(const DtUnicode& fileName, makArchives::DtObserverStateRecordsList& recordList);
229 
232  virtual void slot_terrainCleared(bool reload);
233 
235  virtual void slot_onApplicationQuit();
236 
238  virtual void slot_closeConfirmationMessageToBeDisplayed();
239 
242  virtual void processObserverViewRecordsList(makArchives::DtObserverStateRecordsList& incomingList, bool associated);
243 
249  virtual DtObserver* findObserverToUse();
250 
251  protected:
252 
254 
257 
260 
263 
266 
267  // \brief gui uses this variable to retrieve the observer view record name where the system called a
268  // right click event.
270 
271  // \brief gui uses this variable to retrieve the observer view record mode where the system called a
272  // right click event.
274 
275  // \brief gui uses this variable to check if the observer view record where the system called a
276  // right click event is attached to an entity.
278 
279  // \brief gui uses this variable to check if the observer view record where the system called a
280  // right click event is associated to the opened terrain in the scene
282 
283  // \brief observers views list
284  std::string myObserverViewsFile;
285 
286  // default 2d observer view name
287  //std::string myDefault2DObserverViewDisplayName;
288 
289  // default 3d observer view name
290  //std::string myDefault3DObserverViewDisplayName;
291 
293 
295 
297  bool myIsDirty;
298 
302 
304  };
305 
306 
310  {
311  public:
312 
315 
317  static DtObserverViewsManagerCreator& instance(DtDe&);
318 
320  static void registerInstance(DtDe& de, DtObserverViewsManagerCreator*);
321 
323  virtual DtObserverViewsManager* create(DtDe& de);
324  };
325 
329  {
330  public:
331 
333  static DtObserverViewManagerSignaler& instance(DtDe&);
334 
337 
339  boost::signal<void()> signal_observerViewListIsDirty;
340 
342  boost::signal<void(DtObserverViewsManager::ViewProjection projection, const std::string& viewName)> signal_defaultViewChanged;
343 
345  boost::signal<void(const makArchives::DtObserverStateRecord& observerView)> signal_capturedObserverViewAdded;
346 
348  boost::signal<void(const makArchives::DtObserverStateRecord& observerView)> signal_observerViewRemoved;
349 
351  boost::signal<void(const std::string& oldName, const makArchives::DtObserverStateRecord& observerView)> signal_observerViewNameModified;
352 
355 
357  boost::signal<void(const makArchives::DtObserverStateRecordsList& observerView)> signal_observerViewDissociatedToTerrain;
358 
360  boost::signal<void(const makArchives::DtObserverStateRecordsList& observerViewList)> signal_observerViewsImportedAndMerge;
361 
363  boost::signal<void(const makArchives::DtObserverStateRecordsList& observerViewList)> signal_observerViewsImportedAndReplaced;
364 
366  boost::signal<void(const makArchives::DtObserverStateRecordsList& observerViewList)> signal_associatedViewsToTerrainLoaded;
367 
369  boost::signal<void(const makArchives::DtObserverStateRecordsList& observerViewList)> signal_associatedViewsToTerrainUnLoaded;
370 
373 
375  boost::signal<void()> signal_observerViewsCleared;
376 
378  boost::signal<void(const makArchives::DtObserverStateRecord&)> signal_setDefaultObserverViewRecord;
379 
381  boost::signal<void(const makArchives::DtObserverStateRecord&)> signal_unSetDefaultObserverViewRecord;
382 
383  protected:
384 
386 
387  };
388 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)