VR-Forces 4.0.4 Class Documentation
include/vrvGlStudioShared/DtSharedCockpitSettings.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSharedCockpitSettings.h,v $ $Revision: 1.6 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 #pragma once
00013 #include <vrvGlStudioShared/DtGlStudioShared.h>
00014 #include <vrvGlStudioShared/DtGlStudioAttributeUpdaterFactory.h>
00015 #include <makArchives/DtCockpitSettingsRecord.h>
00016 
00017 #include <vrvCore/DtSharedSettings.h>
00018 #include <vrvCore/DtUniqueID.h>
00019 #include <vrvCore/DtRecordSettingsBackup.h>
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 class DtEntityType;
00025 
00026 namespace makVrv
00027 {
00028    class DtEntityTypeMapper; 
00029    class DtEntityTypeMapperCreator;
00030    class DtModelDefinition;
00031    class DtDe;
00032    class DtObserver;
00033    class DtSharedCockpitSettings;
00034 
00035    typedef DtSharedRecordSettingsBackup<DtSharedCockpitSettings, makArchives::DtCockpitSettingsRecord> DtCockpitSettingsBackup;
00036 
00039    class DT_DLL_VRVGLSTUDIOSHARED DtSharedCockpitSettings : public DtSharedSettings
00040    {
00041    public:
00042 
00045       friend class DtReadSettingsLock<DtSharedCockpitSettings>;
00046       friend class DtWriteSettingsLock<DtSharedCockpitSettings>;
00047       friend class DtSharedSettingsManager;
00048 
00052       static std::string className();
00053 
00055       virtual ~DtSharedCockpitSettings();
00056 
00058       void setCockpitMapper(const DtEntityTypeMapper& cockpitTypeMapper);
00059 
00061       void setCockpitModelMapping(const DtEntityType& type, const std::string& definition);
00062 
00064       const std::vector<DtUnicode>&  mapCockpitModelDefinition(const DtEntityType& type) const;
00065 
00067       virtual void setDe(DtDe*);
00068 
00070       const DtModelDefinition* findCockpitDefinition(const std::string& str) const;
00071 
00073       virtual DtEntityTypeMapper* findMapperByName(const std::string& name);
00074       virtual const DtEntityTypeMapper* findMapperByName(const std::string& name) const;
00075 
00077       virtual DtEntityTypeMapper& cockpitTypeMapper();
00078       virtual const DtEntityTypeMapper& cockpitTypeMapper() const;
00079 
00081       virtual void setFromRecord(const makArchives::DtCockpitSettingsRecord& rec);
00082 
00084       virtual void getRecord(makArchives::DtCockpitSettingsRecord& rec ) const;
00085 
00087       virtual void mapperChanged(const DtEntityType& type, const DtUnicode& value, DtEntityTypeMapper& mapper);
00088 
00090       virtual void realizeCockpit(DtObserver* obs, DtUniqueID& id);
00092       virtual void unrealizeCockpit(DtObserver* obs);
00093 
00095       virtual const std::string& dataPath() const;
00097       virtual void setDataPath(const std::string& path);
00098 
00100       virtual void setCockpitsEnabled(bool enable);
00102       virtual bool cockpitsEnabled() const;
00103 
00105       virtual void hideEntity(const std::string& obsName);
00107       virtual void unHideEntity(const std::string& obsName);
00108 
00110       virtual DtGlStudioAttributeUpdaterFactory& updaterFactory();
00111 
00113       virtual bool smoothingEnabled() const;
00115       virtual void setSmoothingEnabled(bool smooth);
00116 
00118       virtual double smoothingPeriod() const;
00120       virtual void setSmoothingPeriod(const double& period);
00121 
00122       const DtSettingsBackup* settingsBackup() const
00123       {
00124          return mySettingsBackup;
00125       }
00126 
00127       DtSettingsBackup* settingsBackup()
00128       {
00129          return mySettingsBackup;
00130       }
00131 
00133       virtual void backup();
00134 
00135    protected:
00136 
00138       DtSharedCockpitSettings(DtSharedSettingsManager& manager);
00139 
00140       //Empty vector, for returning the reference which will always be empty.
00141       std::vector<DtUnicode> myEmptyMappings;
00142 
00143       //Entity type mapping
00144       DtEntityTypeMapper* myCockpitTypeMapper;
00145       std::string myDataPath;
00146       bool myCockpitsEnabled;
00147       bool myCockpitSmoothingEnabled;
00148       double myCockpitSmoothingPeriod;
00149 
00150       DtDe* myDe;
00151 
00152       DtGlStudioAttributeUpdaterFactory myUpdaterFactory;
00153       DtCockpitSettingsBackup*                mySettingsBackup;
00154    };
00155 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)