![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <vrvCore/vrvCore.h> 00013 00014 #include <vrvUtil/DtBaseSettingsManager.h> 00015 00016 #include <makArchives/DtForestSettingsRecord.h> 00017 00018 namespace makVrv 00019 { 00020 00021 class DtDe; 00022 00025 class DT_DLL_VRVCORE DtForestSettingsManager 00026 : public DtBaseSettingsManager<makArchives::DtForestSettingsRecord> 00027 { 00028 public: 00029 00031 static DtForestSettingsManager& instance( DtDe& de ); 00032 00034 virtual ~DtForestSettingsManager(); 00035 00038 00039 virtual void setFarClippingPlane(float farPlane); 00040 virtual float farClippingPlane() const; 00041 00042 virtual void setLodDistances(float nearLod, float farLod); 00043 virtual float nearLodDistance() const; 00044 virtual float farLodDistance() const; 00045 00046 virtual void setPerformanceProfile(int index); 00047 virtual int performanceProfile() const; 00048 00050 00053 00054 boost::signal<void (float)> signal_farClippingPlaneSet; 00055 boost::signal<void (float, float)> signal_lodDistancesSet; 00056 boost::signal<void (int)> signal_performanceProfileSet; 00057 00059 00062 00064 virtual void setFromRecord( const makArchives::DtForestSettingsRecord& rec ); 00065 00067 virtual void getRecord( makArchives::DtForestSettingsRecord& rec ) const; 00068 00070 00071 protected: 00072 00074 template <typename ManagerClass> 00075 friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool ); 00076 00078 template <typename ManagerClass> 00079 friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* ); 00080 00082 DtForestSettingsManager( DtDe& ); 00083 00084 protected: 00085 00086 makArchives::DtForestSettingsRecord mySettingsRecord; 00087 00088 }; 00089 00090 }