VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDeSharedState.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 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  class DtLightPointManager;
27  class DtSharedSettingsManager;
28 
42  {
43 
44  public:
45 
47  friend class DtDeSharedStateCreator;
48 
51  friend class DtDeSharedStateProctor;
52 
54  virtual ~DtDeSharedState();
55 
57  virtual void initialize();
58 
60 
61 
64  virtual const DtModelDefinitionManager& modelDefinitionManager() const;
65  virtual DtModelDefinitionManager& modelDefinitionManager();
66 
69  virtual const DtModelSetRealizationManager& modelSetRealizationManager() const;
70 
73  virtual void setVisualizeModelSet(int modelset, bool visualize);
74 
77  virtual void addModelDefinition(const DtModelDefinition& definition);
78 
81  virtual void setModelDefinitionManager(
82  const DtModelDefinitionManager& definition);
83 
87  virtual void renameModelDefinition(const DtModelDefinition& old,
88  const DtModelDefinition& newDef);
89 
92  virtual void destroyModelDefinition(const DtModelDefinition& definition);
93 
95  virtual void setModelInstancingEnabled(bool);
96 
98  virtual void clearModelInstancingCache();
99 
101 
103 
104 
105  virtual void setCoordinateSystem(const std::string& coordinateSystemName,
106  const std::string& coordinateSystemParameters);
107 
109  const DtCoordinateSystem& coordinateSystem() const;
110  DtCoordinateSystem& coordinateSystem();
111 
113 
115 
116 
117 
132  virtual void setDateAndTime(int year, DtDeTimeManager::Month month,
133  int dayOfMonth, int hour, int minutes, double seconds);
134 
137  virtual void setUseGlobalTimeZone(bool);
138 
141  virtual void setTimeScale(double timeScale);
142 
144  const DtDeTimeManager& timeManager() const;
145 
148  DtDeTimeManager& timeManager();
149 
151 
153 
154 
156  virtual void reloadShader();
157 
159  virtual void setWireframeMode(bool state);
160  virtual bool wireframeMode() const;
161 
163  virtual bool terrainScalingEnabled() const;
164  virtual void setTerrainScalingEnabled(bool enabled);
165 
166  virtual double terrainScaleFactor() const;
167  virtual void setTerrainScaleFactor(double scaleFactor);
168 
169  virtual bool clearTrackHistoryOnTerrainScaleChanged() const;
170  virtual void setClearTrackHistoryOnTerrainScaleChanged(bool clear);
171 
174  virtual float globalAmbientValue() const;
175  virtual void setGlobalAmbientValue(float globalAmbientValue);
176 
177  virtual bool useGlobalAmbient() const;
178  virtual void setUseGlobalAmbient(bool useGlobalAmbient);
179 
182  virtual float globalDiffuseValue() const;
183  virtual void setGlobalDiffuseValue(float globalDiffuseValue);
184 
185  virtual bool useGlobalDiffuse() const;
186  virtual void setUseGlobalDiffuse(bool useGlobalDiffuse);
187 
189  virtual void setPlanViewGeocentricOccludedTransparency(float f);
190  virtual float planViewGeocentricOccludedTransparency() const;
191 
192  virtual void setPerformanceOverlayOn(bool enabled);
193  virtual bool performanceOverlayEnabled() const;
194 
195  virtual void setProfilerOverlayOn(bool enabled);
196  virtual bool profilerOverlayEnabled() const;
197 
198  virtual void setImguiOverlayOn(bool enabled);
199  virtual bool imguiOverlayOn() const;
200 
201  virtual bool perPixelLightingEnabled() const;
202  virtual void setPerPixelLightingEnabled(bool setting);
203 
204  virtual bool crepuscularRaysEnabled() const;
205  virtual void setCrepuscularRaysEnabled(bool setting);
206 
208  virtual bool dofUseAutofocus() const;
209  virtual void setDofUseAutofocus(bool useAutofocus);
210 
212  virtual double dofFocalDepth() const;
213  virtual void setDofFocalDepth(double focalDepth);
214 
216  virtual double dofFocalRange() const;
217  virtual void setDofFocalRange(double focalRange);
218 
219  // size of the water on screen effect(Rain Splash/Ocean Spray/Wave Splash) in percentage, default is 100(%)
220  virtual double waterOnScreenSize() const;
221  virtual void setWaterOnScreenSize(double size);
222 
223  virtual int componentVisualizationMode() const;
224  virtual void setComponentVisualizationMode(int value);
225 
227  virtual bool atcGlobalModelEnable() const;
228  virtual void setAtcGlobalModelEnable(bool flag);
229 
231  virtual bool atcGlobalTerrainEnable() const;
232  virtual void setAtcGlobalTerrainEnable(bool flag);
233 
235  virtual bool atcEnableDither() const;
236  virtual void setAtcEnableDither(bool flag);
237 
238  virtual double regenerateCubeMapThreshold() const;
239  virtual void setRegenerateCubeMapThreshold(double threshold);
240 
241  virtual double regenerateHeightMapPercThreshold() const;
242  virtual void setRegenerateHeightMapPercThreshold(double threshold);
243 
244  virtual bool omitCloudInCubeMap() const;
245  virtual void setOmitCloudInCubeMap(bool omit);
246 
250  virtual void setInstancedRenderingEnabled(bool enabled);
251 
255  virtual bool instancedRenderingEnabled() const;
256 
258  virtual void setShadowState(bool shadowMode);
259 
260  virtual bool shadowMode() const;
261 
263 
264  virtual void setUseReverseZBuffer(bool setting);
265  virtual bool useReverseZBuffer() const;
267 
269 
270  virtual void setSimulationTimeIsPaused(bool setting);
271  virtual bool simulationTimeIsPaused() const;
273 
274  virtual void loadRenderSettings(const std::string& filepath);
275  virtual void saveRenderSettings(const std::string& filepath);
276  virtual void loadDefaultRenderSettings(bool useOnlyFactorySettings);
277  virtual void saveDefaultRenderSettings();
278  virtual void updateRenderState();
279 
281 
283 
284 
286  virtual void setDdsFlip(bool state);
287 
289  virtual bool ddsFlip() const;
290 
291  virtual void loadLoaderSettings(const std::string& filepath);
292  virtual void saveLoaderSettings(const std::string& filepath);
293  virtual void loadDefaultLoaderSettings(bool useOnlyFactorySettings);
294  virtual void saveDefaultLoaderSettings();
295  virtual void updateLoaderState();
296 
298 
300 
301 
303  virtual void setAccelerationCachingEnabled(bool enabled);
304 
306  virtual bool accelerationCachingEnabled() const;
307 
309  virtual void clearAccelerationCache() const;
310 
312  virtual void setInstancingEnabled(bool enabled);
313 
315  virtual void setClearInstancesOnNewSceneEnabled(bool enabled);
316 
318  virtual bool instancingEnabled() const;
319 
321  virtual bool clearInstancesOnNewScene() const;
322 
324  virtual void clearInstancingCache();
325 
327  virtual void setCompressTextures(bool enabled);
328 
330  virtual bool compressTextures() const;
331 
332  virtual void loadCacheSettings(const std::string& filepath);
333  virtual void saveCacheSettings(const std::string& filepath);
334  virtual void loadDefaultCacheSettings(bool useOnlyFactorySettings);
335  virtual void saveDefaultCacheSettings();
336  virtual void updateCacheState();
337 
339 
341 
342 
343  virtual bool oceanPlanarReflectionsEnabled() const;
344  virtual void setOceanPlanarReflectionsEnabled(bool setting);
345 
346  virtual float oceanPlanarReflectionsLODScale() const;
347  virtual void setOceanPlanarReflectionsLODScale(float setting);
348 
349  virtual bool oceanPlanarReflectionsSpecifyFarClip() const;
350  virtual void setOceanPlanarReflectionsSpecifyFarClip(bool setting);
351 
352  virtual double oceanPlanarReflectionsFarClip() const;
353  virtual void setOceanPlanarReflectionsFarClip(double setting);
354 
355  virtual bool planarReflectionsShowSpeedTrees() const;
356  virtual void setPlanarReflectionsShowSpeedTrees(bool flag);
357 
358  virtual double staticOceanLodRange() const;
359  virtual void setStaticOceanLodRange(double range);
360 
361  virtual bool waveSprayEffectEnabled() const;
362  virtual void setWaveSprayEffectEnabled(bool setting);
363 
364  virtual bool rotorWashDecalEnabled() const;
365  virtual void setRotorWashDecalEnabled(bool setting);
366 
367  virtual double oceanHeightMapResolution() const;
368  virtual void setOceanHeightMapResolution(double setting);
369 
370  virtual void setOceanHeightMapTextureSize(int setting);
371  virtual int oceanHeightMapTextureSize() const;
372 
373 
377  virtual void setTidalStreamWakesEnabled(bool enabled);
378 
382  virtual bool tidalStreamWakesEnabled() const;
383 
384  virtual int planarReflectionTextureWidth() const;
385  virtual void setPlanarReflectionTextureWidth(int w);
386 
387  virtual int planarReflectionTextureHeight() const;
388  virtual void setPlanarReflectionTextureHeight(int h);
389 
390  virtual unsigned int oceanQuality() const;
391  virtual void setOceanQuality(unsigned int quality);
392 
393  virtual void loadOceanRenderSettings(const std::string& filepath);
394  virtual void saveOceanRenderSettings(const std::string& filepath);
395  virtual void loadDefaultOceanRenderSettings(bool useOnlyFactorySettings);
396  virtual void saveDefaultOceanRenderSettings();
397  virtual void updateOceanRenderState();
399 
401  virtual void setPagedLodMagnificationHighLodAngle(float radians);
402  virtual float pagedLodMagnificationHighLodAngle() const;
403 
405 
406 
407  virtual float lightingEmissionScale() const;
408  virtual void setLightingEmissionScale(float setting);
409 
410  virtual float lightingDiffuseScale() const;
411  virtual void setLightingDiffuseScale(float setting);
412 
413  virtual float lightingAmbientScale() const;
414  virtual void setLightingAmbientScale(float setting);
415 
416  virtual void loadLightingRenderSettings(const std::string& filepath);
417  virtual void saveLightingRenderSettings(const std::string& filepath);
418  virtual void loadDefaultLightingRenderSettings(bool useOnlyFactorySettings);
419  virtual void saveDefaultLightingRenderSettings();
420  virtual void updateLightingRenderState();
422 
423 
425 
426 
427  virtual bool intersectorDrawEnabled() const;
428  virtual void setIntersectorDrawEnabled(bool setting);
429 
430  virtual float intersectorDrawnDuration() const;
431  virtual void setIntersectorDrawnDuration(float setting);
432 
433  virtual const DtColorValue& failedIntersectorColor() const;
434  virtual void setFailedIntersectorColor(const DtColorValue& setting);
435 
436  virtual const DtColorValue& oddSegmentIntersectorColor() const;
437  virtual void setOddSegmentIntersectorColor(const DtColorValue& setting);
438 
439  virtual const DtColorValue& evenSegmentIntersectorColor() const;
440  virtual void setEvenSegmentIntersectorColor(const DtColorValue& setting);
441 
442  virtual void loadIntersectorSettings(const std::string& filepath);
443  virtual void saveIntersectorSettings(const std::string& filepath);
444  virtual void loadDefaultIntersectorSettings(bool useOnlyFactorySettings);
445  virtual void saveDefaultIntersectorSettings();
446  virtual void updateIntersectorState();
448 
450 
451 
452  virtual const bool diGuyInstancingEnabled() const;
453  virtual void setDiGuyInstancingEnabled(bool enabled);
454 
455  virtual const int diGuyInstancedLod() const;
456  virtual void setDiGuyInstancedLod(int lod);
457 
458  virtual const bool diGuyVisualizeInstancing() const;
459  virtual void setDiGuyVisualizeInstancing(bool enabled);
460 
461  virtual const float diGuyMaxDrawDistance() const;
462  virtual void setDiGuyMaxDrawDistance(float distance);
463 
464  virtual const bool diGuyMultiThreadUpdate() const;
465  virtual void setDiGuyMultiThreadUpdate(bool enabled);
466 
467  virtual void loadDiGuySettings(const std::string& filepath);
468  virtual void saveDiGuySettings(const std::string& filepath);
469  virtual void loadDefaultDiGuySettings(bool useOnlyFactorySettings);
470  virtual void saveDefaultDiGuySettings();
471  virtual void updateDiGuyState();
472 
474 
476 
477 
479  virtual bool enableHdr() const;
480  virtual void setEnableHdr(bool enabled);
481 
482  virtual bool enableHdrAutoExposure() const;
483  virtual void setEnableHdrAutoExposure(bool enabled);
484 
485  virtual bool enableHdrBloom() const;
486  virtual void setEnableHdrBloom(bool enabled);
487 
488  virtual bool enableHdrStreaks() const;
489  virtual void setEnableHdrStreaks(bool enabled);
490 
491  virtual bool enableHdrLensFlare() const;
492  virtual void setEnableHdrLensFlare(bool enabled);
493 
494  virtual void setLightPointScale(double val);
495  virtual double lightPointScale() const;
496 
497  virtual void setDynamicLightScale(double val);
498  virtual double dynamicLightScale() const;
499 
500  virtual void setEmissiveTextureScale(double val);
501  virtual double emissiveTextureScale() const;
502 
503  virtual void setSpecularScale(double val);
504  virtual double specularScale() const;
505 
506  virtual void setShininessScale(double val);
507  virtual double shininessScale() const;
508 
509  virtual void setAutoExposureRateScale(double val);
510  virtual double autoExposureRateScale() const;
511 
512  virtual void setAutoExposurePreScale(double val);
513  virtual double autoExposurePreScale() const;
514 
515  virtual void setAutoExposureMinDiff(double val);
516  virtual double autoExposureMinDiff() const;
517 
518  virtual void setAutoExposureMaxDiff(double val);
519  virtual double autoExposureMaxDiff() const;
520 
521  virtual void setAutoExposureClampMin(double val);
522  virtual double autoExposureClampMin() const;
523 
524  virtual void setAutoExposureClampMax(double val);
525  virtual double autoExposureClampMax() const;
526 
527  virtual void setAutoExposurePostScale(double val);
528  virtual double autoExposurePostScale() const;
529 
530  virtual void setBloomScale(double val);
531  virtual double bloomScale() const;
532 
533  virtual void setStreakIntensityScale(double val);
534  virtual double streakIntensityScale() const;
535 
536  virtual void setNumStreaks(int val);
537  virtual int numStreaks() const;
538 
539  virtual void setStreaksLenScale(double val);
540  virtual double streaksLenScale() const;
541 
542  virtual void setStreakRotationOffset(double val);
543  virtual double streakRotationOffset() const;
544 
545  virtual void setLensFlareScale(double val);
546  virtual double lensFlareScale() const;
547 
548  virtual void setGamma(double val);
549  virtual double gamma() const;
550 
551  virtual void setHdrResolutionScale(int val);
552  virtual int hdrResolutionScale() const;
553 
554  virtual void setLightPointGroupColor(const std::string& groupName, DtColorValue color);
555  virtual DtColorValue lightPointGroupColor(const std::string& groupName);
556 
557  //this is not saved out but is a part of how the HDR post processor works
558  // scale for the tonemapping, shared so slaves match master intensity
559  virtual void setHdrOutputScale(double val);
560  virtual double hdrOutputScale() const;
561 
562  virtual void loadPostProcessorSettings(const std::string& filepath);
563  virtual void savePostProcessorSettings(const std::string& filepath);
564  virtual void loadDefaultPostProcessorSettings(bool useOnlyFactorySettings);
565  virtual void saveDefaultPostProcessorSettings();
566  virtual void updatePostProcessorState();
568 
569 
572  virtual void initializeSharedChangeManager();
573 
575 
576 
579  virtual void synchronizeSlave(DtDeRecord* igRecord);
580 
582 
583  void setAutoSave(bool b)
584  {
585  myAutoSave = b;
586  }
587 
588  bool autoSave() const
589  {
590  return myAutoSave;
591  }
592 
593  protected:
594 
597 
599  virtual void sendModelDefinitionsToSlave(DtMessageClient* messageClient);
600 
603  virtual void sendModelSetConfigurationToSlave(
604  DtMessageClient* messageClient);
605 
607  virtual void sendLightPointGroupsToSlave(DtMessageClient* messageClient);
608 
610  virtual void local_setLightPointGroupColor(const std::string& groupName, DtColorValue color);
611 
613 
614 
616  virtual void local_setModelDefinitionManager(const DtModelDefinitionManager& definition);
617 
619  virtual void local_addModelDefinition(const DtModelDefinition& definition);
620 
622  virtual void local_destroyModelDefinition(const std::string& definition);
624 
626  virtual void local_setModelInstancingEnabled(bool);
627 
629  virtual void local_clearModelInstancingCache();
630 
632  virtual void local_reloadShader();
633 
635  virtual void local_setWireframeMode(bool mode);
636 
638  virtual void local_setTerrainScalingEnabled(bool enabled);
639 
641  virtual void local_setTerrainScaleFactor(double scaleFactor);
642 
644  virtual void local_setGlobalAmbientValue(float globalAmbientValue);
645 
647  virtual void local_setUseGlobalAmbient(bool useGlobalAmbient);
648 
650  virtual void local_setGlobalDiffuseValue(double globalDiffuseValue);
651 
653  virtual void local_setUseGlobalDiffuse(bool useGlobalDiffuse);
654 
656  virtual void local_setClearTrackHistoryOnTerrainScaleChanged(bool clear);
657 
659  virtual void local_setPlanViewGeocentricOccludedTransparency(float alpha);
660 
662  virtual void local_setShadowState(bool mode);
663 
665  virtual void local_ddsFlipState(bool flip);
666 
668  virtual void local_setVisualizeModelSet(int modelSet, bool visualize);
669 
671  void local_setCoordinateSystem(const std::string& coordinateSystemName,
672  const std::string& coordinateSystemParameters);
673 
675  virtual void local_setPerPixelLightingEnabled(bool mode);
676 
678  virtual void local_setOceanPlanarReflectionsEnabled(bool mode);
679 
681  virtual void local_setOceanPlanarReflectionsLODScale(float val);
682 
684  virtual void local_setOceanPlanarReflectionsSpecifyFarClip(bool mode);
685 
687  virtual void local_setOceanPlanarReflectionsFarClip(double val);
688 
690  virtual void local_setPlanarReflectionsShowSpeedTrees(bool flag);
691 
692  virtual void local_setStaticOceanLodRange(double range);
693 
695  virtual void local_setCrepuscularRaysEnabled(bool mode);
696 
698  virtual void local_setWaveSprayEffectEnabled(bool mode);
699 
701  virtual void local_setRotorWashDecalEnabled(bool mode);
702 
704  virtual void local_setOceanHeightMapResolution(double resolution);
705 
707 
708  void local_setDateAndTime(int year, DtDeTimeManager::Month month, int dayOfMonth,
709  int hour, int minutes, double seconds);
710  void local_setTimeScale(double timeScale);
711  void local_setUseGlobalTimeZone(bool);
713 
715 
716 
718  virtual void local_setAccelerationCachingEnabled(bool enabled);
719 
721  virtual void local_clearAccelerationCache();
722 
724  virtual void local_setInstancingEnabled(bool enabled);
725 
727  virtual void local_setClearInstancesOnNewScene(bool enabled);
728 
730  virtual void local_clearInstancingCache();
731 
733  virtual void local_setCompressTextures(bool enabled);
734 
736  virtual void local_setTidalStreamWakesEnabled(bool enabled);
738 
742  virtual void local_setInstancedRenderingEnabled(bool enabled);
743 
745  virtual void local_setRegenerateCubeMapThreshold(double threshold);
746 
748  virtual void local_setRegenerateHeightMapPercThreshold(double threshold);
749 
751  virtual void local_setOmitCloudInCubeMap(bool enabled);
752 
754  virtual void local_setOceanHeightMapTextureSize(int val);
755 
756  virtual void local_setPlanarReflectionTextureWidth(int w);
757 
758  virtual void local_setPlanarReflectionTextureHeight(int w);
759 
760  virtual void local_setOceanQuality(unsigned int setting);
761 
763  virtual void local_setLightingEmissionScale(float val);
765  virtual void local_setLightingDiffuseScale(float val);
767  virtual void local_setLightingAmbientScale(float val);
768 
769 
770  virtual void local_setIntersectorDrawEnabled(bool setting);
771 
772  virtual void local_setIntersectorDrawnDuration(float setting);
773 
774  virtual void local_setFailedIntersectorColor(const DtColorValue& setting);
775 
776  virtual void local_setOddSegmentIntersectorColor(const DtColorValue& setting);
777 
778  virtual void local_setEvenSegmentIntersectorColor(const DtColorValue& setting);
779 
780 
781  virtual void local_setDiGuyInstancingEnabled(bool color);
782 
783  virtual void local_setDiGuyInstancedLod(int lod);
784 
785  virtual void local_setDiGuyVisualizeInstancing(bool enabled);
786 
787  virtual void local_setDiGuyMaxDrawDistance(float distance);
788 
789  virtual void local_setDiGuyMultiThreadUpdate(bool enabled);
790 
791  virtual void local_setPagedLodMagnificationHighLodAngle(float radians);
792 
793  virtual void local_setUseReverseZBuffer(bool val);
794 
795  virtual void local_setSimulationTimeIsPaused(bool val);
796 
798  virtual void local_setDofUseAutofocus(bool useAutofocus);
799 
801  virtual void local_setDofFocalDepth(double focalDepth);
802 
804  virtual void local_setDofFocalRange(double focalRange);
805 
806  // size of the water on screen effect(Rain Splash/Ocean Spray/Wave Splash) in percentage, default is 100(%)
807  virtual void local_setWaterOnScreenSize(double size);
808 
810  virtual void local_setEnableHdr(bool enabled);
811  virtual void local_setEnableHdrAutoExposure(bool enabled);
812  virtual void local_setEnableHdrBloom(bool enabled);
813  virtual void local_setEnableHdrStreaks(bool enabled);
814  virtual void local_setEnableHdrLensFlare(bool enabled);
815 
816 
817  virtual void local_setLightPointScale(double val);
818  virtual void local_setDynamicLightScale(double val);
819  virtual void local_setEmissiveTextureScale(double val);
820  virtual void local_setSpecularScale(double val);
821  virtual void local_setShininessScale(double val);
822  virtual void local_setAutoExposureRateScale(double val);
823  virtual void local_setAutoExposurePreScale(double val);
824  virtual void local_setAutoExposureMinDiff(double val);
825  virtual void local_setAutoExposureMaxDiff(double val);
826  virtual void local_setAutoExposureClampMin(double val);
827  virtual void local_setAutoExposureClampMax(double val);
828  virtual void local_setAutoExposurePostScale(double val);
829  virtual void local_setBloomScale(double val);
830  virtual void local_setStreakIntensityScale(double val);
831  virtual void local_setNumStreaks(int val);
832  virtual void local_setStreaksLenScale(double val);
833  virtual void local_setStreakRotationOffset(double val);
834  virtual void local_setLensFlareScale(double val);
835  virtual void local_setGamma(double val);
836  virtual void local_setHdrResolutionScale(int val);
837 
838  virtual void local_setHdrOutputScale(double val);
839 
840  virtual void local_setAtcEnableDither(bool flag);
841  virtual void local_setAtcGlobalTerrainEnable(bool flag);
842  virtual void local_setAtcGlobalModelEnable(bool flag);
843 
844  protected:
845 
854 
885  unsigned int myOceanQuality;
886 
888 
892 
896 
902 
917 
930  double myBloomScale;
936  double myGamma;
938 
942  };
943 
947  {
948 
949  public:
950 
952  static DtDeSharedStateCreator& instance(DtDe&);
953 
955  static void registerInstance(DtDe& de, DtDeSharedStateCreator*);
956 
958  virtual DtDeSharedState* create(DtDe& de);
959 
960  };
961 
962 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)