19 #include <vlutil/vlString.h>
21 #include <matrix/vlVector.h>
68 bool reflectingCurrentWeatherState();
74 virtual double airTurbidity(
const DtVector& geocentricLocation);
81 virtual double ambientAirTemperature(
const DtVector& geocentricLocation);
95 virtual double precipitationIntensity(
const DtVector& geocentricLocation);
109 virtual double windSpeed(
const DtVector& geocentricLocation);
116 virtual double windDirection(
const DtVector& geocentricLocation);
123 virtual double visibility(
const DtVector& geocentricLocation);
129 virtual void setTimeOfDay(
double secondsPastMidnight);
131 virtual double timeOfDay();
137 virtual void setDateAndTimeOfDay(
double secondsPastUtc);
138 virtual void setDateAndTimeOfDay(
int year,
int month,
int day,
int hours,
int minutes,
int seconds);
141 virtual double dateAndTimeOfDay();
142 virtual void dateAndTimeOfDay(
int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds);
146 virtual void setUseDayNightIlluminationModel(
bool value);
150 virtual void setTimeOfDayAdvancementSpeed(
double speed);
152 virtual double timeOfDayAdvancementSpeed();
157 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
158 virtual double underwaterVisibility(
const DtVector& geocentricLocation);
164 virtual double surfaceTransparency(
const DtVector& geocentricLocation);
169 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
170 virtual double waterCurrentSpeed(
const DtVector& geocentricLocation);
175 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
176 virtual double waterCurrentDirection(
const DtVector& geocentricLocation);
181 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
182 virtual double ambientWaterTemperature(
const DtVector& geocentricLocation);
188 virtual double tidalOffset(
const DtVector& geocentricLocation);
195 virtual bool tidalDirection(
const DtVector& geocentricLocation);
201 virtual unsigned int swellState(
const DtVector& geocentricLocation);
207 virtual double swellStateDirection(
const DtVector& geocentricLocation);
213 virtual unsigned int seaState(
const DtVector& geocentricLocation);
218 virtual void setSeaStateDirection(
double radiansFromNorth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
219 virtual double seaStateDirection(
const DtVector& geocentricLocation);
225 virtual bool windDrivenSeaStateEnabled(
const DtVector& geocentricLocation);
231 virtual double choppiness(
const DtVector& geocentricLocation);
237 virtual double surgeDepth(
const DtVector& geocentricLocation);
246 virtual double fogHeight(
const DtVector& geocentricLocation);
253 virtual double thermoclineLayer1Depth(
const DtVector& geocentricLocation);
254 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
255 virtual double thermoclineLayer1Permeability(
const DtVector& geocentricLocation);
257 virtual double thermoclineLayer2Depth(
const DtVector& geocentricLocation);
258 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
259 virtual double thermoclineLayer2Permeability(
const DtVector& geocentricLocation);
261 virtual double thermoclineLayer3Depth(
const DtVector& geocentricLocation);
262 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
263 virtual double thermoclineLayer3Permeability(
const DtVector& geocentricLocation);
265 virtual double thermoclineLayer4Depth(
const DtVector& geocentricLocation);
266 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
267 virtual double thermoclineLayer4Permeability(
const DtVector& geocentricLocation);
269 virtual double thermoclineLayer5Depth(
const DtVector& geocentricLocation);
270 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
271 virtual double thermoclineLayer5Permeability(
const DtVector& geocentricLocation);
275 static void environmentProcessAddedCallback(
280 virtual void processEnvironmentProcessAdded(
284 static void environmentProcessRemovedCallback(
289 virtual void processEnvironmentProcessRemoved(
293 virtual double dT()
const;
308 virtual bool updateGlobalEnvironment();
321 typedef std::map<DtControlObjectRepository*, DtVrfEnvironmentalWeatherStateRecord*>
WeatherObjects;