VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtDeSharedState.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2010 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtDeSharedState.h,v $ $Revision: 1.38 $ $State: Exp $ 
00007 ******************************************************************************/ 
00008 
00012 
00013 #pragma once
00014 
00015 #include <vrvCore/vrvCore.h> 
00016 
00017 #include <vrvCore/DtDe.h>
00018 #include <vrvCore/DtDeTimeManager.h>
00019 #include <vrvUtil/DtVirtualBaseClass.h>
00020 #include <vrvUtil/signalslib.h>
00021 
00022 namespace makVrv 
00023 { 
00024 
00025    class DtCoordinateSystem;
00026    class DtDeSharedStateProctor;
00027    class DtModelDefinition;
00028    class DtModelDefinitionManager;
00029    class DtModelSetRealizationManager;
00030    class DtModelDefinition;
00031 
00044    class DT_DLL_VRVCORE DtDeSharedState 
00045    { 
00046 
00047    public:
00048 
00050       friend class DtDeSharedStateCreator;
00051 
00054       friend class DtDeSharedStateProctor;
00055 
00057       virtual ~DtDeSharedState();
00058 
00060       virtual void initialize();
00061 
00063 
00064 
00067       virtual const DtModelDefinitionManager& modelDefinitionManager() const;
00068       virtual DtModelDefinitionManager& modelDefinitionManager();
00069 
00072       virtual const DtModelSetRealizationManager& modelSetRealizationManager() const;
00073 
00076       virtual void setVisualizeModelSet( int modelset, bool visualize );
00077 
00080       virtual void addModelDefinition(const DtModelDefinition& definition);
00081 
00084       virtual void setModelDefinitionManager(
00085          const DtModelDefinitionManager& definition);
00086 
00090       virtual void renameModelDefinition(const DtModelDefinition& old,
00091          const DtModelDefinition& newDef);
00092 
00095       virtual void destroyModelDefinition(const DtModelDefinition& definition);
00096 
00098       virtual void setModelInstancingEnabled(bool);
00099 
00101       virtual void clearModelInstancingCache();
00102 
00104 
00106 
00107 
00108       virtual void setCoordinateSystem(const std::string& coordinateSystemName,
00109          const std::string& coordinateSystemParameters);
00110 
00112       const DtCoordinateSystem& coordinateSystem() const;
00113       DtCoordinateSystem& coordinateSystem();
00114 
00116 
00118 
00119 
00120 
00135       virtual void setDateAndTime(int year, DtDeTimeManager::Month month,
00136          int dayOfMonth, int hour, int minutes,double seconds);
00137 
00140       virtual void setTimeScale(double timeScale);
00141 
00143       const DtDeTimeManager& timeManager() const;
00144 
00146 
00148 
00149 
00151       virtual void setWireframeMode(bool state);
00152       virtual bool wireframeMode() const;
00153 
00155       virtual bool terrainScalingEnabled() const;
00156       virtual void setTerrainScalingEnabled(bool enabled);
00157 
00158       virtual double terrainScaleFactor() const;
00159       virtual void setTerrainScaleFactor(double scaleFactor);
00160 
00161       virtual bool clearTrackHistoryOnTerrainScaleChanged() const;
00162       virtual void setClearTrackHistoryOnTerrainScaleChanged(bool clear );
00163 
00165       virtual void setPlanViewGeocentricOccludedTransparency(float f);
00166       virtual float planViewGeocentricOccludedTransparency() const;      
00167 
00168       virtual void setPerformanceOverlayOn(bool enabled);
00169       virtual bool performanceOverlayEnabled() const;
00170 
00172       virtual void setShadowState(bool shadowMode, int shadowQuality, 
00173          bool entityMode,  bool propMode, bool terrainMode);
00174 
00175       virtual bool shadowMode() const;
00176       virtual int shadowQuality() const;
00177       virtual bool entityShadowMode() const;
00178       virtual bool propShadowMode() const;
00179       virtual bool terrainShadowMode() const;
00180 
00181       virtual void loadRenderSettings(const std::string& filepath);      
00182       virtual void saveRenderSettings(const std::string& filepath);
00183       virtual void loadDefaultRenderSettings(bool useOnlyFactorySettings);
00184       virtual void saveDefaultRenderSettings();
00185       virtual void updateRenderState();
00186 
00188 
00190 
00191 
00193       virtual void setDdsFlip(bool state);
00194 
00196       virtual bool ddsFlip() const;
00197 
00198       virtual void loadLoaderSettings(const std::string& filepath);      
00199       virtual void saveLoaderSettings(const std::string& filepath);
00200       virtual void loadDefaultLoaderSettings(bool useOnlyFactorySettings);
00201       virtual void saveDefaultLoaderSettings();
00202       virtual void updateLoaderState();
00203 
00205 
00207 
00208 
00210       virtual void setAccelerationCachingEnabled(bool enabled);
00211 
00213       virtual bool accelerationCachingEnabled() const;
00214 
00216       virtual void clearAccelerationCache() const;
00217 
00219       virtual void setInstancingEnabled(bool enabled);
00220 
00222       virtual void setClearInstancesOnNewSceneEnabled(bool enabled);
00223 
00225       virtual bool instancingEnabled() const;
00226 
00228       virtual bool clearInstancesOnNewScene() const;
00229 
00231       virtual void clearInstancingCache();
00232 
00234       virtual void setCompressTextures(bool enabled);
00235 
00237       virtual bool compressTextures() const;
00238 
00239       virtual void loadCacheSettings(const std::string& filepath);
00240       virtual void saveCacheSettings(const std::string& filepath);
00241       virtual void loadDefaultCacheSettings(bool useOnlyFactorySettings);
00242       virtual void saveDefaultCacheSettings();
00243       virtual void updateCacheState();
00244 
00246 
00247 
00250       virtual void initializeSharedChangeManager();
00251 
00253 
00254 
00257       virtual void synchronizeSlave(DtDeRecord* igRecord);
00258 
00260 
00262 
00263 
00266       boost::signal<void (const std::string&,const std::string&)> 
00267          signal_coordinateSystemChanged;
00269 
00270       void setAutoSave(bool b)
00271       {
00272          myAutoSave = b;
00273       }
00274 
00275       bool autoSave() const
00276       {
00277          return myAutoSave;
00278       }
00279 
00280    protected:
00281 
00283       DtDeSharedState(DtDe& DtDe);
00284 
00286       virtual void sendModelDefinitionsToSlave(DtMessageClient* messageClient);
00287 
00290       virtual void sendModelSetConfigurationToSlave(
00291          DtMessageClient* messageClient);
00292 
00293 
00295 
00296 
00298       virtual void local_setModelDefinitionManager(const DtModelDefinitionManager& definition);
00299 
00301       virtual void local_addModelDefinition(const DtModelDefinition& definition);
00302 
00304       virtual void local_destroyModelDefinition(const std::string& definition);
00306 
00308       virtual void local_setModelInstancingEnabled(bool);
00309 
00311       virtual void local_clearModelInstancingCache();
00312 
00314       virtual void local_setWireframeMode(bool mode);
00315 
00317       virtual void local_setTerrainScalingEnabled(bool enabled);
00318 
00320       virtual void local_setTerrainScaleFactor(double scaleFactor);
00321 
00323       virtual void local_setClearTrackHistoryOnTerrainScaleChanged(bool clear);
00324 
00326       virtual void local_setPlanViewGeocentricOccludedTransparency(float alpha);
00327 
00329       virtual void local_setShadowState(bool mode, int qual, bool entity, bool prop, bool terrain);
00330 
00332       virtual void local_ddsFlipState(bool flip);
00333 
00335       virtual void local_setVisualizeModelSet( int modelSet, bool visualize );
00336 
00338       void local_setCoordinateSystem(const std::string& coordinateSystemName, 
00339          const std::string& coordinateSystemParameters);
00340 
00341 
00343 
00344       void local_setDateAndTime(int year, DtDeTimeManager::Month month,int dayOfMonth,
00345          int hour, int minutes,double seconds);
00346       void local_setTimeScale(double timeScale);
00348 
00350 
00351 
00353       virtual void local_setAccelerationCachingEnabled(bool enabled);
00354 
00356       virtual void local_clearAccelerationCache();
00357 
00359       virtual void local_setInstancingEnabled( bool enabled );
00360 
00362       virtual void local_setClearInstancesOnNewScene( bool enabled );
00363 
00365       virtual void local_clearInstancingCache();
00366 
00368       virtual void local_setCompressTextures( bool enabled );
00369 
00371 
00372    protected:
00373 
00374       DtDe& myDe;
00375       DtDeSharedStateProctor* myIgSharedStateProctor;
00376       DtModelDefinitionManager* myModelDefinitionManager;
00377       DtModelSetRealizationManager* myModelSetRealizationManager;
00378       DtCoordinateSystem* myCoordinateSystem;
00379       DtDeTimeManager myTimeManager;
00380 
00381       bool myWireframeMode;
00382       bool myTerrainScalingEnabled;
00383       double myTerrainScaleFactor;
00384       bool myClearTrackHistoryOnTerrainScaleChanged;
00385       float myPlanViewGeocentricOccludedTransparency;
00386       bool myShadowMode;
00387       int myShadowQuality;
00388       bool myEntityShadowMode;
00389       bool myPropShadowMode;
00390       bool myTerrainShadowMode;
00391       bool myAutoSave;
00392 
00393    };
00394 
00397    class DT_DLL_VRVCORE DtDeSharedStateCreator : public DtVirtualBaseClass
00398    {
00399 
00400    public:
00401 
00403       static DtDeSharedStateCreator& instance(DtDe&);
00404 
00406       static void registerInstance(DtDe& de, DtDeSharedStateCreator*);
00407 
00409       virtual DtDeSharedState* create(DtDe& de);
00410 
00411    };
00412 
00413 }

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)