14 #include <vlutil/vlString.h>
17 #include <matrix/vlVector.h>
64 virtual bool globalEnvironmentSimulatedLocally()
const;
70 virtual bool startEnvironmentSimulationLocally();
74 bool* isGlobal = 0)
const;
79 bool* isGlobal = 0)
const;
83 bool* isGlobal = 0)
const;
87 virtual std::vector<DtSharedVrfObjectReference> weatherObjectsFor(
const DtChord& localChord)
const;
93 virtual double airTurbidity(
const DtUUID& weatherArea)
const;
94 virtual double airTurbidity(
const DtVector&)
const;
100 virtual double ambientAirTemperature(
const DtUUID& weatherArea)
const;
101 virtual double ambientAirTemperature(
const DtVector&)
const;
114 virtual double precipitationIntensity(
const DtUUID& weatherArea)
const;
115 virtual double precipitationIntensity(
const DtVector&)
const;
128 virtual double windSpeed(
const DtUUID& weatherArea)
const;
129 virtual double windSpeed(
const DtVector&)
const;
135 virtual double windDirection(
const DtUUID& weatherArea)
const;
136 virtual double windDirection(
const DtVector&)
const;
142 virtual double visibility(
const DtUUID& weatherArea)
const;
143 virtual double visibility(
const DtVector&)
const;
147 virtual double visibility(
const DtChord&)
const;
155 virtual double illumination(
const DtVector& localPosition)
const;
165 virtual void setDateAndTimeOfDay(
double secondsPastMidnight);
167 virtual double timeOfDay()
const;
168 virtual double dateAndTimeOfDay()
const;
171 virtual void setTimeOfDayAdvancementSpeed(
double speed);
173 virtual double timeOfDayAdvancementSpeed()
const;
178 virtual int priority(
const DtUUID& weatherArea)
const;
179 virtual int priority(
const DtVector&)
const;
184 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
185 virtual double underwaterVisibility(
const DtUUID& weatherArea)
const;
186 virtual double underwaterVisibility(
const DtVector&)
const;
192 virtual double surfaceTransparency(
const DtUUID& weatherArea)
const;
193 virtual double surfaceTransparency(
const DtVector&)
const;
198 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
199 virtual double waterCurrentSpeed(
const DtUUID& weatherArea)
const;
200 virtual double waterCurrentSpeed(
const DtVector&)
const;
205 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
206 virtual double waterCurrentDirection(
const DtUUID& weatherArea)
const;
207 virtual double waterCurrentDirection(
const DtVector&)
const;
212 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
213 virtual double ambientWaterTemperature(
const DtUUID& weatherArea)
const;
214 virtual double ambientWaterTemperature(
const DtVector&)
const;
220 virtual double tidalOffset(
const DtUUID& weatherArea)
const;
221 virtual double tidalOffset(
const DtVector&)
const;
227 virtual void setUseDayNightIlluminationModel(
bool);
228 virtual bool useDayNightIlluminationModel()
const;
235 virtual bool tidalDirection(
const DtUUID& weatherArea)
const;
236 virtual bool tidalDirection(
const DtVector&)
const;
242 virtual unsigned int swellState(
const DtUUID& weatherArea)
const;
243 virtual unsigned int swellState(
const DtVector&)
const;
249 virtual double swellStateDirection(
const DtUUID& weatherArea)
const;
250 virtual double swellStateDirection(
const DtVector&)
const;
256 virtual unsigned int seaState(
const DtUUID& weatherArea)
const;
257 virtual unsigned int seaState(
const DtVector&)
const;
263 virtual double seaStateDirection(
const DtUUID& weatherArea)
const;
264 virtual double seaStateDirection(
const DtVector&)
const;
270 virtual bool windDrivenSeaStateEnabled(
const DtUUID& weatherArea)
const;
271 virtual bool windDrivenSeaStateEnabled(
const DtVector&)
const;
277 virtual double choppiness(
const DtUUID& weatherArea)
const;
278 virtual double choppiness(
const DtVector&)
const;
284 virtual double surgeDepth(
const DtUUID& weatherArea)
const;
285 virtual double surgeDepth(
const DtVector&)
const;
290 virtual DtObjectType globalEnvironmentObjectType()
const;
296 virtual double thermoclineLayer1Depth(
const DtUUID& weatherArea)
const;
297 virtual double thermoclineLayer1Depth(
const DtVector&)
const;
298 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
299 virtual double thermoclineLayer1Permeability(
const DtUUID& weatherArea)
const;
300 virtual double thermoclineLayer1Permeability(
const DtVector&)
const;
302 virtual double thermoclineLayer2Depth(
const DtUUID& weatherArea)
const;
303 virtual double thermoclineLayer2Depth(
const DtVector&)
const;
304 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
305 virtual double thermoclineLayer2Permeability(
const DtUUID& weatherArea)
const;
306 virtual double thermoclineLayer2Permeability(
const DtVector&)
const;
308 virtual double thermoclineLayer3Depth(
const DtUUID& weatherArea)
const;
309 virtual double thermoclineLayer3Depth(
const DtVector&)
const;
310 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
311 virtual double thermoclineLayer3Permeability(
const DtUUID& weatherArea)
const;
312 virtual double thermoclineLayer3Permeability(
const DtVector&)
const;
314 virtual double thermoclineLayer4Depth(
const DtUUID& weatherArea)
const;
315 virtual double thermoclineLayer4Depth(
const DtVector&)
const;
316 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
317 virtual double thermoclineLayer4Permeability(
const DtUUID& weatherArea)
const;
318 virtual double thermoclineLayer4Permeability(
const DtVector&)
const;
320 virtual double thermoclineLayer5Depth(
const DtUUID& weatherArea)
const;
321 virtual double thermoclineLayer5Depth(
const DtVector&)
const;
322 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
323 virtual double thermoclineLayer5Permeability(
const DtUUID& weatherArea)
const;
324 virtual double thermoclineLayer5Permeability(
const DtVector&)
const;
328 static void objectAddedCallback(
DtVrfObject*
object,
void* usr);
329 virtual void processObjectAdded(
DtVrfObject*
object);
331 static void objectRemovedCallback(
DtVrfObject*
object,
void* usr);
332 virtual void processObjectRemoved(
DtVrfObject*
object);
337 virtual void createGlobalEnvironmentObject();
344 static void changeWeatherPrioritiesCallback(
DtSimMessage* msg,
void* usr);
345 virtual void processChangeWeatherPriorities(
DtSimMessage* msg);