13 #include <vlutil/vlString.h>
15 #include <matrix/vlVector.h>
17 #include <boost/signals2.hpp>
26 class DtExternalCurrentFrameState;
28 class DtWeatherStateComponent;
29 class DtGlobalEnvironmentStateComponent;
66 bool reflectingCurrentWeatherState();
71 return myGlobalWeatherSR;
78 virtual double airTurbidity(
const DtVector& geocentricLocation);
85 virtual double ambientAirTemperature(
const DtVector& geocentricLocation);
92 virtual double precipitationIntensity(
const DtVector& geocentricLocation);
99 virtual int precipitationType(
const DtVector& geocentricLocation);
106 virtual double windSpeed(
const DtVector& geocentricLocation);
113 virtual double windDirection(
const DtVector& geocentricLocation);
120 virtual double visibility(
const DtVector& geocentricLocation);
126 virtual void setTimeOfDay(
double secondsPastMidnight);
128 virtual double timeOfDay();
134 virtual void setDateAndTimeOfDay(
double secondsPastUtc);
135 virtual void setDateAndTimeOfDay(
int year,
int month,
int day,
int hours,
int minutes,
int seconds);
138 virtual double dateAndTimeOfDay();
139 virtual void dateAndTimeOfDay(
int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds);
143 virtual void setUseDayNightIlluminationModel(
bool value);
147 virtual void setTimeOfDayAdvancementSpeed(
double speed);
149 virtual double timeOfDayAdvancementSpeed();
155 virtual bool lightningPresent(
const DtVector& geocentricLocation)
const;
160 virtual void setUnderwaterVisibility(
double underwaterVisibility,
const DtUUID& weatherArea =
DtUUID::nullUUID());
161 virtual double underwaterVisibility(
const DtVector& geocentricLocation);
167 virtual double surfaceTransparency(
const DtVector& geocentricLocation);
172 virtual void setWaterCurrentSpeed(
double waterCurrentSpeed,
const DtUUID& weatherArea =
DtUUID::nullUUID());
173 virtual double waterCurrentSpeed(
const DtVector& geocentricLocation);
178 virtual void setWaterCurrentDirection(
double waterCurrentDirection,
const DtUUID& weatherArea =
DtUUID::nullUUID());
179 virtual double waterCurrentDirection(
const DtVector& geocentricLocation);
184 virtual void setAmbientWaterTemperature(
double waterTemperature,
const DtUUID& weatherArea =
DtUUID::nullUUID());
185 virtual double ambientWaterTemperature(
const DtVector& geocentricLocation);
191 virtual double tidalOffset(
const DtVector& geocentricLocation);
198 virtual bool tidalDirection(
const DtVector& geocentricLocation);
204 virtual unsigned int swellState(
const DtVector& geocentricLocation);
210 virtual double swellStateDirection(
const DtVector& geocentricLocation);
216 virtual unsigned int seaState(
const DtVector& geocentricLocation);
221 virtual void setSeaStateDirection(
double radiansFromNorth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
222 virtual double seaStateDirection(
const DtVector& geocentricLocation);
228 virtual bool windDrivenSeaStateEnabled(
const DtVector& geocentricLocation);
234 virtual double choppiness(
const DtVector& geocentricLocation);
240 virtual double surgeDepth(
const DtVector& geocentricLocation);
249 virtual double fogHeight(
const DtVector& geocentricLocation);
255 virtual double snowAccumulation(
const DtVector& geocentricLocation);
258 virtual double snowMinimumAltitude(
const DtVector& geocentricLocation);
261 virtual double snowRoadAccumulation(
const DtVector& geocentricLocation);
265 virtual double rainAccumulation(
const DtVector& geocentricLocation);
273 virtual double thermoclineLayer1Depth(
const DtVector& geocentricLocation);
274 virtual void setThermoclineLayer1Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
275 virtual double thermoclineLayer1Permeability(
const DtVector& geocentricLocation);
277 virtual double thermoclineLayer2Depth(
const DtVector& geocentricLocation);
278 virtual void setThermoclineLayer2Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
279 virtual double thermoclineLayer2Permeability(
const DtVector& geocentricLocation);
281 virtual double thermoclineLayer3Depth(
const DtVector& geocentricLocation);
282 virtual void setThermoclineLayer3Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
283 virtual double thermoclineLayer3Permeability(
const DtVector& geocentricLocation);
285 virtual double thermoclineLayer4Depth(
const DtVector& geocentricLocation);
286 virtual void setThermoclineLayer4Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
287 virtual double thermoclineLayer4Permeability(
const DtVector& geocentricLocation);
289 virtual double thermoclineLayer5Depth(
const DtVector& geocentricLocation);
290 virtual void setThermoclineLayer5Permeability(
double depth,
const DtUUID& weatherArea =
DtUUID::nullUUID());
291 virtual double thermoclineLayer5Permeability(
const DtVector& geocentricLocation);
295 virtual double dT()
const;
299 virtual void addGlobalEnvironmentCreatedCallback(
301 virtual void removeGlobalEnvironmentCreatedCallback(
303 virtual void invokeGlobalWeatherCreatedCallbacks();
316 virtual bool inside(
const DtVector&,
const std::vector<DtVector>&)
const;
321 virtual void updateGlobalEnvironment();
327 typedef std::map<DtUUID, const makVrf::DtExternalCurrentFrameState*>
WeatherObjects;
const makVrf::DtExternalCurrentFrameState * globalEnvironment() const
The current global environment.
Definition: remoteEnvironmentController.h:69
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
static DtRemoteEnvironmentControllerCreatorFcn theRemoteEnvironmentControllerCreatorFcn
Definition: remoteEnvironmentController.h:338
#define DT_DLL_vrfcontrol
This file is used to determine how to build.
Definition: vrfcontrolDefines.h:28
boost::signals2::scoped_connection myEnvironmentalAddedConnection
Definition: remoteEnvironmentController.h:339
boost::signals2::scoped_connection myEnvironmentalRemovedConnection
Definition: remoteEnvironmentController.h:340
Contains the DtUUID class declaration.
double myLastTimeReceived
Definition: remoteEnvironmentController.h:334
DtCommunicationManager * myCommunicationManager
Definition: remoteEnvironmentController.h:324
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: weatherStateComponent.h:21
DtGlobalWeatherCreatedCallbackList myGlobalEnvironmentCreated
Definition: remoteEnvironmentController.h:337
static const DtUUID & nullUUID()
boost::signals2::scoped_connection myGlobalEnvironmentUpdatedCallback
Definition: remoteEnvironmentController.h:341
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: globalEnvironmentStateComponent.h:69
DtCallbackList< const makVrf::DtExternalCurrentFrameState * > DtGlobalWeatherCreatedCallbackList
DtRemoteEnvironmentController allows the user to interrogate the back-end which is simulating the env...
Definition: remoteEnvironmentController.h:45
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
DtRemoteEnvironmentController *(* DtRemoteEnvironmentControllerCreatorFcn)()
Definition: remoteEnvironmentController.h:33
Definition: stateData.h:260
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtVrfMessageInterface * myMessageInterface
Definition: remoteEnvironmentController.h:325
const makVrf::DtGlobalEnvironmentStateComponent * myGlobalEnvironmentStateComponent
Definition: remoteEnvironmentController.h:331
void(* DtCallbackFunctionType)(const makVrf::DtExternalCurrentFrameState *, void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:95
DtRemoteEnvironmentController; remotely controls and reflects the weather state of VR-Forces...
Definition: remoteEnvironmentController.h:49
WeatherObjects myWeatherObjects
Definition: remoteEnvironmentController.h:328
std::map< DtUUID, const makVrf::DtExternalCurrentFrameState * > WeatherObjects
Definition: remoteEnvironmentController.h:327
const makVrf::DtExternalCurrentFrameState * myGlobalWeatherSR
Definition: remoteEnvironmentController.h:330
DtUUID myGlobalWeatherUUID
Definition: remoteEnvironmentController.h:332
int mySessionId
Definition: remoteEnvironmentController.h:335
Definition: vrfMessageInterface.h:40