VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCloudLayerSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
16 
18 
19 #include <string>
20 
21 namespace makVrv
22 {
23 
24  class DtDe;
25 
48  : public DtBaseSettingsManager < makArchives::DtCloudLayerListRecord >
49  {
50  public:
51  typedef std::map<DtCloudTypeMapper::CloudType, makArchives::DtCloudLayerRecord> DtCloudTypeToCloudLayerRecordMap;
52 
53  public:
54 
56  DtCloudLayerSettingsManager() = delete;
57 
60 
62  DtCloudLayerSettingsManager& operator=(const DtCloudLayerSettingsManager& orig) = delete;
63 
66  static DtCloudLayerSettingsManager& instance(DtDe& de);
67 
69  virtual ~DtCloudLayerSettingsManager();
70 
73 
74  void setDefaultLengthForCloudType(DtCloudTypeMapper::CloudType type, float defaultLength);
75  float defaultLengthForCloudType(DtCloudTypeMapper::CloudType type) const;
76 
77  void setDefaultWidthForCloudType(DtCloudTypeMapper::CloudType type, float defaultWidth);
78  float defaultWidthForCloudType(DtCloudTypeMapper::CloudType type) const;
79 
81 
84 
86  void setFromRecord(const makArchives::DtCloudLayerListRecord& rec);
87 
89  void getRecord(makArchives::DtCloudLayerListRecord& rec) const;
90 
92 
93 
94  protected:
95 
97  template <typename ManagerClass>
98  friend ManagerClass& defaultManagerInstanceFunction(DtDe&, bool);
99 
101  template <typename ManagerClass>
102  friend void defaultManagerRegisterInstanceFunction(DtDe&, ManagerClass*);
103 
106 
107 
108  protected:
110  };
111 
112 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
Contains makArchives::DtCloudLayerListRecord class.
std::map< DtCloudTypeMapper::CloudType, makArchives::DtCloudLayerRecord > DtCloudTypeToCloudLayerRecordMap
Definition: DtCloudLayerSettingsManager.h:51
A record class that maintains a list of cloud layer records.
Definition: DtCloudLayerListRecord.h:19
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
A singleton settings manager, rooted in the display engine, that maintains default values for some cl...
Definition: DtCloudLayerSettingsManager.h:47
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
DtCloudTypeToCloudLayerRecordMap myCloudTypeToCloudLayerRecordMap
Definition: DtCloudLayerSettingsManager.h:109
The declaration of the makVrv::DtCloudTypeMapper class.
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
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
CloudType
Cloud layer types.
Definition: DtCloudTypeMapper.h:35
Contains the DtBaseSettingsManager class declaration.
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)