14 #include <vlutil/vlString.h>
17 #include <matrix/vlVector.h>
66 virtual bool globalEnvironmentSimulatedLocally()
const;
72 virtual bool startEnvironmentSimulationLocally();
76 bool* isGlobal = 0)
const;
81 bool* isGlobal = 0)
const;
85 bool* isGlobal = 0)
const;
89 virtual std::vector<DtSharedVrfObjectReference> weatherObjectsFor(
const DtChord& localChord)
const;
95 virtual double airTurbidity(
const DtUUID& weatherArea)
const;
96 virtual double airTurbidity(
const DtVector&)
const;
102 virtual double ambientAirTemperature(
const DtUUID& weatherArea)
const;
103 virtual double ambientAirTemperature(
const DtVector&)
const;
116 virtual double precipitationIntensity(
const DtUUID& weatherArea)
const;
117 virtual double precipitationIntensity(
const DtVector&)
const;
123 virtual double precipitationIntensity(
const DtChord&)
const;
136 virtual double windSpeed(
const DtUUID& weatherArea)
const;
137 virtual double windSpeed(
const DtVector&)
const;
143 virtual double windDirection(
const DtUUID& weatherArea)
const;
144 virtual double windDirection(
const DtVector&)
const;
150 virtual double visibility(
const DtUUID& weatherArea)
const;
151 virtual double visibility(
const DtVector&)
const;
155 virtual double visibility(
const DtChord&)
const;
163 virtual double illumination(
const DtVector& localPosition)
const;
173 virtual void setDateAndTimeOfDay(
double secondsPastMidnight);
175 virtual double timeOfDay()
const;
176 virtual double dateAndTimeOfDay()
const;
179 virtual void setTimeOfDayAdvancementSpeed(
double speed);
181 virtual double timeOfDayAdvancementSpeed()
const;
186 virtual int priority(
const DtUUID& weatherArea)
const;
187 virtual int priority(
const DtVector&)
const;
192 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
193 virtual double underwaterVisibility(
const DtUUID& weatherArea)
const;
194 virtual double underwaterVisibility(
const DtVector&)
const;
200 virtual double surfaceTransparency(
const DtUUID& weatherArea)
const;
201 virtual double surfaceTransparency(
const DtVector&)
const;
206 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
207 virtual double waterCurrentSpeed(
const DtUUID& weatherArea)
const;
208 virtual double waterCurrentSpeed(
const DtVector&)
const;
213 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
214 virtual double waterCurrentDirection(
const DtUUID& weatherArea)
const;
215 virtual double waterCurrentDirection(
const DtVector&)
const;
220 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
221 virtual double ambientWaterTemperature(
const DtUUID& weatherArea)
const;
222 virtual double ambientWaterTemperature(
const DtVector&)
const;
228 virtual double tidalOffset(
const DtUUID& weatherArea)
const;
229 virtual double tidalOffset(
const DtVector&)
const;
235 virtual void setUseDayNightIlluminationModel(
bool);
236 virtual bool useDayNightIlluminationModel()
const;
243 virtual bool tidalDirection(
const DtUUID& weatherArea)
const;
244 virtual bool tidalDirection(
const DtVector&)
const;
250 virtual unsigned int swellState(
const DtUUID& weatherArea)
const;
251 virtual unsigned int swellState(
const DtVector&)
const;
257 virtual double swellStateDirection(
const DtUUID& weatherArea)
const;
258 virtual double swellStateDirection(
const DtVector&)
const;
264 virtual unsigned int seaState(
const DtUUID& weatherArea)
const;
265 virtual unsigned int seaState(
const DtVector&)
const;
271 virtual double seaStateDirection(
const DtUUID& weatherArea)
const;
272 virtual double seaStateDirection(
const DtVector&)
const;
278 virtual bool windDrivenSeaStateEnabled(
const DtUUID& weatherArea)
const;
279 virtual bool windDrivenSeaStateEnabled(
const DtVector&)
const;
285 virtual double choppiness(
const DtUUID& weatherArea)
const;
286 virtual double choppiness(
const DtVector&)
const;
292 virtual double surgeDepth(
const DtUUID& weatherArea)
const;
293 virtual double surgeDepth(
const DtVector&)
const;
299 virtual double fogHeight(
const DtUUID& weatherArea)
const;
300 virtual double fogHeight(
const DtVector&)
const;
312 virtual DtObjectType globalEnvironmentObjectType()
const;
318 virtual double thermoclineLayer1Depth(
const DtUUID& weatherArea)
const;
319 virtual double thermoclineLayer1Depth(
const DtVector&)
const;
320 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
321 virtual double thermoclineLayer1Permeability(
const DtUUID& weatherArea)
const;
322 virtual double thermoclineLayer1Permeability(
const DtVector&)
const;
324 virtual double thermoclineLayer2Depth(
const DtUUID& weatherArea)
const;
325 virtual double thermoclineLayer2Depth(
const DtVector&)
const;
326 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
327 virtual double thermoclineLayer2Permeability(
const DtUUID& weatherArea)
const;
328 virtual double thermoclineLayer2Permeability(
const DtVector&)
const;
330 virtual double thermoclineLayer3Depth(
const DtUUID& weatherArea)
const;
331 virtual double thermoclineLayer3Depth(
const DtVector&)
const;
332 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
333 virtual double thermoclineLayer3Permeability(
const DtUUID& weatherArea)
const;
334 virtual double thermoclineLayer3Permeability(
const DtVector&)
const;
336 virtual double thermoclineLayer4Depth(
const DtUUID& weatherArea)
const;
337 virtual double thermoclineLayer4Depth(
const DtVector&)
const;
338 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
339 virtual double thermoclineLayer4Permeability(
const DtUUID& weatherArea)
const;
340 virtual double thermoclineLayer4Permeability(
const DtVector&)
const;
342 virtual double thermoclineLayer5Depth(
const DtUUID& weatherArea)
const;
343 virtual double thermoclineLayer5Depth(
const DtVector&)
const;
344 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
345 virtual double thermoclineLayer5Permeability(
const DtUUID& weatherArea)
const;
346 virtual double thermoclineLayer5Permeability(
const DtVector&)
const;
352 virtual void createGlobalEnvironmentObject();
355 static void objectAddedCallback(
DtVrfObject*
object,
void* usr);
356 virtual void processObjectAdded(
DtVrfObject*
object);
358 static void objectRemovedCallback(
DtVrfObject*
object,
void* usr);
359 virtual void processObjectRemoved(
DtVrfObject*
object);
366 static void changeWeatherPrioritiesCallback(
DtSimMessage* msg,
void* usr);
367 virtual void processChangeWeatherPriorities(
DtSimMessage* msg);
369 static void physicalWorldParametersChangedCallback(
void* usr);
370 virtual void initializeIlluminationObjectsList();