19 #include <vlutil/vlString.h>
21 #include <matrix/vlVector.h>
25 #include "vl/reflectedObjectListDIS.h"
71 static bool envProcessDiscoveryCriteria(
73 virtual bool processEnvProcessDiscoveryCriteria(
79 bool reflectingCurrentWeatherState();
84 return myGlobalWeatherSR;
91 virtual double airTurbidity(
const DtVector& geocentricLocation);
98 virtual double ambientAirTemperature(
const DtVector& geocentricLocation);
105 virtual double precipitationIntensity(
const DtVector& geocentricLocation);
119 virtual double windSpeed(
const DtVector& geocentricLocation);
126 virtual double windDirection(
const DtVector& geocentricLocation);
133 virtual double visibility(
const DtVector& geocentricLocation);
139 virtual void setTimeOfDay(
double secondsPastMidnight);
141 virtual double timeOfDay();
147 virtual void setDateAndTimeOfDay(
double secondsPastUtc);
148 virtual void setDateAndTimeOfDay(
int year,
int month,
int day,
int hours,
int minutes,
int seconds);
151 virtual double dateAndTimeOfDay();
152 virtual void dateAndTimeOfDay(
int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds);
156 virtual void setUseDayNightIlluminationModel(
bool value);
160 virtual void setTimeOfDayAdvancementSpeed(
double speed);
162 virtual double timeOfDayAdvancementSpeed();
168 virtual bool lightningPresent(
const DtVector& geocentricLocation)
const;
173 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
174 virtual double underwaterVisibility(
const DtVector& geocentricLocation);
180 virtual double surfaceTransparency(
const DtVector& geocentricLocation);
185 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
186 virtual double waterCurrentSpeed(
const DtVector& geocentricLocation);
191 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
192 virtual double waterCurrentDirection(
const DtVector& geocentricLocation);
197 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
198 virtual double ambientWaterTemperature(
const DtVector& geocentricLocation);
204 virtual double tidalOffset(
const DtVector& geocentricLocation);
211 virtual bool tidalDirection(
const DtVector& geocentricLocation);
217 virtual unsigned int swellState(
const DtVector& geocentricLocation);
223 virtual double swellStateDirection(
const DtVector& geocentricLocation);
229 virtual unsigned int seaState(
const DtVector& geocentricLocation);
234 virtual void setSeaStateDirection(
double radiansFromNorth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
235 virtual double seaStateDirection(
const DtVector& geocentricLocation);
241 virtual bool windDrivenSeaStateEnabled(
const DtVector& geocentricLocation);
247 virtual double choppiness(
const DtVector& geocentricLocation);
253 virtual double surgeDepth(
const DtVector& geocentricLocation);
262 virtual double fogHeight(
const DtVector& geocentricLocation);
268 virtual double snowAccumulation(
const DtVector& geocentricLocation);
271 virtual double snowMinimumAltitude(
const DtVector& geocentricLocation);
274 virtual double snowRoadAccumulation(
const DtVector& geocentricLocation);
278 virtual double rainAccumulation(
const DtVector& geocentricLocation);
286 virtual double thermoclineLayer1Depth(
const DtVector& geocentricLocation);
287 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
288 virtual double thermoclineLayer1Permeability(
const DtVector& geocentricLocation);
290 virtual double thermoclineLayer2Depth(
const DtVector& geocentricLocation);
291 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
292 virtual double thermoclineLayer2Permeability(
const DtVector& geocentricLocation);
294 virtual double thermoclineLayer3Depth(
const DtVector& geocentricLocation);
295 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
296 virtual double thermoclineLayer3Permeability(
const DtVector& geocentricLocation);
298 virtual double thermoclineLayer4Depth(
const DtVector& geocentricLocation);
299 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
300 virtual double thermoclineLayer4Permeability(
const DtVector& geocentricLocation);
302 virtual double thermoclineLayer5Depth(
const DtVector& geocentricLocation);
303 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
304 virtual double thermoclineLayer5Permeability(
const DtVector& geocentricLocation);
308 static void environmentProcessAddedCallback(
313 virtual void processEnvironmentProcessAdded(
317 static void environmentProcessRemovedCallback(
322 virtual void processEnvironmentProcessRemoved(
326 virtual double dT()
const;
330 virtual void addGlobalEnvironmentCreatedCallback(
332 virtual void removeGlobalEnvironmentCreatedCallback(
334 virtual void invokeGlobalWeatherCreatedCallbacks();
349 virtual bool updateGlobalEnvironment();
362 typedef std::map<DtControlObjectRepository*, DtVrfEnvironmentalWeatherStateRecord*>
WeatherObjects;
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtVrfWeatherPrecipitationType
Definition: vrfWeatherStateEnums.h:13
DtReflectedEnvironmentProcessList * myReflectedEnvironmentProcessList
Definition: remoteEnvironmentController.h:359
#define DT_DLL_vrfcontrol
This file is used to determine how to build.
Definition: vrfcontrolDefines.h:28
DtVrfEnvironmentalWeatherStateRecord * myGlobalWeatherStateRecord
Definition: remoteEnvironmentController.h:366
Contains the DtVrfEnvironmentalWeatherStateRecord class declaration.
Contains the DtVrfSimulationDateTimeStateRecord class declaration.
This class creates a network state repository to aid sending weather area objects.
Definition: weatherObjectRepository.h:17
double myLastTimeReceived
Definition: remoteEnvironmentController.h:369
Contains the DtExtEntityStateRepository class.
DtVrfSimulationDateTimeStateRecord * mySimulationDateTimeStateRecord
Definition: remoteEnvironmentController.h:367
std::vector< DtVector > DtCOVertexList
Definition: controlObjectBaseRepository.h:130
DtGlobalWeatherCreatedCallbackList myGlobalEnvironmentCreated
Definition: remoteEnvironmentController.h:372
std::map< DtControlObjectRepository *, DtVrfEnvironmentalWeatherStateRecord * > WeatherObjects
Definition: remoteEnvironmentController.h:362
static const DtUUID & nullUUID()
Definition: vrfSimulationDateTimeStateRecord.h:29
Definition: vrfEnvironmentalWeatherStateRecord.h:173
DtEnvironmentProcessRepository * myGlobalWeatherSR
Definition: remoteEnvironmentController.h:365
DtCallbackList< const DtEnvironmentProcessRepository * > DtGlobalWeatherCreatedCallbackList
DtRemoteEnvironmentController allows the user to interrogate the back-end which is simulating the env...
Definition: remoteEnvironmentController.h:34
DtEnvironmentProcessRepository * globalEnvironment() const
The current global environment.
Definition: remoteEnvironmentController.h:82
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtVrfMessageInterface * myMsgIf
Definition: remoteEnvironmentController.h:360
void(* DtCallbackFunctionType)(const DtEnvironmentProcessRepository *, void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:95
Definition: remoteEnvironmentController.h:48
WeatherObjects myWeatherObjects
Definition: remoteEnvironmentController.h:363
int mySessionId
Definition: remoteEnvironmentController.h:370
Definition: vrfMessageInterface.h:46