19 #include <vlutil/vlString.h>
21 #include <matrix/vlVector.h>
68 bool reflectingCurrentWeatherState();
73 return myGlobalWeatherSR;
80 virtual double airTurbidity(
const DtVector& geocentricLocation);
87 virtual double ambientAirTemperature(
const DtVector& geocentricLocation);
101 virtual double precipitationIntensity(
const DtVector& geocentricLocation);
115 virtual double windSpeed(
const DtVector& geocentricLocation);
122 virtual double windDirection(
const DtVector& geocentricLocation);
129 virtual double visibility(
const DtVector& geocentricLocation);
135 virtual void setTimeOfDay(
double secondsPastMidnight);
137 virtual double timeOfDay();
143 virtual void setDateAndTimeOfDay(
double secondsPastUtc);
144 virtual void setDateAndTimeOfDay(
int year,
int month,
int day,
int hours,
int minutes,
int seconds);
147 virtual double dateAndTimeOfDay();
148 virtual void dateAndTimeOfDay(
int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds);
152 virtual void setUseDayNightIlluminationModel(
bool value);
156 virtual void setTimeOfDayAdvancementSpeed(
double speed);
158 virtual double timeOfDayAdvancementSpeed();
163 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
164 virtual double underwaterVisibility(
const DtVector& geocentricLocation);
170 virtual double surfaceTransparency(
const DtVector& geocentricLocation);
175 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
176 virtual double waterCurrentSpeed(
const DtVector& geocentricLocation);
181 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
182 virtual double waterCurrentDirection(
const DtVector& geocentricLocation);
187 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
188 virtual double ambientWaterTemperature(
const DtVector& geocentricLocation);
194 virtual double tidalOffset(
const DtVector& geocentricLocation);
201 virtual bool tidalDirection(
const DtVector& geocentricLocation);
207 virtual unsigned int swellState(
const DtVector& geocentricLocation);
213 virtual double swellStateDirection(
const DtVector& geocentricLocation);
219 virtual unsigned int seaState(
const DtVector& geocentricLocation);
224 virtual void setSeaStateDirection(
double radiansFromNorth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
225 virtual double seaStateDirection(
const DtVector& geocentricLocation);
231 virtual bool windDrivenSeaStateEnabled(
const DtVector& geocentricLocation);
237 virtual double choppiness(
const DtVector& geocentricLocation);
243 virtual double surgeDepth(
const DtVector& geocentricLocation);
252 virtual double fogHeight(
const DtVector& geocentricLocation);
259 virtual double thermoclineLayer1Depth(
const DtVector& geocentricLocation);
260 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
261 virtual double thermoclineLayer1Permeability(
const DtVector& geocentricLocation);
263 virtual double thermoclineLayer2Depth(
const DtVector& geocentricLocation);
264 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
265 virtual double thermoclineLayer2Permeability(
const DtVector& geocentricLocation);
267 virtual double thermoclineLayer3Depth(
const DtVector& geocentricLocation);
268 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
269 virtual double thermoclineLayer3Permeability(
const DtVector& geocentricLocation);
271 virtual double thermoclineLayer4Depth(
const DtVector& geocentricLocation);
272 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
273 virtual double thermoclineLayer4Permeability(
const DtVector& geocentricLocation);
275 virtual double thermoclineLayer5Depth(
const DtVector& geocentricLocation);
276 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
277 virtual double thermoclineLayer5Permeability(
const DtVector& geocentricLocation);
281 static void environmentProcessAddedCallback(
286 virtual void processEnvironmentProcessAdded(
290 static void environmentProcessRemovedCallback(
295 virtual void processEnvironmentProcessRemoved(
299 virtual double dT()
const;
314 virtual bool updateGlobalEnvironment();
327 typedef std::map<DtControlObjectRepository*, DtVrfEnvironmentalWeatherStateRecord*>
WeatherObjects;