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;
68 virtual void setFromRecord(
85 virtual void setEnvironment(
const std::string& name);
89 virtual void removeEnvironment(
const std::string& name);
92 virtual void renameEnvironment(
99 virtual void getEnvironmentNames(std::vector<std::string>&
names,
100 bool includeLocalOnlyEnvironment =
false);
104 virtual void setDefaultEnvironmentName(
const std::string& name);
108 virtual std::string defaultEnvironmentName()
const;
113 virtual void setLightningPresent(
bool lightningPresent);
114 virtual bool lightningPresent()
const;
119 virtual void setAirTurbidity(
float turbidity);
120 virtual float airTurbidity()
const;
128 virtual void setVisibleDistance(
float distance);
129 virtual float visibleDistance()
const;
137 virtual void setWindSpeed(
float windSpeed);
138 virtual float windSpeed()
const;
146 virtual void setWindDirection(
float direction);
147 virtual float windDirection()
const;
158 virtual void setPrecipitationIntensity(
float intensity);
159 virtual float precipitationIntensity()
const;
172 virtual void updateOrAddElevationalConfiguration(
182 virtual bool getElevationalConfiguration(
float baseMSLAltitude,
192 virtual void removeElevationalConfiguration(
float baseMSLAltitude);
204 virtual void moveElevationalConfiguration(
205 float oldBaseMSLAltitude,
float newBaseMSLAltitude);
211 virtual void setWindSpeedAtMSLAltitude(
float mslAltitude,
float windSpeed);
218 virtual float windSpeedAtMSLAltitude(
float mslAltitude)
const;
225 virtual void setWindDirectionAtMSLAltitude(
float mslAltitude,
float windDirection);
232 virtual float windDirectionAtMSLAltitude(
float mslAltitude)
const;
239 virtual void setVisibilityDistanceAtMSLAltitude(
float mslAltitude,
float visibilityDistance);
246 virtual float visibilityDistanceAtMSLAltitude(
float mslAltitude)
const;
267 virtual void setCloudTypeAtMSLAltitude(
float mslAltitude,
CloudType cloudType);
274 virtual CloudType cloudTypeAtMSLAltitude(
float mslAltitude)
const;
280 virtual void setSkyCoverageAtMSLAltitude(
float mslAltitude,
float skyCoverage);
286 virtual float skyCoverageAtMSLAltitude(
float mslAltitude)
const;
290 virtual void setAmbientAirTemperature(
float temperature);
291 virtual float ambientAirTemperature()
const;
296 virtual void setAmbientAirPressure(
float pressure);
297 virtual float ambientAirPressure()
const;
302 virtual void setAirPressureAltitude(
float altitude);
303 virtual float airPressureAltitude()
const;
308 virtual void setAirTemperatureAltitude(
float altitude);
309 virtual float airTemperatureAltitude()
const;
314 virtual void setAirPressureAltitudeIsSeaLevel(
bool seaLevel);
315 virtual bool airPressureAltitudeIsSeaLevel()
const;
320 virtual void setAirTemperatureAltitudeIsSeaLevel(
bool seaLevel);
321 virtual bool airTemperatureAltitudeIsSeaLevel()
const;
326 virtual void setSeaLevelWaterConcentration(
float water);
327 virtual float seaLevelWaterConcentration()
const;
332 virtual void setFogHeight(
float height);
333 virtual float fogHeight()
const;
338 virtual void setFogColor(
const DtVector&
color);
339 virtual DtVector fogColor()
const;
344 virtual void setGroundFogColor(
const DtVector& color)
override;
345 virtual DtVector groundFogColor()
const override;
357 virtual void setSeaStateDirection(
float dir);
358 virtual float seaStateDirection()
const;
363 virtual void setWindDrivenSeaState(
bool enabled);
364 virtual bool windDrivenSeaState()
const;
376 virtual void setSwellStateDirection(
float dir);
377 virtual float swellStateDirection()
const;
382 virtual void setWindFetch(
float distance);
383 virtual float windFetch()
const;
388 virtual void setSeaChoppiness(
float chop);
389 virtual float seaChoppiness()
const;
394 void setUnderwaterVisibilityEnabled(
bool enabled);
395 bool underwaterVisibilityEnabled()
const;
400 virtual void setUnderwaterVisibility(
float distance);
401 virtual float underwaterVisibility()
const;
406 virtual void setWaterSurfaceTransparency(
float normalizedValue);
407 virtual float waterSurfaceTransparency()
const;
412 virtual void setSurgeDepth(
float meters);
413 virtual float surgeDepth()
const;
418 virtual void setDepthOffset(
float meters);
419 virtual float depthOffset()
const;
424 virtual void setAmbientWaterTemperature(
float temperature);
425 virtual float ambientWaterTemperature()
const;
430 virtual void setWaterCurrentSpeed(
float speed);
431 virtual float waterCurrentSpeed()
const;
437 virtual void setWaterCurrentDirection(
float direction);
438 virtual float waterCurrentDirection()
const;
443 virtual void setTidalOffset(
float meters);
444 virtual float tidalOffset()
const;
449 virtual void setTidalDirection(
bool inOut);
450 virtual bool tidalDirection()
const;
455 virtual void setThermoclineDepth(
unsigned int layer,
float depth);
456 virtual float thermoclineDepth(
unsigned int layer)
const;
461 virtual void setThermoclinePermeability(
unsigned int layer,
float permeability);
462 virtual float thermoclinePermeability(
unsigned int layer)
const;
467 virtual void setGroundSnowAccumulation(
float depth);
468 virtual float groundSnowAccumulation()
const;
473 virtual void setRoadSnowAccumulation(
float depth);
474 virtual float roadSnowAccumulation()
const;
479 virtual void setSnowMinimumElevation(
float elevation);
480 virtual float snowMinimumElevation()
const;
485 virtual void setSnowElevationTransition(
float elevation);
486 virtual float snowElevationTransition()
const;
491 virtual void setGroundRainAccumulation(
float depth);
492 virtual float groundRainAccumulation()
const;
501 virtual void removeLocalWind(
DtUniqueID id)
const;
506 virtual void setLocalWindLocation(
DtUniqueID id, DtVector loc);
511 virtual void setLocalWindSpeed(
DtUniqueID id,
float windSpeed);
518 virtual float lightLevel()
const;
523 void loadDefaults(
bool loadOnlyFactorySettings =
false);
529 void saveAsDefaults();
534 virtual void exportSettings(
const std::string& filename);
535 virtual void importSettings(
const std::string& filename);
540 return mySettingsBackup;
545 return mySettingsBackup;
549 virtual float seaLevel()
const;
551 virtual void initializeEnvironmentSettings();
563 virtual void resetClouds();
568 virtual void refreshCloudLayerThicknessIfNeeded();
571 virtual void clearCloudsFromSky();
576 virtual void addElevationalCloudLayersToCloudCoverManagerIfNeeded();
580 virtual void sendToSkyAllCloudLayers();
585 virtual void sendToSkyCloudLayerEnabled(
DtCloudLayerId layerId,
bool enabled);
592 virtual void slot_listenToRemoteEnvironmentSettingsChanged(
bool allowSimMessages);
594 virtual void slot_cloudCoverCloudLayerEnabledChanged(
DtCloudLayerId layerId,
bool enableState);
595 virtual void slot_cloudCoverCloudLayerModified(
DtCloudLayerId layerId);
596 virtual void slot_cloudCoverCloudLayerPositionAndOrientationChanged(
DtCloudLayerId layerId,
597 const DtVector& position,
float orientation);
598 virtual void slot_cloudCoverCloudLayerAdded(
DtCloudLayerId layerId);
599 virtual void slot_cloudCoverCloudLayerToBeRemoved(
DtCloudLayerId layerId);
600 virtual void slot_cloudCoverToBeRemoved(
const std::string& cloudCoverName);
603 virtual void slot_coordinateSystemChanged();
606 virtual void slot_oceanLayerAdded(
const DtOceanLayer& layer);
609 virtual void slot_oceanLayerToBeDeleted(
const DtOceanLayer& layer);
612 virtual void slot_oceanLayerSeaLevelChanged(
const DtOceanLayer& layer,
617 virtual void slot_oceanLayerLodRangeChanged(
const DtOceanLayer& layer,
621 virtual void slot_surgeDepthChanged(
double depth);
624 virtual void slot_depthOffsetChanged(
double offset);
627 virtual void updateEnvironment();
631 virtual void initializeOcean();
634 virtual void enableCurrentCloudCoverLayers();
635 virtual void disableCurrentCloudCoverLayers();
637 virtual void autoSave();
641 virtual void sendMarineEnvironmentToOceanObject();
645 virtual void sendWeatherEnvironmentToSkyObject();
719 boost::signalslib::signal<
void (
unsigned int layerId,
724 boost::signalslib::signal<void (unsigned int layerId, const DtCloudLayer& changedLayer)>
756 boost::signalslib::signal<void (double normalizedValue)>
766 boost::signalslib::signal<void (unsigned int layer, float depth)>
768 boost::signalslib::signal<void (unsigned int layer, float permeability)>
770 boost::signalslib::signal< void(const std::string& environmentName) >