27 class DtCloudLayerRecord;
28 class DtEnvironmentListRecord;
34 class DtAgentManagerInterface;
35 class DtSkyObjectAgent;
36 class DtDynamicOceanObjectAgent;
37 class DtEventQueueInterface;
38 class DtSharedSettingsManager;
41 class DtOceanStateInterface;
42 class DtWeatherEffectsObjectAgent;
78 virtual void setFromRecord(
91 virtual void saveEnvironment(
const std::string& name);
95 virtual void setEnvironment(
const std::string& name);
99 virtual void removeEnvironment(
const std::string& name);
102 virtual void renameEnvironment(
103 const std::string& oldName,
const std::string& newName);
109 virtual void getEnvironmentNames(std::vector<std::string>& names,
110 bool includeLocalOnlyEnvironment =
false);
114 virtual void setDefaultEnvironmentName(
const std::string& name);
118 virtual std::string defaultEnvironmentName()
const;
123 virtual void setLightningPresent(
bool lightningPresent);
124 virtual bool lightningPresent()
const;
129 virtual void setAirTurbidity(
float turbidity);
130 virtual float airTurbidity()
const;
138 virtual void setVisibleDistance(
float distance);
139 virtual float visibleDistance()
const;
147 virtual void setWindSpeed(
float windSpeed);
148 virtual float windSpeed()
const;
156 virtual void setWindDirection(
float direction);
157 virtual float windDirection()
const;
168 virtual void setPrecipitationIntensity(
float intensity);
169 virtual float precipitationIntensity()
const;
182 virtual void updateOrAddElevationalConfiguration(
192 virtual bool getElevationalConfiguration(
float baseMSLAltitude,
202 virtual void removeElevationalConfiguration(
float baseMSLAltitude);
214 virtual void moveElevationalConfiguration(
215 float oldBaseMSLAltitude,
float newBaseMSLAltitude);
221 virtual void setWindSpeedAtMSLAltitude(
float mslAltitude,
float windSpeed);
228 virtual float windSpeedAtMSLAltitude(
float mslAltitude)
const;
235 virtual void setWindDirectionAtMSLAltitude(
float mslAltitude,
float windDirection);
242 virtual float windDirectionAtMSLAltitude(
float mslAltitude)
const;
249 virtual void setVisibilityDistanceAtMSLAltitude(
float mslAltitude,
float visibilityDistance);
256 virtual float visibilityDistanceAtMSLAltitude(
float mslAltitude)
const;
277 virtual void setCloudTypeAtMSLAltitude(
float mslAltitude,
CloudType cloudType);
284 virtual CloudType cloudTypeAtMSLAltitude(
float mslAltitude)
const;
290 virtual void setSkyCoverageAtMSLAltitude(
float mslAltitude,
float skyCoverage);
296 virtual float skyCoverageAtMSLAltitude(
float mslAltitude)
const;
300 virtual void setAmbientAirTemperature(
float temperature);
301 virtual float ambientAirTemperature()
const;
306 virtual void setAmbientAirPressure(
float pressure);
307 virtual float ambientAirPressure()
const;
312 virtual void setAirPressureAltitude(
float altitude);
313 virtual float airPressureAltitude()
const;
318 virtual void setAirTemperatureAltitude(
float altitude);
319 virtual float airTemperatureAltitude()
const;
324 virtual void setAirPressureAltitudeIsSeaLevel(
bool seaLevel);
325 virtual bool airPressureAltitudeIsSeaLevel()
const;
330 virtual void setAirTemperatureAltitudeIsSeaLevel(
bool seaLevel);
331 virtual bool airTemperatureAltitudeIsSeaLevel()
const;
336 virtual void setSeaLevelWaterConcentration(
float water);
337 virtual float seaLevelWaterConcentration()
const;
342 virtual void setFogHeight(
float height);
343 virtual float fogHeight()
const;
348 virtual void setFogColor(
const DtVector& color);
349 virtual DtVector fogColor()
const;
354 virtual void setGroundFogColor(
const DtVector& color)
override;
355 virtual DtVector groundFogColor()
const override;
367 virtual void setSeaStateDirection(
float dir);
368 virtual float seaStateDirection()
const;
373 virtual void setWindDrivenSeaState(
bool enabled);
374 virtual bool windDrivenSeaState()
const;
386 virtual void setSwellStateDirection(
float dir);
387 virtual float swellStateDirection()
const;
392 virtual void setWindFetch(
float distance);
393 virtual float windFetch()
const;
398 virtual void setSeaChoppiness(
float chop);
399 virtual float seaChoppiness()
const;
404 void setUnderwaterVisibilityEnabled(
bool enabled);
405 bool underwaterVisibilityEnabled()
const;
410 virtual void setUnderwaterVisibility(
float distance);
411 virtual float underwaterVisibility()
const;
416 virtual void setWaterSurfaceTransparency(
float normalizedValue);
417 virtual float waterSurfaceTransparency()
const;
422 virtual void setSurgeDepth(
float meters);
423 virtual float surgeDepth()
const;
428 virtual void setDepthOffset(
float meters);
429 virtual float depthOffset()
const;
434 virtual void setAmbientWaterTemperature(
float temperature);
435 virtual float ambientWaterTemperature()
const;
440 virtual void setWaterCurrentSpeed(
float speed);
441 virtual float waterCurrentSpeed()
const;
447 virtual void setWaterCurrentDirection(
float direction);
448 virtual float waterCurrentDirection()
const;
453 virtual void setTidalOffset(
float meters);
454 virtual float tidalOffset()
const;
459 virtual void setTidalDirection(
bool inOut);
460 virtual bool tidalDirection()
const;
465 virtual void setThermoclineDepth(
unsigned int layer,
float depth);
466 virtual float thermoclineDepth(
unsigned int layer)
const;
471 virtual void setThermoclinePermeability(
unsigned int layer,
float permeability);
472 virtual float thermoclinePermeability(
unsigned int layer)
const;
477 virtual void setGroundSnowAccumulation(
float depth);
478 virtual float groundSnowAccumulation()
const;
483 virtual void setRoadSnowAccumulation(
float depth);
484 virtual float roadSnowAccumulation()
const;
489 virtual void setSnowMinimumElevation(
float elevation);
490 virtual float snowMinimumElevation()
const;
495 virtual void setSnowElevationTransition(
float elevation);
496 virtual float snowElevationTransition()
const;
501 virtual void setGroundRainAccumulation(
float depth);
502 virtual float groundRainAccumulation()
const;
511 virtual void removeLocalWind(
DtUniqueID id)
const;
516 virtual void setLocalWindLocation(
DtUniqueID id, DtVector loc);
521 virtual void setLocalWindSpeed(
DtUniqueID id,
float windSpeed);
528 virtual float lightLevel()
const;
533 void loadDefaults(
bool loadOnlyFactorySettings =
false);
539 void saveAsDefaults();
544 virtual void exportSettings(
const std::string& filename);
545 virtual void importSettings(
const std::string& filename);
550 return mySettingsBackup;
555 return mySettingsBackup;
559 virtual float seaLevel()
const;
561 virtual void initializeEnvironmentSettings();
573 virtual void resetClouds();
578 virtual void refreshCloudLayerThicknessIfNeeded();
581 virtual void clearCloudsFromSky();
586 virtual void addElevationalCloudLayersToCloudCoverManagerIfNeeded();
590 virtual void sendToSkyAllCloudLayers();
595 virtual void sendToSkyCloudLayerEnabled(
DtCloudLayerId layerId,
bool enabled);
602 virtual void slot_listenToRemoteEnvironmentSettingsChanged(
bool allowSimMessages);
603 virtual void slot_refreshRemoteEnvironment();
605 virtual void slot_cloudCoverCloudLayerEnabledChanged(
DtCloudLayerId layerId,
bool enableState);
606 virtual void slot_cloudCoverCloudLayerModified(
DtCloudLayerId layerId);
607 virtual void slot_cloudCoverCloudLayerPositionAndOrientationChanged(
DtCloudLayerId layerId,
608 const DtVector& position,
float orientation);
609 virtual void slot_cloudCoverCloudLayerAdded(
DtCloudLayerId layerId);
610 virtual void slot_cloudCoverCloudLayerToBeRemoved(
DtCloudLayerId layerId);
611 virtual void slot_cloudCoverToBeRemoved(
const std::string& cloudCoverName);
614 virtual void slot_coordinateSystemChanged();
617 virtual void slot_oceanLayerAdded(
const DtOceanLayer& layer);
620 virtual void slot_oceanLayerToBeDeleted(
const DtOceanLayer& layer);
623 virtual void slot_oceanLayerSeaLevelChanged(
const DtOceanLayer& layer,
628 virtual void slot_oceanLayerLodRangeChanged(
const DtOceanLayer& layer,
632 virtual void slot_surgeDepthChanged(
double depth);
635 virtual void slot_depthOffsetChanged(
double offset);
638 virtual void updateEnvironment();
642 virtual void initializeOcean();
645 virtual void enableCurrentCloudCoverLayers();
646 virtual void disableCurrentCloudCoverLayers();
648 virtual void autoSave();
652 virtual void sendMarineEnvironmentToOceanObject();
656 virtual void sendWeatherEnvironmentToSkyObject();