VR-Forces 5.0.2 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 
37  {
38  public:
40 
41  typedef std::map<int, bool> ModelSetRealizations;
42 
45 
47  const ModelSetRealizations& modelSetRealizations() const;
48 
50  bool visualizeModelSet( int modelSet ) const;
51 
53  void setVisualizeModelSet( int modelset, bool visualize );
54 
56  bool loadModelSetRealizations( const std::string& filepath );
57 
58  bool saveModelSetRealizations( const std::string& filepath ) const;
59 
61  void saveAsDefaults();
62 
63  void loadDefaults();
64 
67  const std::string& name() const;
68 
70  void setName( const std::string& name );
71 
73  const std::string& extension() const;
74 
76  void setExtension( const std::string& extension );
77 
78  void setAutoSave(bool b);
79 
80  bool autoSave() const;
81 
82  void setFromRecord( const makArchives::DtModelSetRealizationsRecord& record );
83 
84  void getRecord( makArchives::DtModelSetRealizationsRecord& record ) const;
85 
86  protected:
87 
90 
91  std::string defaultFilePath() const;
92 
93  protected:
94 
96 
97  // Says which model sets can be used in what modes
99 
102  std::string myName;
103  std::string myExtension;
104  };
105 
109  {
110  public:
111 
113  static DtModelSetRealizationManagerSignaler& instance(DtDe& de);
114 
117 
119  boost::signalslib::signal<void (int, bool)> signal_modelSetVisualized;
120 
121  protected:
123 
124  };
125 
126 
130  {
131  public:
134 
137 
141  static DtModelSetRealizationManagerCreator& instance(DtDe& de);
142 
144  virtual DtModelSetRealizationManager* create(DtDe&);
145  };
146 }
147 #endif
boost::signalslib::signal< void(int, bool)> signal_modelSetVisualized
Signal emitted when a model set comes into use.
Definition: DtModelSetRealizationManager.h:119
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:129
bool myAutoSave
Definition: DtModelSetRealizationManager.h:101
std::string myName
Definition: DtModelSetRealizationManager.h:102
DtModelSetRealizationManager is responsible for tracking which model sets are currently realized...
Definition: DtModelSetRealizationManager.h:36
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
the Signals for DtSchemaManager
Definition: DtModelSetRealizationManager.h:108
DtModelSetRealizationsRecord is the serializable record used to read and write a vector of modelSet /...
Definition: DtModelSetRealizationsRecord.h:23
DtDe & myDe
Definition: DtModelSetRealizationManager.h:95
DtModelSetRealizationManagerSignaler & mySignaler
Definition: DtModelSetRealizationManager.h:100
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
ModelSetRealizations myModelSetRealizations
Definition: DtModelSetRealizationManager.h:98
std::string myExtension
Definition: DtModelSetRealizationManager.h:103
std::map< int, bool > ModelSetRealizations
Definition: DtModelSetRealizationManager.h:41
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)