VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSharedCockpitSettings.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
10 #pragma once
14 
16 #include <vrvCore/DtUniqueID.h>
18 
19 #include <string>
20 #include <vector>
21 
22 class DtEntityType;
23 
24 namespace makVrv
25 {
26  class DtEntityTypeMapper;
27  class DtEntityTypeMapperCreator;
28  class DtModelDefinition;
29  class DtDe;
30  class DtObserver;
32 
34 
38  {
39  public:
40 
46 
50  static std::string className();
51 
53  virtual ~DtSharedCockpitSettings();
54 
56  void setCockpitMapper(const DtEntityTypeMapper& cockpitTypeMapper);
57 
59  void setCockpitModelMapping(const DtEntityType& type, const std::string& definition);
60 
62  const std::vector<DtUnicode>& mapCockpitModelDefinition(const DtEntityType& type) const;
63 
65  virtual void setDe(DtDe*);
66 
68  const DtModelDefinition* findCockpitDefinition(const std::string& str) const;
69 
71  virtual DtEntityTypeMapper* findMapperByName(const std::string& name);
72  virtual const DtEntityTypeMapper* findMapperByName(const std::string& name) const;
73 
75  virtual DtEntityTypeMapper& cockpitTypeMapper();
76  virtual const DtEntityTypeMapper& cockpitTypeMapper() const;
77 
79  virtual void setFromRecord(const makArchives::DtCockpitSettingsRecord& rec);
80 
82  virtual void getRecord(makArchives::DtCockpitSettingsRecord& rec ) const;
83 
85  virtual void mapperChanged(const DtEntityType& type, const DtUnicode& value, DtEntityTypeMapper& mapper);
86 
88  virtual void realizeCockpit(DtObserver* obs, DtUniqueID& id,
89  const std::string& modelDefinition = "");
90 
92  virtual void unrealizeCockpit(DtObserver* obs);
93 
97  virtual void computePlatformDataPath(std::string& path) const;
98 
102  virtual const std::string& dataPath() const;
103 
107  virtual void setDataPath(const std::string& path);
108 
110  virtual void setCockpitsEnabled(bool enable);
112  virtual bool cockpitsEnabled() const;
113 
115  virtual void hideEntity(const std::string& obsName);
117  virtual void unHideEntity(const std::string& obsName);
118 
122  virtual void setAttachmentHas3DCockpit(const std::string& obsName,
123  bool cockpit);
124 
126  virtual DtGlStudioAttributeUpdaterFactory& updaterFactory();
127 
129  virtual bool smoothingEnabled() const;
131  virtual void setSmoothingEnabled(bool smooth);
132 
134  virtual double smoothingPeriod() const;
136  virtual void setSmoothingPeriod(const double& period);
137 
139  {
140  return mySettingsBackup;
141  }
142 
144  {
145  return mySettingsBackup;
146  }
147 
149  virtual void backup();
150 
151  protected:
152 
155 
156  //Empty vector, for returning the reference which will always be empty.
157  std::vector<DtUnicode> myEmptyMappings;
158 
159  //Entity type mapping
161  std::string myDataPath;
165 
167 
170  };
171 }
DtDe * myDe
Definition: DtSharedCockpitSettings.h:166
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Factory for building GLStudio attribute updaters for a cockpit.
Definition: DtGlStudioAttributeUpdaterFactory.h:23
An EntityType to Definition mapper.
Definition: DtEntityTypeMapper.h:34
The shared simulation settings.
Definition: DtSharedCockpitSettings.h:37
double myCockpitSmoothingPeriod
Definition: DtSharedCockpitSettings.h:164
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
DtGlStudioAttributeUpdaterFactory myUpdaterFactory
Definition: DtSharedCockpitSettings.h:168
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
DtSharedRecordSettingsBackup< DtSharedCockpitSettings, makArchives::DtCockpitSettingsRecord > DtCockpitSettingsBackup
Definition: DtSharedCockpitSettings.h:31
bool myCockpitSmoothingEnabled
Definition: DtSharedCockpitSettings.h:163
DtCockpitSettingsBackup * mySettingsBackup
Definition: DtSharedCockpitSettings.h:169
A facade for a DtObserverObject.
Definition: DtObserver.h:38
Contains makArchives::DtCockpitSettingsRecord class.
std::vector< DtUnicode > myEmptyMappings
Definition: DtSharedCockpitSettings.h:157
Contains the DtSharedSettings class declaration.
const DtSettingsBackup * settingsBackup() const
Accessor for the settings backup (const).
Definition: DtSharedCockpitSettings.h:138
std::string myDataPath
Definition: DtSharedCockpitSettings.h:161
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
#define DT_DLL_VRVGLSTUDIOSHARED
Definition: DtGlStudioShared.h:22
Contains makVrv::DtUniqueID type.
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:76
DtEntityTypeMapper * myCockpitTypeMapper
Definition: DtSharedCockpitSettings.h:160
bool myCockpitsEnabled
Definition: DtSharedCockpitSettings.h:162
The makVrv::DtSharedRecordSettingsBackup is a templaced class that settings records will use in order...
Definition: DtRecordSettingsBackup.h:223
DtSettingsBackup * settingsBackup()
Accessor for the settings backup.
Definition: DtSharedCockpitSettings.h:143
A DtCockpitSettingsRecord contains the information to recreate a prop.
Definition: DtCockpitSettingsRecord.h:18

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)