15 #include <vrvVrl/DtConnection.h>
16 #include <vrvUtil/DtSignalConnectionManager.h>
24 #include <vrvVrl/DtVrlinkConnection.h>
25 #include <vrvVrl/DtVrlinkEntityStateListener.h>
26 #include <vrvVrl/DtEntityExistenceListener.h>
27 #include <vrvVrl/DtEntityStateInterceptorCreator.h>
29 #include <vrvCore/DtEntityState.h>
31 #include <vlpi/entityType.h>
32 #include <matrix/vlVector.h>
39 #include <vrfExtProtocol/ifContFactory.h>
47 #include <vrfExtObjects/refExtEntList.h>
50 #include <vl/commentInter.h>
64 #define DtCommentCallbackFcn DtCommentPduCb
66 #define DtCommentCallbackFcn DtCommentInteractionCb
71 class DtVrlinkElement;
81 class DtNetworkMessageInterface;
82 class DtNetworkMessageInterfaceHandlerAgent;
86 class DtVrfBackendInterceptor;
87 class DtVrfConnectionHelper;
88 class DtVrfObjectDataStateProcessor;
89 class DtVrfEnvironmentObjectDataStateProcessor;
90 class DtEnvironmentSimDataProcessor;
91 class DtEmitterSystemSimDataProcessor;
92 class DtActiveSonarSimDataProcessor;
93 class DtVrfAggregateObjectDataStateProcessor;
94 class DtAggregateSimDataProcessor;
95 class DtVrfFogOfWarHandler;
96 class DtVrfEmbarkationProcessor;
97 class DtIffSimDataProcessor;
98 class DtPropulsionNoiseSimDataProcessor;
110 virtual void postUpdate();
127 virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(DtHlaObject*
object);
133 virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(
const DtEntityIdentifier&
id,
134 const DtEntityType& type);
166 virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(DtHlaObject*
object);
172 virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(
const DtEntityIdentifier&
id,
173 const DtEntityType& type);
187 "DtEntityStateInterceptorCreator"));
191 sim.registerInstance(
"DtEntityStateInterceptorCreator",creator);
212 static makVrv::DT_PROTOCOL_NAMESPACE::DtVrvEntityReflectedListCreator&
213 instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
215 virtual DtReflectedEntityList* create(makVrv::DT_PROTOCOL_NAMESPACE::DtEntityExistenceListener&);
218 virtual DtReflectedEntityList* create(makVrv::DT_PROTOCOL_NAMESPACE::DtEntityExistenceListener&, DtDDMRegionSet&);
229 DtVrfDriver(makVrv::DtAgentManager& agentManager,
const std::string& uniqueName);
234 virtual bool onStart();
238 virtual void realizeConfiguration(
const makVrv::DtConfiguration& config);
241 virtual void sendLoggerSetFilename(std::string filename);
244 virtual void sendLoggerRecordMessage();
247 virtual void sendLoggerStopMessage();
251 virtual void newScenario(
const DtScenario*,
int startTimeOfDay = 12 * 3600);
259 bool deleteMemory =
false);
262 virtual void closeScenario();
265 virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType,
int force,
269 virtual void getMessageFilterStatus(std::map<std::string,bool>& statusMap)
const;
272 virtual void setMessageFilterStatus(
const std::map<std::string,bool>& statusMap);
275 virtual void getMessageProcessorStatus(std::map<std::string,bool>& statusMap)
const;
278 virtual void setMessageProcessorStatus(
const std::map<std::string,bool>& statusMap);
282 virtual void registerSimMessageCallbackFor(
int t,
bool reg);
290 virtual void registerSetMessageCallbackFor(
const DtSetMessageType& s,
bool reg);
297 virtual void setTimeoutInterval(
int i);
300 virtual void sendMessageToObject(
const DtVrfObjectMessage* m, DtSimulationAddress addr);
313 virtual void addInterfaceContentCreatorFcn(
int, DtInterfaceContentCreatorFcn);
337 virtual void importScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
338 std::map<std::string, std::string> importData);
341 virtual void exportScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
342 std::map<std::string, std::string> importData);
351 makVrv::DT_PROTOCOL_NAMESPACE::DtEntitySimDataProcessor* dataProcessor()
353 return myDataProcessor;
358 return myEmitterSystemDataProcessor;
363 return myActiveSonarDataProcessor;
368 return myEnvironmentDataProcessor;
373 return myAggregateDataProcessor;
378 return myExtendedStateDataProcessor;
381 void setUseThreadFlag(
bool b)
386 virtual bool onTick();
405 virtual void onSetupExerciseConnection();
406 virtual void onCleanupExerciseConnection();
408 virtual void setupEntityData();
409 virtual void setupAggregateData();
410 virtual void setupEnvironmentalData();
413 static void simMessageCallback(
DtSimMessage* msg,
void* usr);
421 virtual void elementAttributeChangeRequested(
422 makVrv::DtUniqueID
id, makVrv::DtUniqueID parentId, DtBoost::shared_ptr<const makVrv::DtElementAttribute> atr );
424 makVrv::DtVrlinkElement* findElementWithId(makVrv::DtUniqueID
id)
const;
426 virtual makVrv::DtConnection* createConnection();