13 #include <vlutil/vlString.h>
14 #include <vrfExtObjects/vrfWeatherStateEnums.h>
16 #include <matrix/vlVector.h>
62 virtual bool globalEnvironmentSimulatedLocally()
const;
68 virtual bool startEnvironmentSimulationLocally();
78 virtual DtVrfObject* weatherObjectFor(
const DtChord& localChord)
const;
82 virtual std::vector<DtVrfObject*> weatherObjectsFor(
const DtChord& localChord)
const;
87 virtual void setAirTurbidity(
double factor,
const DtString& weatherArea =
"");
88 virtual double airTurbidity(
const DtString& weatherArea)
const;
89 virtual double airTurbidity(
const DtVector&)
const;
94 virtual void setAmbientAirTemperature(
double temp,
const DtString& weatherArea =
"");
95 virtual double ambientAirTemperature(
const DtString& weatherArea)
const;
96 virtual double ambientAirTemperature(
const DtVector&)
const;
101 virtual void setCloudState(DtVrfWeatherCloudState current,
const DtString& weatherArea =
"");
102 virtual DtVrfWeatherCloudState cloudState(
const DtString& weatherArea)
const;
103 virtual DtVrfWeatherCloudState cloudState(
const DtVector&)
const;
108 virtual void setPrecipitationIntensity(
double factor,
const DtString& weatherArea =
"");
109 virtual double precipitationIntensity(
const DtString& weatherArea)
const;
110 virtual double precipitationIntensity(
const DtVector&)
const;
115 virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current,
const DtString& weatherArea =
"");
116 virtual DtVrfWeatherPrecipitationType precipitationType(
const DtString& weatherArea)
const;
117 virtual DtVrfWeatherPrecipitationType precipitationType(
const DtVector&)
const;
122 virtual void setWindSpeed(
double value,
const DtString& weatherArea =
"");
123 virtual double windSpeed(
const DtString& weatherArea)
const;
124 virtual double windSpeed(
const DtVector&)
const;
129 virtual void setWindDirection(
double value,
const DtString& weatherArea =
"");
130 virtual double windDirection(
const DtString& weatherArea)
const;
131 virtual double windDirection(
const DtVector&)
const;
136 virtual void setVisibility(
double value,
const DtString& weatherArea =
"");
137 virtual double visibility(
const DtString& weatherArea)
const;
138 virtual double visibility(
const DtVector&)
const;
142 virtual double visibility(
const DtChord&)
const;
150 virtual double illumination(
const DtVector& localPosition)
const;
160 virtual void setDateAndTimeOfDay(
double secondsPastMidnight);
162 virtual double timeOfDay()
const;
163 virtual double dateAndTimeOfDay()
const;
166 virtual void setTimeOfDayAdvancementSpeed(
double speed);
168 virtual double timeOfDayAdvancementSpeed()
const;
172 virtual void setPriority(
int p,
const DtString& weatherArea =
"");
173 virtual int priority(
const DtString& weatherArea)
const;
174 virtual int priority(
const DtVector&)
const;
179 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtString& weatherArea =
"");
180 virtual double underwaterVisibility(
const DtString& weatherArea)
const;
181 virtual double underwaterVisibility(
const DtVector&)
const;
186 virtual void setSurfaceTransparency(
double transparency,
const DtString& weatherArea =
"");
187 virtual double surfaceTransparency(
const DtString& weatherArea)
const;
188 virtual double surfaceTransparency(
const DtVector&)
const;
193 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtString& weatherArea =
"");
194 virtual double waterCurrentSpeed(
const DtString& weatherArea)
const;
195 virtual double waterCurrentSpeed(
const DtVector&)
const;
200 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtString& weatherArea =
"");
201 virtual double waterCurrentDirection(
const DtString& weatherArea)
const;
202 virtual double waterCurrentDirection(
const DtVector&)
const;
207 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtString& weatherArea =
"");
208 virtual double ambientWaterTemperature(
const DtString& weatherArea)
const;
209 virtual double ambientWaterTemperature(
const DtVector&)
const;
214 virtual void setTidalOffset(
double tidalOffset,
const DtString& weatherArea =
"");
215 virtual double tidalOffset(
const DtString& weatherArea)
const;
216 virtual double tidalOffset(
const DtVector&)
const;
222 virtual void setUseDayNightIlluminationModel(
bool);
223 virtual bool useDayNightIlluminationModel()
const;
229 virtual void setTidalDirection(
bool tidalDirection,
const DtString& weatherArea =
"");
230 virtual bool tidalDirection(
const DtString& weatherArea)
const;
231 virtual bool tidalDirection(
const DtVector&)
const;
236 virtual void setSwellState(
unsigned int state,
const DtString& weatherArea =
"");
237 virtual unsigned int swellState(
const DtString& weatherArea)
const;
238 virtual unsigned int swellState(
const DtVector&)
const;
243 virtual void setSwellStateDirection(
double direction,
const DtString& weatherArea =
"");
244 virtual double swellStateDirection(
const DtString& weatherArea)
const;
245 virtual double swellStateDirection(
const DtVector&)
const;
250 virtual void setSeaState(
unsigned int state,
const DtString& weatherArea =
"");
251 virtual unsigned int seaState(
const DtString& weatherArea)
const;
252 virtual unsigned int seaState(
const DtVector&)
const;
257 virtual void setSeaStateDirection(
double direction,
const DtString& weatherArea =
"");
258 virtual double seaStateDirection(
const DtString& weatherArea)
const;
259 virtual double seaStateDirection(
const DtVector&)
const;
264 virtual void setWindDrivenSeaStateEnabled(
bool b,
const DtString& weatherArea =
"");
265 virtual bool windDrivenSeaStateEnabled(
const DtString& weatherArea)
const;
266 virtual bool windDrivenSeaStateEnabled(
const DtVector&)
const;
271 virtual void setChoppiness(
double choppiness,
const DtString& weatherArea =
"");
272 virtual double choppiness(
const DtString& weatherArea)
const;
273 virtual double choppiness(
const DtVector&)
const;
278 virtual void setSurgeDepth(
double depth,
const DtString& weatherArea =
"");
279 virtual double surgeDepth(
const DtString& weatherArea)
const;
280 virtual double surgeDepth(
const DtVector&)
const;
285 virtual DtObjectType globalEnvironmentObjectType()
const;
290 virtual void setThermoclineLayer1Depth(
double depth,
const DtString& weatherArea =
"");
291 virtual double thermoclineLayer1Depth(
const DtString& weatherArea)
const;
292 virtual double thermoclineLayer1Depth(
const DtVector&)
const;
293 virtual void setThermoclineLayer1Permeability(
double depth,
const DtString& weatherArea =
"");
294 virtual double thermoclineLayer1Permeability(
const DtString& weatherArea)
const;
295 virtual double thermoclineLayer1Permeability(
const DtVector&)
const;
296 virtual void setThermoclineLayer2Depth(
double depth,
const DtString& weatherArea =
"");
297 virtual double thermoclineLayer2Depth(
const DtString& weatherArea)
const;
298 virtual double thermoclineLayer2Depth(
const DtVector&)
const;
299 virtual void setThermoclineLayer2Permeability(
double depth,
const DtString& weatherArea =
"");
300 virtual double thermoclineLayer2Permeability(
const DtString& weatherArea)
const;
301 virtual double thermoclineLayer2Permeability(
const DtVector&)
const;
302 virtual void setThermoclineLayer3Depth(
double depth,
const DtString& weatherArea =
"");
303 virtual double thermoclineLayer3Depth(
const DtString& weatherArea)
const;
304 virtual double thermoclineLayer3Depth(
const DtVector&)
const;
305 virtual void setThermoclineLayer3Permeability(
double depth,
const DtString& weatherArea =
"");
306 virtual double thermoclineLayer3Permeability(
const DtString& weatherArea)
const;
307 virtual double thermoclineLayer3Permeability(
const DtVector&)
const;
308 virtual void setThermoclineLayer4Depth(
double depth,
const DtString& weatherArea =
"");
309 virtual double thermoclineLayer4Depth(
const DtString& weatherArea)
const;
310 virtual double thermoclineLayer4Depth(
const DtVector&)
const;
311 virtual void setThermoclineLayer4Permeability(
double depth,
const DtString& weatherArea =
"");
312 virtual double thermoclineLayer4Permeability(
const DtString& weatherArea)
const;
313 virtual double thermoclineLayer4Permeability(
const DtVector&)
const;
314 virtual void setThermoclineLayer5Depth(
double depth,
const DtString& weatherArea =
"");
315 virtual double thermoclineLayer5Depth(
const DtString& weatherArea)
const;
316 virtual double thermoclineLayer5Depth(
const DtVector&)
const;
317 virtual void setThermoclineLayer5Permeability(
double depth,
const DtString& weatherArea =
"");
318 virtual double thermoclineLayer5Permeability(
const DtString& weatherArea)
const;
319 virtual double thermoclineLayer5Permeability(
const DtVector&)
const;
323 static void objectAddedCallback(
DtVrfObject*
object,
void* usr);
324 virtual void processObjectAdded(
DtVrfObject*
object);
326 static void objectRemovedCallback(
DtVrfObject*
object,
void* usr);
327 virtual void processObjectRemoved(
DtVrfObject*
object);
332 virtual void createGlobalEnvironmentObject();
339 static void changeWeatherPrioritiesCallback(
DtSimMessage* msg,
void* usr);
340 virtual void processChangeWeatherPriorities(
DtSimMessage* msg);