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;
130 virtual double windSpeed(
const DtUUID& weatherArea)
const;
131 virtual double windSpeed(
const DtVector&)
const;
137 virtual double windDirection(
const DtUUID& weatherArea)
const;
138 virtual double windDirection(
const DtVector&)
const;
144 virtual double visibility(
const DtUUID& weatherArea)
const;
145 virtual double visibility(
const DtVector&)
const;
149 virtual double visibility(
const DtChord&)
const;
157 virtual double illumination(
const DtVector& localPosition)
const;
167 virtual void setDateAndTimeOfDay(
double secondsPastMidnight);
169 virtual double timeOfDay()
const;
170 virtual double dateAndTimeOfDay()
const;
173 virtual void setTimeOfDayAdvancementSpeed(
double speed);
175 virtual double timeOfDayAdvancementSpeed()
const;
180 virtual int priority(
const DtUUID& weatherArea)
const;
181 virtual int priority(
const DtVector&)
const;
186 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
187 virtual double underwaterVisibility(
const DtUUID& weatherArea)
const;
188 virtual double underwaterVisibility(
const DtVector&)
const;
194 virtual double surfaceTransparency(
const DtUUID& weatherArea)
const;
195 virtual double surfaceTransparency(
const DtVector&)
const;
200 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
201 virtual double waterCurrentSpeed(
const DtUUID& weatherArea)
const;
202 virtual double waterCurrentSpeed(
const DtVector&)
const;
207 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
208 virtual double waterCurrentDirection(
const DtUUID& weatherArea)
const;
209 virtual double waterCurrentDirection(
const DtVector&)
const;
214 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
215 virtual double ambientWaterTemperature(
const DtUUID& weatherArea)
const;
216 virtual double ambientWaterTemperature(
const DtVector&)
const;
222 virtual double tidalOffset(
const DtUUID& weatherArea)
const;
223 virtual double tidalOffset(
const DtVector&)
const;
229 virtual void setUseDayNightIlluminationModel(
bool);
230 virtual bool useDayNightIlluminationModel()
const;
237 virtual bool tidalDirection(
const DtUUID& weatherArea)
const;
238 virtual bool tidalDirection(
const DtVector&)
const;
244 virtual unsigned int swellState(
const DtUUID& weatherArea)
const;
245 virtual unsigned int swellState(
const DtVector&)
const;
251 virtual double swellStateDirection(
const DtUUID& weatherArea)
const;
252 virtual double swellStateDirection(
const DtVector&)
const;
258 virtual unsigned int seaState(
const DtUUID& weatherArea)
const;
259 virtual unsigned int seaState(
const DtVector&)
const;
265 virtual double seaStateDirection(
const DtUUID& weatherArea)
const;
266 virtual double seaStateDirection(
const DtVector&)
const;
272 virtual bool windDrivenSeaStateEnabled(
const DtUUID& weatherArea)
const;
273 virtual bool windDrivenSeaStateEnabled(
const DtVector&)
const;
279 virtual double choppiness(
const DtUUID& weatherArea)
const;
280 virtual double choppiness(
const DtVector&)
const;
286 virtual double surgeDepth(
const DtUUID& weatherArea)
const;
287 virtual double surgeDepth(
const DtVector&)
const;
293 virtual double fogHeight(
const DtUUID& weatherArea)
const;
294 virtual double fogHeight(
const DtVector&)
const;
306 virtual DtObjectType globalEnvironmentObjectType()
const;
312 virtual double thermoclineLayer1Depth(
const DtUUID& weatherArea)
const;
313 virtual double thermoclineLayer1Depth(
const DtVector&)
const;
314 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
315 virtual double thermoclineLayer1Permeability(
const DtUUID& weatherArea)
const;
316 virtual double thermoclineLayer1Permeability(
const DtVector&)
const;
318 virtual double thermoclineLayer2Depth(
const DtUUID& weatherArea)
const;
319 virtual double thermoclineLayer2Depth(
const DtVector&)
const;
320 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
321 virtual double thermoclineLayer2Permeability(
const DtUUID& weatherArea)
const;
322 virtual double thermoclineLayer2Permeability(
const DtVector&)
const;
324 virtual double thermoclineLayer3Depth(
const DtUUID& weatherArea)
const;
325 virtual double thermoclineLayer3Depth(
const DtVector&)
const;
326 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
327 virtual double thermoclineLayer3Permeability(
const DtUUID& weatherArea)
const;
328 virtual double thermoclineLayer3Permeability(
const DtVector&)
const;
330 virtual double thermoclineLayer4Depth(
const DtUUID& weatherArea)
const;
331 virtual double thermoclineLayer4Depth(
const DtVector&)
const;
332 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
333 virtual double thermoclineLayer4Permeability(
const DtUUID& weatherArea)
const;
334 virtual double thermoclineLayer4Permeability(
const DtVector&)
const;
336 virtual double thermoclineLayer5Depth(
const DtUUID& weatherArea)
const;
337 virtual double thermoclineLayer5Depth(
const DtVector&)
const;
338 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
339 virtual double thermoclineLayer5Permeability(
const DtUUID& weatherArea)
const;
340 virtual double thermoclineLayer5Permeability(
const DtVector&)
const;
346 virtual void createGlobalEnvironmentObject();
349 static void objectAddedCallback(
DtVrfObject*
object,
void* usr);
350 virtual void processObjectAdded(
DtVrfObject*
object);
352 static void objectRemovedCallback(
DtVrfObject*
object,
void* usr);
353 virtual void processObjectRemoved(
DtVrfObject*
object);
360 static void changeWeatherPrioritiesCallback(
DtSimMessage* msg,
void* usr);
361 virtual void processChangeWeatherPriorities(
DtSimMessage* msg);
363 static void physicalWorldParametersChangedCallback(
void* usr);
364 virtual void initializeIlluminationObjectsList();