12 #include <boost/function.hpp>
14 class DtReflectedTimeAndDate;
18 class DtRemoteObjectManager;
24 typedef std::function<bool(const InterfacesByReflectedObjectMap&)>
HasTypeFunc;
34 virtual void cleanup()
override;
39 virtual void stateDataToBeRemoved(
const DtStateData*);
43 virtual void createReflectedLandSurfaceList(DtExerciseConn* exConn);
44 virtual void createReflectedSubsurfaceLayerList(DtExerciseConn* exConn);
45 virtual void createReflectedWaterSurfaceList(DtExerciseConn* exConn);
46 virtual void createReflectedTroposphereLayerList(DtExerciseConn* exConn);
47 virtual void createReflectedTimeAndDateList(DtExerciseConn* exConn);
48 virtual void createReflectedWindCorridorList(DtExerciseConn* exConn);
49 virtual void createReflectedTurbulenceLayerList(DtExerciseConn* exConn);
54 static void TimeAndDateAdditionCallback(DtReflectedTimeAndDate*,
void*);
55 virtual void processTimeAndDateAddition(DtReflectedTimeAndDate*);
57 static void TimeAndDateRemovalCallback(DtReflectedTimeAndDate*,
void*);
58 virtual void processTimeAndDateRemoval(DtReflectedTimeAndDate*);
60 static void WindCorridorAdditionCallback(DtReflectedWindCorridor*,
void*);
61 virtual void processWindCorridorAddition(DtReflectedWindCorridor*);
63 static void WindCorridorRemovalCallback(DtReflectedWindCorridor*,
void*);
64 virtual void processWindCorridorRemoval(DtReflectedWindCorridor*);
66 static void TurbulenceLayerAdditionCallback(DtReflectedTurbulenceLayer*,
void*);
67 virtual void processTurbulenceLayerAddition(DtReflectedTurbulenceLayer*);
69 static void TurbulenceLayerRemovalCallback(DtReflectedTurbulenceLayer*,
void*);
70 virtual void processTurbulenceLayerRemoval(DtReflectedTurbulenceLayer*);
72 template<
typename T,
typename U>
73 static void environmentConditionAddedCallback(T*
object,
void* usr);
75 template<
typename T,
typename U>
76 static void environmentConditionRemovedCallback(T*
object,
void* usr);
79 template<
typename T,
typename U>
80 bool initializeRemoteEnvironmentCondition(
DtStateData* sd, T* entity);
82 virtual bool initializeRemoteWindCorridor(
DtStateData* sd, DtReflectedWindCorridor*);
84 virtual bool initializeRemoteTurbulenceLayer(
DtStateData* sd, DtReflectedTurbulenceLayer*);
86 template<
typename T,
typename U>
87 void processEnvironmentConditionAdded(T*
object);
92 static DtBoolean reflectedEnvironmentConditionDiscoveryCriteriaCallback(
DtReflectedObject*
object,
void* userData);
95 virtual DtBoolean processReflectedEnvironmentConditionDiscoveryCriteria(
DtReflectedObject*);
99 static DtEntityType geoLocationTypeToEntityIdentifier(DtGeoLocationTypeEnum32 type);
103 virtual bool setupEntityIdentifierForMetocObject(
DtStateData*, DtEntityIdentifier);
116 myRemoteObjectManager->processTimeAndDateAddition(myReflectedObject);
123 template <
typename T,
typename U>
130 myRemoteObjectManager->initializeRemoteEnvironmentCondition<T, U>(stateData, myReflectedObject);
141 DtReflectedTimeAndDate* myReflectedTimeAndDate =
nullptr;
144 bool myWarnedForMultipleEnvironments =
false;
145 DtReflectedLandSurface* myReflectedLandSurface =
nullptr;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
RemoteInterfacesMapById myRemoteInterfacesSetById
Definition: remoteEnvironmentManager.h:143
std::map< DtUUID, ObjectWaitingForDiscoveryMap > WaitingForRemoteDiscovery
Definition: remoteEnvironmentManager.h:138
WaitingForRemoteDiscovery myWaitingForRemoteDiscovery
Definition: remoteEnvironmentManager.h:139
virtual void process(DtStateData *stateData) override
Definition: remoteEnvironmentManager.h:128
Definition: remoteEnvironmentManager.h:21
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:29
std::map< DtReflectedObject *, std::shared_ptr< WaitingForDiscoveryInterface > > ObjectWaitingForDiscoveryMap
Definition: remoteEnvironmentManager.h:137
DtRemoteEnvironmentManager * myRemoteObjectManager
Definition: remoteEnvironmentManager.h:119
WaitingForDiscoveryStruct(DtRemoteEnvironmentManager *mgr, T *object)
Definition: remoteEnvironmentManager.h:126
class DtRemoteObjectManager:
Definition: remoteObjectManager.h:28
DtReflectedTimeAndDate * myReflectedObject
Definition: remoteEnvironmentManager.h:120
class DtVrlinkNetworkInterface:
Definition: vrlinkNetworkInterface.h:72
Definition: remoteEnvironmentManager.h:124
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
T * myReflectedObject
Definition: remoteEnvironmentManager.h:134
virtual void process(DtStateData *stateData) override
Definition: remoteEnvironmentManager.h:114
#define DT_DLL_vrlinkNetworkInterface
This file is used to determine how to build.
Definition: vrlinkNetworkInterfaceDefines.h:24
WaitingForDateTimeDiscovery(DtRemoteEnvironmentManager *mgr, DtReflectedTimeAndDate *object)
Definition: remoteEnvironmentManager.h:112
Definition: remoteEnvironmentManager.h:105
Definition: remoteEnvironmentManager.h:110
boost::signals2::scoped_connection myStateDataRemovalConnection
Definition: remoteEnvironmentManager.h:40
DtRemoteEnvironmentManager * myRemoteObjectManager
Definition: remoteEnvironmentManager.h:133
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< DtReflectedObject *, DtSimObjectNetInterface * > InterfacesByReflectedObjectMap
Definition: remoteObjectManager.h:77
std::map< DtUUID, InterfacesByReflectedObjectMap > RemoteInterfacesMapById
Definition: remoteEnvironmentManager.h:25
Definition: reflectedObjectLists.h:166
std::function< bool(const InterfacesByReflectedObjectMap &)> HasTypeFunc
Definition: remoteEnvironmentManager.h:24
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73