VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtDeSharedState.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtDe.h>
15 #include <vrvUtil/signalslib.h>
16 
17 namespace makVrv
18 {
19 
20  class DtCoordinateSystem;
21  class DtDeSharedStateProctor;
22  class DtModelDefinition;
23  class DtModelDefinitionManager;
24  class DtModelSetRealizationManager;
25  class DtModelDefinition;
26 
40  {
41 
42  public:
43 
45  friend class DtDeSharedStateCreator;
46 
49  friend class DtDeSharedStateProctor;
50 
52  virtual ~DtDeSharedState();
53 
55  virtual void initialize();
56 
58 
59 
62  virtual const DtModelDefinitionManager& modelDefinitionManager() const;
63  virtual DtModelDefinitionManager& modelDefinitionManager();
64 
67  virtual const DtModelSetRealizationManager& modelSetRealizationManager() const;
68 
71  virtual void setVisualizeModelSet( int modelset, bool visualize );
72 
75  virtual void addModelDefinition(const DtModelDefinition& definition);
76 
79  virtual void setModelDefinitionManager(
80  const DtModelDefinitionManager& definition);
81 
85  virtual void renameModelDefinition(const DtModelDefinition& old,
86  const DtModelDefinition& newDef);
87 
90  virtual void destroyModelDefinition(const DtModelDefinition& definition);
91 
93  virtual void setModelInstancingEnabled(bool);
94 
96  virtual void clearModelInstancingCache();
97 
99 
101 
102 
103  virtual void setCoordinateSystem(const std::string& coordinateSystemName,
104  const std::string& coordinateSystemParameters);
105 
107  const DtCoordinateSystem& coordinateSystem() const;
108  DtCoordinateSystem& coordinateSystem();
109 
111 
113 
114 
115 
130  virtual void setDateAndTime(int year, DtDeTimeManager::Month month,
131  int dayOfMonth, int hour, int minutes,double seconds);
132 
135  virtual void setUseGlobalTimeZone(bool);
136 
139  virtual void setTimeScale(double timeScale);
140 
142  const DtDeTimeManager& timeManager() const;
143 
146  DtDeTimeManager& timeManager();
147 
149 
151 
152 
154  virtual void reloadShader();
155 
157  virtual void setWireframeMode(bool state);
158  virtual bool wireframeMode() const;
159 
161  virtual bool terrainScalingEnabled() const;
162  virtual void setTerrainScalingEnabled(bool enabled);
163 
164  virtual double terrainScaleFactor() const;
165  virtual void setTerrainScaleFactor(double scaleFactor);
166 
167  virtual bool clearTrackHistoryOnTerrainScaleChanged() const;
168  virtual void setClearTrackHistoryOnTerrainScaleChanged(bool clear );
169 
172  virtual float globalAmbientValue() const;
173  virtual void setGlobalAmbientValue(float globalAmbientValue);
174 
175  virtual bool useGlobalAmbient() const;
176  virtual void setUseGlobalAmbient(bool useGlobalAmbient);
177 
180  virtual float globalDiffuseValue() const;
181  virtual void setGlobalDiffuseValue(float globalDiffuseValue);
182 
183  virtual bool useGlobalDiffuse() const;
184  virtual void setUseGlobalDiffuse(bool useGlobalDiffuse);
185 
187  virtual void setPlanViewGeocentricOccludedTransparency(float f);
188  virtual float planViewGeocentricOccludedTransparency() const;
189 
190  virtual void setPerformanceOverlayOn(bool enabled);
191  virtual bool performanceOverlayEnabled() const;
192 
193  virtual void setProfilerOverlayOn(bool enabled);
194  virtual bool profilerOverlayEnabled() const;
195 
196  virtual bool perPixelLightingEnabled() const;
197  virtual void setPerPixelLightingEnabled( bool setting );
198 
199  virtual bool crepuscularRaysEnabled() const;
200  virtual void setCrepuscularRaysEnabled( bool setting );
201 
203  virtual bool dofUseAutofocus() const;
204  virtual void setDofUseAutofocus(bool useAutofocus);
205 
207  virtual double dofFocalDepth() const;
208  virtual void setDofFocalDepth(double focalDepth);
209 
211  virtual double dofFocalRange() const;
212  virtual void setDofFocalRange(double focalRange);
213 
214  // size of the water on screen effect(Rain Splash/Ocean Spray/Wave Splash) in percentage, default is 100(%)
215  virtual double waterOnScreenSize() const;
216  virtual void setWaterOnScreenSize(double size);
217 
218  virtual int componentVisualizationMode() const;
219  virtual void setComponentVisualizationMode(int value);
220 
221  virtual double regenerateCubeMapThreshold() const;
222  virtual void setRegenerateCubeMapThreshold(double threshold);
223 
224  virtual double regenerateHeightMapPercThreshold() const;
225  virtual void setRegenerateHeightMapPercThreshold(double threshold);
226 
227  virtual bool omitCloudInCubeMap() const;
228  virtual void setOmitCloudInCubeMap(bool omit);
229 
233  virtual void setInstancedRenderingEnabled(bool enabled);
234 
238  virtual bool instancedRenderingEnabled() const;
239 
241  virtual void setShadowState(bool shadowMode);
242 
243  virtual bool shadowMode() const;
244 
246 
247  virtual void setUseReverseZBuffer( bool setting );
248  virtual bool useReverseZBuffer() const;
250 
251  virtual void loadRenderSettings(const std::string& filepath);
252  virtual void saveRenderSettings(const std::string& filepath);
253  virtual void loadDefaultRenderSettings(bool useOnlyFactorySettings);
254  virtual void saveDefaultRenderSettings();
255  virtual void updateRenderState();
256 
258 
260 
261 
263  virtual void setDdsFlip(bool state);
264 
266  virtual bool ddsFlip() const;
267 
268  virtual void loadLoaderSettings(const std::string& filepath);
269  virtual void saveLoaderSettings(const std::string& filepath);
270  virtual void loadDefaultLoaderSettings(bool useOnlyFactorySettings);
271  virtual void saveDefaultLoaderSettings();
272  virtual void updateLoaderState();
273 
275 
277 
278 
280  virtual void setAccelerationCachingEnabled(bool enabled);
281 
283  virtual bool accelerationCachingEnabled() const;
284 
286  virtual void clearAccelerationCache() const;
287 
289  virtual void setInstancingEnabled(bool enabled);
290 
292  virtual void setClearInstancesOnNewSceneEnabled(bool enabled);
293 
295  virtual bool instancingEnabled() const;
296 
298  virtual bool clearInstancesOnNewScene() const;
299 
301  virtual void clearInstancingCache();
302 
304  virtual void setCompressTextures(bool enabled);
305 
307  virtual bool compressTextures() const;
308 
309  virtual void loadCacheSettings(const std::string& filepath);
310  virtual void saveCacheSettings(const std::string& filepath);
311  virtual void loadDefaultCacheSettings(bool useOnlyFactorySettings);
312  virtual void saveDefaultCacheSettings();
313  virtual void updateCacheState();
314 
316 
318 
319 
320  virtual bool oceanPlanarReflectionsEnabled() const;
321  virtual void setOceanPlanarReflectionsEnabled( bool setting );
322 
323  virtual float oceanPlanarReflectionsLODScale() const;
324  virtual void setOceanPlanarReflectionsLODScale( float setting );
325 
326  virtual bool oceanPlanarReflectionsSpecifyFarClip() const;
327  virtual void setOceanPlanarReflectionsSpecifyFarClip( bool setting );
328 
329  virtual double oceanPlanarReflectionsFarClip() const;
330  virtual void setOceanPlanarReflectionsFarClip( double setting );
331 
332  virtual double staticOceanLodRange() const;
333  virtual void setStaticOceanLodRange( double range );
334 
335  virtual bool waveSprayEffectEnabled() const;
336  virtual void setWaveSprayEffectEnabled( bool setting );
337 
338  virtual bool rotorWashDecalEnabled() const;
339  virtual void setRotorWashDecalEnabled( bool setting );
340 
341  virtual double oceanHeightMapResolution() const;
342  virtual void setOceanHeightMapResolution( double setting );
343 
344  virtual void setOceanHeightMapTextureSize(int setting);
345  virtual int oceanHeightMapTextureSize() const;
346 
347 
351  virtual void setTidalStreamWakesEnabled(bool enabled);
352 
356  virtual bool tidalStreamWakesEnabled() const;
357 
358  virtual int planarReflectionTextureWidth() const;
359  virtual void setPlanarReflectionTextureWidth( int w );
360 
361  virtual int planarReflectionTextureHeight() const;
362  virtual void setPlanarReflectionTextureHeight( int h );
363 
364  virtual unsigned int oceanQuality() const;
365  virtual void setOceanQuality( unsigned int quality );
366 
367  virtual void loadOceanRenderSettings(const std::string& filepath);
368  virtual void saveOceanRenderSettings(const std::string& filepath);
369  virtual void loadDefaultOceanRenderSettings(bool useOnlyFactorySettings);
370  virtual void saveDefaultOceanRenderSettings();
371  virtual void updateOceanRenderState();
373 
375  virtual void setPagedLodMagnificationHighLodAngle(float angle);
376  virtual float pagedLodMagnificationHighLodAngle() const;
377 
379 
380 
381  virtual float lightingEmissionScale() const;
382  virtual void setLightingEmissionScale( float setting );
383 
384  virtual float lightingDiffuseScale() const;
385  virtual void setLightingDiffuseScale(float setting);
386 
387  virtual float lightingAmbientScale() const;
388  virtual void setLightingAmbientScale(float setting);
389 
390  virtual void loadLightingRenderSettings(const std::string& filepath);
391  virtual void saveLightingRenderSettings(const std::string& filepath);
392  virtual void loadDefaultLightingRenderSettings(bool useOnlyFactorySettings);
393  virtual void saveDefaultLightingRenderSettings();
394  virtual void updateLightingRenderState();
396 
397 
399 
400 
401  virtual bool intersectorDrawEnabled() const;
402  virtual void setIntersectorDrawEnabled( bool setting );
403 
404  virtual float intersectorDrawnDuration() const;
405  virtual void setIntersectorDrawnDuration(float setting);
406 
407  virtual const DtColorValue& failedIntersectorColor() const;
408  virtual void setFailedIntersectorColor(const DtColorValue& setting);
409 
410  virtual const DtColorValue& oddSegmentIntersectorColor() const;
411  virtual void setOddSegmentIntersectorColor(const DtColorValue& setting);
412 
413  virtual const DtColorValue& evenSegmentIntersectorColor() const;
414  virtual void setEvenSegmentIntersectorColor(const DtColorValue& setting);
415 
416  virtual void loadIntersectorSettings(const std::string& filepath);
417  virtual void saveIntersectorSettings(const std::string& filepath);
418  virtual void loadDefaultIntersectorSettings(bool useOnlyFactorySettings);
419  virtual void saveDefaultIntersectorSettings();
420  virtual void updateIntersectorState();
422 
424 
425 
426  virtual const bool diGuyInstancingEnabled() const;
427  virtual void setDiGuyInstancingEnabled(bool enabled);
428 
429  virtual const int diGuyInstancedLod() const;
430  virtual void setDiGuyInstancedLod(int lod);
431 
432  virtual const bool diGuyVisualizeInstancing() const;
433  virtual void setDiGuyVisualizeInstancing(bool enabled);
434 
435  virtual const float diGuyMaxDrawDistance() const;
436  virtual void setDiGuyMaxDrawDistance(float distance);
437 
438  virtual const bool diGuyMultiThreadUpdate() const;
439  virtual void setDiGuyMultiThreadUpdate(bool enabled);
440 
441  virtual void loadDiGuySettings(const std::string& filepath);
442  virtual void saveDiGuySettings(const std::string& filepath);
443  virtual void loadDefaultDiGuySettings(bool useOnlyFactorySettings);
444  virtual void saveDefaultDiGuySettings();
445  virtual void updateDiGuyState();
446 
448 
450 
451 
453  virtual bool enableHdr() const;
454  virtual void setEnableHdr( bool enabled );
455 
456  virtual bool enableHdrAutoExposure() const;
457  virtual void setEnableHdrAutoExposure( bool enabled );
458 
459  virtual bool enableHdrBloom() const;
460  virtual void setEnableHdrBloom( bool enabled );
461 
462  virtual bool enableHdrStreaks() const;
463  virtual void setEnableHdrStreaks( bool enabled );
464 
465  virtual bool enableHdrLensFlare() const;
466  virtual void setEnableHdrLensFlare( bool enabled );
467 
468  virtual void setLightPointScale(double val);
469  virtual double lightPointScale() const;
470 
471  virtual void setDynamicLightScale(double val);
472  virtual double dynamicLightScale() const;
473 
474  virtual void setEmissiveTextureScale(double val);
475  virtual double emissiveTextureScale() const;
476 
477  virtual void setSpecularScale(double val);
478  virtual double specularScale() const;
479 
480  virtual void setShininessScale(double val);
481  virtual double shininessScale() const;
482 
483  virtual void setAutoExposureRateScale(double val);
484  virtual double autoExposureRateScale() const;
485 
486  virtual void setAutoExposurePreScale(double val);
487  virtual double autoExposurePreScale() const;
488 
489  virtual void setAutoExposureMinDiff(double val);
490  virtual double autoExposureMinDiff() const;
491 
492  virtual void setAutoExposureMaxDiff(double val);
493  virtual double autoExposureMaxDiff() const;
494 
495  virtual void setAutoExposureClampMin(double val);
496  virtual double autoExposureClampMin() const;
497 
498  virtual void setAutoExposureClampMax(double val);
499  virtual double autoExposureClampMax() const;
500 
501  virtual void setAutoExposurePostScale(double val);
502  virtual double autoExposurePostScale() const;
503 
504  virtual void setBloomScale(double val);
505  virtual double bloomScale() const;
506 
507  virtual void setStreakIntensityScale(double val);
508  virtual double streakIntensityScale() const;
509 
510  virtual void setNumStreaks(int val);
511  virtual int numStreaks() const;
512 
513  virtual void setStreaksLenScale(double val);
514  virtual double streaksLenScale() const;
515 
516  virtual void setStreakRotationOffset(double val);
517  virtual double streakRotationOffset() const;
518 
519  virtual void setLensFlareScale(double val);
520  virtual double lensFlareScale() const;
521 
522  virtual void setGamma(double val);
523  virtual double gamma() const;
524 
525  virtual void setHdrResolutionScale(int val);
526  virtual int hdrResolutionScale() const;
527 
528  //this is not saved out but is a part of how the HDR post processor works
529  // scale for the tonemapping, shared so slaves match master intensity
530  virtual void setHdrOutputScale(double val);
531  virtual double hdrOutputScale() const;
532 
533  virtual void loadPostProcessorSettings(const std::string& filepath);
534  virtual void savePostProcessorSettings(const std::string& filepath);
535  virtual void loadDefaultPostProcessorSettings(bool useOnlyFactorySettings);
536  virtual void saveDefaultPostProcessorSettings();
537  virtual void updatePostProcessorState();
539 
540 
543  virtual void initializeSharedChangeManager();
544 
546 
547 
550  virtual void synchronizeSlave(DtDeRecord* igRecord);
551 
553 
554  void setAutoSave(bool b)
555  {
556  myAutoSave = b;
557  }
558 
559  bool autoSave() const
560  {
561  return myAutoSave;
562  }
563 
564  protected:
565 
568 
570  virtual void sendModelDefinitionsToSlave(DtMessageClient* messageClient);
571 
574  virtual void sendModelSetConfigurationToSlave(
575  DtMessageClient* messageClient);
576 
577 
579 
580 
582  virtual void local_setModelDefinitionManager(const DtModelDefinitionManager& definition);
583 
585  virtual void local_addModelDefinition(const DtModelDefinition& definition);
586 
588  virtual void local_destroyModelDefinition(const std::string& definition);
590 
592  virtual void local_setModelInstancingEnabled(bool);
593 
595  virtual void local_clearModelInstancingCache();
596 
598  virtual void local_reloadShader();
599 
601  virtual void local_setWireframeMode(bool mode);
602 
604  virtual void local_setTerrainScalingEnabled(bool enabled);
605 
607  virtual void local_setTerrainScaleFactor(double scaleFactor);
608 
610  virtual void local_setGlobalAmbientValue(float globalAmbientValue);
611 
613  virtual void local_setUseGlobalAmbient(bool useGlobalAmbient);
614 
616  virtual void local_setGlobalDiffuseValue(double globalDiffuseValue);
617 
619  virtual void local_setUseGlobalDiffuse(bool useGlobalDiffuse);
620 
622  virtual void local_setClearTrackHistoryOnTerrainScaleChanged(bool clear);
623 
625  virtual void local_setPlanViewGeocentricOccludedTransparency(float alpha);
626 
628  virtual void local_setShadowState(bool mode);
629 
631  virtual void local_ddsFlipState(bool flip);
632 
634  virtual void local_setVisualizeModelSet( int modelSet, bool visualize );
635 
637  void local_setCoordinateSystem(const std::string& coordinateSystemName,
638  const std::string& coordinateSystemParameters);
639 
641  virtual void local_setPerPixelLightingEnabled(bool mode);
642 
644  virtual void local_setOceanPlanarReflectionsEnabled(bool mode);
645 
647  virtual void local_setOceanPlanarReflectionsLODScale(float val);
648 
650  virtual void local_setOceanPlanarReflectionsSpecifyFarClip(bool mode);
651 
653  virtual void local_setOceanPlanarReflectionsFarClip(double val);
654 
655  virtual void local_setStaticOceanLodRange(double range);
656 
658  virtual void local_setCrepuscularRaysEnabled(bool mode);
659 
661  virtual void local_setWaveSprayEffectEnabled(bool mode);
662 
664  virtual void local_setRotorWashDecalEnabled(bool mode);
665 
667  virtual void local_setOceanHeightMapResolution(double resolution);
668 
670 
671  void local_setDateAndTime(int year, DtDeTimeManager::Month month,int dayOfMonth,
672  int hour, int minutes,double seconds);
673  void local_setTimeScale(double timeScale);
674  void local_setUseGlobalTimeZone(bool);
676 
678 
679 
681  virtual void local_setAccelerationCachingEnabled(bool enabled);
682 
684  virtual void local_clearAccelerationCache();
685 
687  virtual void local_setInstancingEnabled( bool enabled );
688 
690  virtual void local_setClearInstancesOnNewScene( bool enabled );
691 
693  virtual void local_clearInstancingCache();
694 
696  virtual void local_setCompressTextures( bool enabled );
697 
699  virtual void local_setTidalStreamWakesEnabled( bool enabled );
701 
705  virtual void local_setInstancedRenderingEnabled(bool enabled);
706 
708  virtual void local_setRegenerateCubeMapThreshold(double threshold);
709 
711  virtual void local_setRegenerateHeightMapPercThreshold(double threshold);
712 
714  virtual void local_setOmitCloudInCubeMap(bool enabled);
715 
717  virtual void local_setOceanHeightMapTextureSize(int val);
718 
719  virtual void local_setPlanarReflectionTextureWidth(int w);
720 
721  virtual void local_setPlanarReflectionTextureHeight(int w);
722 
723  virtual void local_setOceanQuality(unsigned int setting);
724 
726  virtual void local_setLightingEmissionScale(float val);
728  virtual void local_setLightingDiffuseScale(float val);
730  virtual void local_setLightingAmbientScale(float val);
731 
732 
733  virtual void local_setIntersectorDrawEnabled( bool setting );
734 
735  virtual void local_setIntersectorDrawnDuration(float setting);
736 
737  virtual void local_setFailedIntersectorColor(const DtColorValue& setting);
738 
739  virtual void local_setOddSegmentIntersectorColor(const DtColorValue& setting);
740 
741  virtual void local_setEvenSegmentIntersectorColor(const DtColorValue& setting);
742 
743 
744  virtual void local_setDiGuyInstancingEnabled(bool color);
745 
746  virtual void local_setDiGuyInstancedLod(int lod);
747 
748  virtual void local_setDiGuyVisualizeInstancing(bool enabled);
749 
750  virtual void local_setDiGuyMaxDrawDistance(float distance);
751 
752  virtual void local_setDiGuyMultiThreadUpdate(bool enabled);
753 
754  virtual void local_setPagedLodMagnificationHighLodAngle(float val);
755 
756  virtual void local_setUseReverseZBuffer(bool val);
757 
759  virtual void local_setDofUseAutofocus(bool useAutofocus);
760 
762  virtual void local_setDofFocalDepth(double focalDepth);
763 
765  virtual void local_setDofFocalRange(double focalRange);
766 
767  // size of the water on screen effect(Rain Splash/Ocean Spray/Wave Splash) in percentage, default is 100(%)
768  virtual void local_setWaterOnScreenSize(double size);
769 
771  virtual void local_setEnableHdr( bool enabled );
772  virtual void local_setEnableHdrAutoExposure( bool enabled );
773  virtual void local_setEnableHdrBloom( bool enabled );
774  virtual void local_setEnableHdrStreaks( bool enabled );
775  virtual void local_setEnableHdrLensFlare( bool enabled );
776 
777 
778  virtual void local_setLightPointScale(double val);
779  virtual void local_setDynamicLightScale(double val);
780  virtual void local_setEmissiveTextureScale(double val);
781  virtual void local_setSpecularScale(double val);
782  virtual void local_setShininessScale(double val);
783  virtual void local_setAutoExposureRateScale(double val);
784  virtual void local_setAutoExposurePreScale(double val);
785  virtual void local_setAutoExposureMinDiff(double val);
786  virtual void local_setAutoExposureMaxDiff(double val);
787  virtual void local_setAutoExposureClampMin(double val);
788  virtual void local_setAutoExposureClampMax(double val);
789  virtual void local_setAutoExposurePostScale(double val);
790  virtual void local_setBloomScale(double val);
791  virtual void local_setStreakIntensityScale(double val);
792  virtual void local_setNumStreaks(int val);
793  virtual void local_setStreaksLenScale(double val);
794  virtual void local_setStreakRotationOffset(double val);
795  virtual void local_setLensFlareScale(double val);
796  virtual void local_setGamma(double val);
797  virtual void local_setHdrResolutionScale(int val);
798 
799  virtual void local_setHdrOutputScale(double val);
800  protected:
801 
808 
839  unsigned int myOceanQuality;
840 
844 
850 
865 
878  double myBloomScale;
884  double myGamma;
886 
889  };
890 
894  {
895 
896  public:
897 
899  static DtDeSharedStateCreator& instance(DtDe&);
900 
902  static void registerInstance(DtDe& de, DtDeSharedStateCreator*);
903 
905  virtual DtDeSharedState* create(DtDe& de);
906 
907  };
908 
909 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)