11 #include <boost/function.hpp>
12 #include <boost/signals2.hpp>
14 class DtReflectedTimeAndDate;
18 class DtRemoteObjectManager;
24 typedef std::function<bool(const InterfacesByReflectedObjectMap&)>
HasTypeFunc;
33 virtual void cleanup();
38 virtual void stateDataToBeRemoved(
const DtStateData*);
42 virtual void createReflectedLandSurfaceList(DtExerciseConn* exConn);
43 virtual void createReflectedSubsurfaceLayerList(DtExerciseConn* exConn);
44 virtual void createReflectedWaterSurfaceList(DtExerciseConn* exConn);
45 virtual void createReflectedTroposphereLayerList(DtExerciseConn* exConn);
46 virtual void createReflectedTimeAndDateList(DtExerciseConn* exConn);
47 virtual void createReflectedWindCorridorList(DtExerciseConn* exConn);
50 static void TimeAndDateAdditionCallback(DtReflectedTimeAndDate*,
void*);
51 virtual void processTimeAndDateAddition(DtReflectedTimeAndDate*);
53 static void TimeAndDateRemovalCallback(DtReflectedTimeAndDate*,
void*);
54 virtual void processTimeAndDateRemoval(DtReflectedTimeAndDate*);
56 static void WindCorridorAdditionCallback(DtReflectedWindCorridor*,
void*);
57 virtual void processWindCorridorAddition(DtReflectedWindCorridor*);
59 static void WindCorridorRemovalCallback(DtReflectedWindCorridor*,
void*);
60 virtual void processWindCorridorRemoval(DtReflectedWindCorridor*);
62 template<
typename T,
typename U>
63 static void environmentConditionAddedCallback(T*
object,
void* usr);
65 template<
typename T,
typename U>
66 static void environmentConditionRemovedCallback(T*
object,
void* usr);
69 template<
typename T,
typename U>
70 bool initializeRemoteEnvironmentCondition(
DtStateData* sd, T* entity);
72 virtual bool initializeRemoteWindCorridor(
DtStateData* sd, DtReflectedWindCorridor*);
74 template<
typename T,
typename U>
75 void processEnvironmentConditionAdded(T*
object);
80 static DtBoolean reflectedEnvironmentConditionDiscoveryCriteriaCallback(
DtReflectedObject*
object,
void* userData);
83 virtual DtBoolean processReflectedEnvironmentConditionDiscoveryCriteria(
DtReflectedObject*);
87 static DtEntityType geoLocationTypeToEntityIdentifier(DtGeoLocationTypeEnum32 type);
91 virtual bool setupEntityIdentifierForMetocObject(
DtStateData*, DtEntityIdentifier);
104 myRemoteObjectManager->processTimeAndDateAddition(myReflectedObject);
111 template <
typename T,
typename U>
118 myRemoteObjectManager->initializeRemoteEnvironmentCondition<T, U>(stateData, myReflectedObject);
129 DtReflectedTimeAndDate* myReflectedTimeAndDate =
nullptr;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
RemoteInterfacesMapById myRemoteInterfacesSetById
Definition: remoteEnvironmentManager.h:131
std::map< DtUUID, ObjectWaitingForDiscoveryMap > WaitingForRemoteDiscovery
Definition: remoteEnvironmentManager.h:126
WaitingForRemoteDiscovery myWaitingForRemoteDiscovery
Definition: remoteEnvironmentManager.h:127
virtual void process(DtStateData *stateData) override
Definition: remoteEnvironmentManager.h:116
Definition: remoteEnvironmentManager.h:21
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
std::map< DtReflectedObject *, std::shared_ptr< WaitingForDiscoveryInterface > > ObjectWaitingForDiscoveryMap
Definition: remoteEnvironmentManager.h:125
DtRemoteEnvironmentManager * myRemoteObjectManager
Definition: remoteEnvironmentManager.h:107
WaitingForDiscoveryStruct(DtRemoteEnvironmentManager *mgr, T *object)
Definition: remoteEnvironmentManager.h:114
class DtRemoteObjectManager:
Definition: remoteObjectManager.h:28
DtReflectedTimeAndDate * myReflectedObject
Definition: remoteEnvironmentManager.h:108
class DtVrlinkNetworkInterface:
Definition: vrlinkNetworkInterface.h:60
Definition: remoteEnvironmentManager.h:112
std::map< makVrf::SimStateID, InterfacesByReflectedObjectMap > RemoteInterfacesMapById
Definition: remoteObjectManager.h:76
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
T * myReflectedObject
Definition: remoteEnvironmentManager.h:122
virtual void process(DtStateData *stateData) override
Definition: remoteEnvironmentManager.h:102
#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:100
Definition: remoteEnvironmentManager.h:93
Definition: remoteEnvironmentManager.h:98
boost::signals2::scoped_connection myStateDataRemovalConnection
Definition: remoteEnvironmentManager.h:39
DtRemoteEnvironmentManager * myRemoteObjectManager
Definition: remoteEnvironmentManager.h:121
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< DtReflectedObject *, DtSimObjectNetInterface * > InterfacesByReflectedObjectMap
Definition: remoteObjectManager.h:75
Definition: reflectedObjectLists.h:148
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