VR-Forces 4.1 Class Documentation
DtDeSharedState.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtDeSharedState.h,v $ $Revision: 1.38 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvCore/vrvCore.h>
16 
17 #include <vrvCore/DtDe.h>
20 #include <vrvUtil/signalslib.h>
21 
22 namespace makVrv
23 {
24 
25  class DtCoordinateSystem;
26  class DtDeSharedStateProctor;
27  class DtModelDefinition;
28  class DtModelDefinitionManager;
29  class DtModelSetRealizationManager;
30  class DtModelDefinition;
31 
45  {
46 
47  public:
48 
50  friend class DtDeSharedStateCreator;
51 
54  friend class DtDeSharedStateProctor;
55 
57  virtual ~DtDeSharedState();
58 
60  virtual void initialize();
61 
63 
64 
67  virtual const DtModelDefinitionManager& modelDefinitionManager() const;
68  virtual DtModelDefinitionManager& modelDefinitionManager();
69 
72  virtual const DtModelSetRealizationManager& modelSetRealizationManager() const;
73 
76  virtual void setVisualizeModelSet( int modelset, bool visualize );
77 
80  virtual void addModelDefinition(const DtModelDefinition& definition);
81 
84  virtual void setModelDefinitionManager(
85  const DtModelDefinitionManager& definition);
86 
90  virtual void renameModelDefinition(const DtModelDefinition& old,
91  const DtModelDefinition& newDef);
92 
95  virtual void destroyModelDefinition(const DtModelDefinition& definition);
96 
98  virtual void setModelInstancingEnabled(bool);
99 
101  virtual void clearModelInstancingCache();
102 
104 
106 
107 
108  virtual void setCoordinateSystem(const std::string& coordinateSystemName,
109  const std::string& coordinateSystemParameters);
110 
112  const DtCoordinateSystem& coordinateSystem() const;
113  DtCoordinateSystem& coordinateSystem();
114 
116 
118 
119 
120 
135  virtual void setDateAndTime(int year, DtDeTimeManager::Month month,
136  int dayOfMonth, int hour, int minutes,double seconds);
137 
140  virtual void setTimeScale(double timeScale);
141 
143  const DtDeTimeManager& timeManager() const;
144 
146 
148 
149 
151  virtual void setWireframeMode(bool state);
152  virtual bool wireframeMode() const;
153 
155  virtual bool terrainScalingEnabled() const;
156  virtual void setTerrainScalingEnabled(bool enabled);
157 
158  virtual double terrainScaleFactor() const;
159  virtual void setTerrainScaleFactor(double scaleFactor);
160 
161  virtual bool clearTrackHistoryOnTerrainScaleChanged() const;
162  virtual void setClearTrackHistoryOnTerrainScaleChanged(bool clear );
163 
165  virtual void setPlanViewGeocentricOccludedTransparency(float f);
166  virtual float planViewGeocentricOccludedTransparency() const;
167 
168  virtual void setPerformanceOverlayOn(bool enabled);
169  virtual bool performanceOverlayEnabled() const;
170 
172  virtual void setShadowState(bool shadowMode, int shadowQuality,
173  bool entityMode, bool propMode, bool terrainMode);
174 
175  virtual bool shadowMode() const;
176  virtual int shadowQuality() const;
177  virtual bool entityShadowMode() const;
178  virtual bool propShadowMode() const;
179  virtual bool terrainShadowMode() const;
180 
181  virtual void loadRenderSettings(const std::string& filepath);
182  virtual void saveRenderSettings(const std::string& filepath);
183  virtual void loadDefaultRenderSettings(bool useOnlyFactorySettings);
184  virtual void saveDefaultRenderSettings();
185  virtual void updateRenderState();
186 
188 
190 
191 
193  virtual void setDdsFlip(bool state);
194 
196  virtual bool ddsFlip() const;
197 
198  virtual void loadLoaderSettings(const std::string& filepath);
199  virtual void saveLoaderSettings(const std::string& filepath);
200  virtual void loadDefaultLoaderSettings(bool useOnlyFactorySettings);
201  virtual void saveDefaultLoaderSettings();
202  virtual void updateLoaderState();
203 
205 
207 
208 
210  virtual void setAccelerationCachingEnabled(bool enabled);
211 
213  virtual bool accelerationCachingEnabled() const;
214 
216  virtual void clearAccelerationCache() const;
217 
219  virtual void setInstancingEnabled(bool enabled);
220 
222  virtual void setClearInstancesOnNewSceneEnabled(bool enabled);
223 
225  virtual bool instancingEnabled() const;
226 
228  virtual bool clearInstancesOnNewScene() const;
229 
231  virtual void clearInstancingCache();
232 
234  virtual void setCompressTextures(bool enabled);
235 
237  virtual bool compressTextures() const;
238 
239  virtual void loadCacheSettings(const std::string& filepath);
240  virtual void saveCacheSettings(const std::string& filepath);
241  virtual void loadDefaultCacheSettings(bool useOnlyFactorySettings);
242  virtual void saveDefaultCacheSettings();
243  virtual void updateCacheState();
244 
246 
247 
250  virtual void initializeSharedChangeManager();
251 
253 
254 
257  virtual void synchronizeSlave(DtDeRecord* igRecord);
258 
260 
262 
263 
266  boost::signal<void (const std::string&,const std::string&)>
269 
270  void setAutoSave(bool b)
271  {
272  myAutoSave = b;
273  }
274 
275  bool autoSave() const
276  {
277  return myAutoSave;
278  }
279 
280  protected:
281 
284 
286  virtual void sendModelDefinitionsToSlave(DtMessageClient* messageClient);
287 
290  virtual void sendModelSetConfigurationToSlave(
291  DtMessageClient* messageClient);
292 
293 
295 
296 
298  virtual void local_setModelDefinitionManager(const DtModelDefinitionManager& definition);
299 
301  virtual void local_addModelDefinition(const DtModelDefinition& definition);
302 
304  virtual void local_destroyModelDefinition(const std::string& definition);
306 
308  virtual void local_setModelInstancingEnabled(bool);
309 
311  virtual void local_clearModelInstancingCache();
312 
314  virtual void local_setWireframeMode(bool mode);
315 
317  virtual void local_setTerrainScalingEnabled(bool enabled);
318 
320  virtual void local_setTerrainScaleFactor(double scaleFactor);
321 
323  virtual void local_setClearTrackHistoryOnTerrainScaleChanged(bool clear);
324 
326  virtual void local_setPlanViewGeocentricOccludedTransparency(float alpha);
327 
329  virtual void local_setShadowState(bool mode, int qual, bool entity, bool prop, bool terrain);
330 
332  virtual void local_ddsFlipState(bool flip);
333 
335  virtual void local_setVisualizeModelSet( int modelSet, bool visualize );
336 
338  void local_setCoordinateSystem(const std::string& coordinateSystemName,
339  const std::string& coordinateSystemParameters);
340 
341 
343 
344  void local_setDateAndTime(int year, DtDeTimeManager::Month month,int dayOfMonth,
345  int hour, int minutes,double seconds);
346  void local_setTimeScale(double timeScale);
348 
350 
351 
353  virtual void local_setAccelerationCachingEnabled(bool enabled);
354 
356  virtual void local_clearAccelerationCache();
357 
359  virtual void local_setInstancingEnabled( bool enabled );
360 
362  virtual void local_setClearInstancesOnNewScene( bool enabled );
363 
365  virtual void local_clearInstancingCache();
366 
368  virtual void local_setCompressTextures( bool enabled );
369 
371 
372  protected:
373 
380 
392 
393  };
394 
398  {
399 
400  public:
401 
403  static DtDeSharedStateCreator& instance(DtDe&);
404 
406  static void registerInstance(DtDe& de, DtDeSharedStateCreator*);
407 
409  virtual DtDeSharedState* create(DtDe& de);
410 
411  };
412 
413 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)