VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtModelSetRealizationManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtModelSetRealizationManager_H_
11 #define DtModelSetRealizationManager_H_
12 
13 #include <vrvCore/vrvCore.h>
14 
16 
17 #include <map>
18 
19 #include <vrvUtil/signalslib.h>
20 
21 
22 namespace makArchives
23 {
24  class DtModelSetRealizationsRecord;
25 }
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtModelSetRealizationManagerSignaler;
31  enum class DtModelSetId;
32 
38  {
39  public:
41 
42  typedef std::map<DtModelSetId, bool> ModelSetRealizations;
43 
46 
48  const ModelSetRealizations& modelSetRealizations() const;
49 
51  bool visualizeModelSet( DtModelSetId modelSet ) const;
52 
54  void setVisualizeModelSet( DtModelSetId modelset, bool visualize );
55 
57  bool loadModelSetRealizations( const std::string& filepath );
58 
59  bool saveModelSetRealizations( const std::string& filepath ) const;
60 
62  void saveAsDefaults();
63 
64  void loadDefaults();
65 
68  const std::string& name() const;
69 
71  void setName( const std::string& name );
72 
74  const std::string& extension() const;
75 
77  void setExtension( const std::string& extension );
78 
79  void setAutoSave(bool b);
80 
81  bool autoSave() const;
82 
83  void setFromRecord( const makArchives::DtModelSetRealizationsRecord& record );
84 
85  void getRecord( makArchives::DtModelSetRealizationsRecord& record ) const;
86 
87  protected:
88 
91 
92  std::string defaultFilePath() const;
93 
94  protected:
95 
97 
98  // Says which model sets can be used in what modes
100 
103  std::string myName;
104  std::string myExtension;
105  };
106 
110  {
111  public:
112 
114  static DtModelSetRealizationManagerSignaler& instance(DtDe& de);
115 
118 
120  boost::signalslib::signal<void ( DtModelSetId, bool)> signal_modelSetVisualized;
121 
122  protected:
124 
125  };
126 
127 
131  {
132  public:
135 
138 
142  static DtModelSetRealizationManagerCreator& instance(DtDe& de);
143 
145  virtual DtModelSetRealizationManager* create(DtDe&);
146  };
147 }
148 #endif
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Creator for DtModelSetRealizationManager class.
Definition: DtModelSetRealizationManager.h:130
bool myAutoSave
Definition: DtModelSetRealizationManager.h:102
std::string myName
Definition: DtModelSetRealizationManager.h:103
DtModelSetRealizationManager is responsible for tracking which model sets are currently realized...
Definition: DtModelSetRealizationManager.h:37
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
the Signals for DtSchemaManager
Definition: DtModelSetRealizationManager.h:109
DtModelSetRealizationsRecord is the serializable record used to read and write a vector of modelSet /...
Definition: DtModelSetRealizationsRecord.h:23
DtDe & myDe
Definition: DtModelSetRealizationManager.h:96
std::map< DtModelSetId, bool > ModelSetRealizations
Definition: DtModelSetRealizationManager.h:42
DtModelSetRealizationManagerSignaler & mySignaler
Definition: DtModelSetRealizationManager.h:101
boost::signalslib::signal< void(DtModelSetId, bool)> signal_modelSetVisualized
Signal emitted when a model set comes into use.
Definition: DtModelSetRealizationManager.h:120
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
DtModelSetId
Definition: DtModelSetEnums.h:19
ModelSetRealizations myModelSetRealizations
Definition: DtModelSetRealizationManager.h:99
std::string myExtension
Definition: DtModelSetRealizationManager.h:104
Contains DLL export macros.

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)