2#include <fhsim/simobject/ISimObjectCreator.h>
3#include "seafloorForces/SeafloorForces.h"
5#include <fhsim_environment/ScalarField.h>
6#include <marenv/current/ConstantCurrent.h>
7#include <marenv/seafloor/BathymetryField.h>
8#include <marenv/seafloor/BathymetryWaves.h>
9#include <marenv/wave/LinearWaveTheory.h>
10#include <marenv/wave/WaveEnergySpectrum.h>
11#include <marenv/wave/WaveField.h>
78 std::shared_ptr<marenv::wave::WaveField>
waves;
80 std::shared_ptr<marenv::seafloor::BathymetryWaves>
bathymetry;
82 std::shared_ptr<marenv::seafloor::BathymetryField>
seafloor;
88 std::shared_ptr<marenv::current::CurrentField>
currents;
90 std::vector<std::shared_ptr<environment::field::ScalarField>>
scalarFields;
135 std::map<std::string, SkyMaterialSpec> m_skyMaterials;
Definition EnvironmentSettings.h:54
std::vector< std::shared_ptr< environment::field::ScalarField > > scalarFields
Named scalar fields (temperature, salinity, species concentration). Empty when none are configured.
Definition EnvironmentSettings.h:90
double worldRadius
World rendering radius [m].
Definition EnvironmentSettings.h:119
std::shared_ptr< marenv::wave::WaveField > waves
Wave field for rendering.
Definition EnvironmentSettings.h:78
std::shared_ptr< environment::SeafloorForces > seafloorForces
Seafloor forces.
Definition EnvironmentSettings.h:92
std::string OceanMaterial()
std::string SeafloorMaterial()
VisualQuality
Visual quality levels.
Definition EnvironmentSettings.h:58
@ Fair
Fair rendering (medium quality)
Definition EnvironmentSettings.h:60
@ Nice
Nice rendering (high quality)
Definition EnvironmentSettings.h:61
@ Fast
Fast rendering (low quality)
Definition EnvironmentSettings.h:59
int randomSeed
Random seed.
Definition EnvironmentSettings.h:121
EnvironmentSettings(ISimObjectCreator *creator)
std::shared_ptr< marenv::current::CurrentField > currents
Current field.
Definition EnvironmentSettings.h:88
double seafloorMinDepth
Minimum seabed depth over the visual domain [m] (sampled from the active field).
Definition EnvironmentSettings.h:84
std::string OceansidesMaterial()
double seafloorMaxDepth
Maximum seabed depth over the visual domain [m] (sampled from the active field).
Definition EnvironmentSettings.h:86
bool OceanVertexshaderUsesTime()
int visualQuality
Visual quality level.
Definition EnvironmentSettings.h:123
std::vector< int > vertexCounts
Vertex counts [u, v].
Definition EnvironmentSettings.h:117
std::shared_ptr< marenv::seafloor::BathymetryWaves > bathymetry
Sum-of-sines bathymetry (used for visualization; also the seabed for the "SumOfSines" model)
Definition EnvironmentSettings.h:80
VisualQuality QualityFromInt(int quality)
SkyMaterialSpec SkySpec()
bool visualizeWaves
Enable wave visualization.
Definition EnvironmentSettings.h:115
std::shared_ptr< marenv::seafloor::BathymetryField > seafloor
Active seabed used for physics queries (may be sum-of-sines or a parametric field)
Definition EnvironmentSettings.h:82
Visualization utilities.
Definition EnvironmentSettings.h:15
SkyType
Sky rendering types.
Definition EnvironmentSettings.h:18
@ DOME
Dome sky rendering.
Definition EnvironmentSettings.h:19
@ BOX
Box sky rendering (default)
Definition EnvironmentSettings.h:21
@ PLANE
Plane sky rendering.
Definition EnvironmentSettings.h:20
Sky material specification.
Definition EnvironmentSettings.h:25
std::string material
Material name.
Definition EnvironmentSettings.h:41
std::string texture
Texture name.
Definition EnvironmentSettings.h:43
SkyType type
Sky type.
Definition EnvironmentSettings.h:45
SkyMaterialSpec(std::string material, std::string texture, SkyType type=BOX)
Definition EnvironmentSettings.h:34
SkyMaterialSpec()
Default-constructs an empty sky material spec.
Definition EnvironmentSettings.h:27