VR-Forces 4.2 Class Documentation
vrfCreator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: vrfCreator.h,v $ $Revision: 1.77 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef vrfCreator_H_
9 #define vrfCreator_H_
10 
13 
16 
17 #include <vlutil/vlString.h>
18 #include <vlutil/vlFilename.h>
19 #include <vl/hostStructs.h>
20 #include <vlutil/vlUtil.h>
22 #include "vrfobjcore/vrfRadio.h"
23 #include "vrfobjcore/commModel.h"
26 
27 class DtExerciseConn;
28 
29 class DtSimManager;
33 class DtJoyDeviceManager;
35 class DtJoyDevice;
36 class DtVrfObjectManager;
40 class DtVectorObstructionManager;
42 class DtFireManager;
43 class DtJoyDeviceManager;
44 class DtStealthRemoteController;
45 class DtCgf;
46 class DtVrfParameterDb;
47 class DtResourceMonitor;
49 class DtVrfObjectIdGenerator;
51 class DtVrfPluginManager;
52 class DtHostilityManager;
54 class DtExerciseClock;
56 
58 class DtSimObjectFactory;
62 class DtSimTaskFactory;
65 class DtSimReportFactory;
71 class DtCondExprFactory;
72 class DtStatementFactory;
76 class DtInterfaceContentManagerFactory;
78 class DtEvaluatorFactory;
82 class DtPhysicalWorld;
83 class DtCommModelManager;
84 class DtTerrainDbFactory;
85 class DtTerrainDatabase;
86 class DtTdbMetafileFactory;
87 class DtVectorDataFactory;
88 class DtTerrainReaderFactory;
89 class DtTerrainWriterFactory;
101 
103 typedef DtVrfObjectParameterFactory* (*DtSimObjectParameterFactoryCreatorFcn)();
104 typedef DtSimObjectFactory* (*DtSimObjectFactoryCreatorFcn)();
106  (*DtSimObjectStateRepositoryFactoryCreatorFcn)();
108  (*DtSimObjectNetInterfaceFactoryCreatorFcn)();
109 typedef DtSimResourceFactory* (*DtSimResourceFactoryCreatorFcn)();
110 typedef DtSimTaskFactory* (*DtSimTaskFactoryCreatorFcn)();
111 typedef DtSimTaskStateFactory* (*DtSimTaskStateFactoryCreatorFcn)();
112 typedef DtInterfaceContentFactory* (*DtInterfaceContentFactoryCreatorFcn)();
113 typedef DtVrfObjectMessageFactory* (*DtVrfObjectMessageFactoryCreatorFcn)();
114 typedef DtSetDataRequestFactory* (*DtSetDataRequestFactoryCreatorFcn)();
115 typedef DtSimReportFactory* (*DtSimReportFactoryCreatorFcn)();
116 typedef DtAdminContentFactory* (*DtAdminContentFactoryCreatorFcn)();
117 typedef DtSimCommandFactory* (*DtSimCommandFactoryCreatorFcn)();
118 typedef DtSimCommandExecutorFactory* (*DtSimCommandExecutorFactoryCreatorFcn)();
120  (*DtComponentDescriptorFactoryCreatorFcn)();
121 typedef DtCondExprFactory* (*DtCondExprFactoryCreatorFcn)();
122 typedef DtStatementFactory* (*DtStatementFactoryCreatorFcn)();
123 typedef DtSimTaskManagerFactory* (*DtSimTaskManagerFactoryCreatorFcn)();
125  (*DtVrfObjectPlanManagerFactoryCreatorFcn)();
127  (*DtSimComponentManagerFactoryCreatorFcn)();
128 typedef DtSimComponentFactory* (*DtSimComponentFactoryCreatorFcn)();
129 typedef DtEvaluatorFactory* (*DtEvaluatorFactoryCreatorFcn)();
131  (*DtVrfProcessStateRepositoryFactoryCreatorFcn)();
132 typedef DtTerrainDbFactory* (*DtTerrainDbFactoryCreatorFcn)();
133 typedef DtTdbMetafileFactory* (*DtTdbMetafileFactoryCreatorFcn)();
134 typedef DtVectorDataFactory* (*DtVectorDataFactoryCreatorFcn)(DtTdbMetafileFactory *metafileFactory);
135 typedef DtTerrainReaderFactory* (*DtTerrainReaderFactoryCreatorFcn)(DtTdbMetafileFactory *metafileFactory);
136 typedef DtTerrainWriterFactory* (*DtTerrainWriterFactoryCreatorFcn)();
137 typedef DtVrfStateRepositoryUserExtensionFactory* (*DtVrfStateRepositoryUserExtensionFactoryCreatorFcn)();
138 typedef DtSpatialFilterFactory* (*DtSpatialFilterFactoryCreatorFcn)();
139 typedef DtSpatialFilterEvaluatorFactory* (*DtSpatialFilterEvaluatorFactoryCreatorFcn)();
140 typedef DtSignatureModifierFactory* (*DtSignatureModifierFactoryCreatorFcn)();
141 typedef DtSignatureModifierEvaluatorFactory* (*DtSignatureModifierEvaluatorFactoryCreatorFcn)();
142 typedef DtSignaturePropagatorFactory* (*DtSignaturePropagatorFactoryCreatorFcn)();
143 typedef DtSignaturePropagatorDescriptorFactory* (*DtSignaturePropagatorDescriptorFactoryCreatorFcn)();
144 typedef DtDetectionLevelDeterminatorFactory* (*DtDetectionLevelDeterminatorFactoryCreatorFcn) ();
145 typedef DtVrfRadioDescriptorFactory* (*DtRadioDescriptorFactoryCreatorFcn)();
146 typedef DtVrfRadioFactory* (*DtRadioFactoryCreatorFcn)();
147 typedef DtCommModelFactory* (*DtCommModelFactoryCreatorFcn)();
148 typedef DtCommModelDescriptorFactory* (*DtCommModelDescriptorFactoryCreatorFcn)();
149 typedef DtSettingsObjectFactory* (*DtVrfSimSettingsObjectFactoryCreatorFcn)();
150 typedef DtSubordinateEntryFactory* (*DtSubordinateEntryFactoryCreatorFcn)();
151 typedef DtScriptInterfaceFactory* (*DtScriptInterfaceFactoryCreatorFcn)();
152 typedef DtLuaObjectSerializer* (*DtLuaObjectSerializerCreatorFcn)(DtSimManager* simManager);
153 
154 
156 typedef DtSimManager* (*DtSimManagerCreatorFcn)(DtExerciseConn* exerciseConn);
157 typedef DtResourceMonitor* (*DtResourceMonitorCreatorFcn)(DtSimManager* simManager);
158 typedef DtVrfObjectIdGenerator* (*DtVrfObjectIdGeneratorCreatorFcn)();
159 typedef DtVrfPluginManager* (*DtVrfPluginManagerCreatorFcn)();
160 
161 typedef DtVrfObjectManager* (*DtVrfObjectManagerCreatorFcn)(
162  DtSimManager* simManager, int entityAdvisory);
163 typedef DtScriptedTaskManager* (*DtScriptedTaskManagerCreatorFcn)(
165 typedef DtScriptedObjectsMovementManager* (*DtScriptedObjectsMovementManagerCreatorFcn)(
167 typedef DtImportExportScenarioDescriptionManager* (*DtImportExportScenarioDescriptionManagerCreatorFcn)(
169 typedef DtAggregateSpatialModel* (*DtAggregateSpatialModelCreatorFcn)(
170  DtVrfObjectManager& vrfObjectManager, const DtExerciseClock& exerciseClock);
171 typedef DtDetonationManager* (*DtDetonationManagerCreatorFcn)(
173 typedef DtFireManager* (*DtFireManagerCreatorFcn)(
175 typedef DtGlobalPlanManager* (*DtGlobalPlanManagerCreatorFcn)(
177 typedef DtEnvironmentalStateManager* (*DtEnvironmentalStateManagerCreatorFcn) (DtSimManager* simManager);
178 
179 typedef DtJoyDeviceManager* (*DtJoyDeviceManagerCreatorFcn)(
181 typedef DtHostilityManager* (*DtHostilityManagerCreatorFcn)(DtSimManager* simManager);
182 typedef DtScenarioExtrasMgr* (*DtScenarioExtrasMgrCreatorFcn)(DtSimManager* simManager);
183 
185 typedef DtPhysicalWorld* (*DtPhysicalWorldCreatorFcn)(DtSimManager* simManager);
186 
188 typedef DtCommModelManager* (*DtCommModelManagerCreatorFcn)(DtSimManager* simManager);
189 
191 typedef DtTerrainDatabase* (*DtTerrainDatabaseCreatorFcn)();
192 
193 
194 
196 typedef DtVrfParameterDb* (*DtParameterDatabaseCreatorFcn) ();
197 
199 typedef DtVrfStatusPublisher* (*DtVrfStatusPublisherCreatorFcn)(
200  DtVrfMessageInterface* msgInterface);
201 typedef DtStealthRemoteController* (*DtStealthRemoteControllerCreatorFcn)(
202  DtExerciseConn* exerciseConn);
203 typedef DtSimulationModelSet* (*DtSimulationModelSetCreatorFcn)(
204  const DtString& name, DtReaderWriterRegistry* parentRegistry);
205 
209 #include "vrfcgf/vrfcgfDefines.h"
211 {
212 public:
214  DtVrfCreator();
215 
217  virtual ~DtVrfCreator();
218 
222  virtual void setResourceFactoryCreatorFcn(
224  virtual void setSimObjectFactoryCreatorFcn(
226  virtual void setSimObjectParameterFactoryCreatorFcn(
228  virtual void setSimObjectStateRepositoryFactoryCreatorFcn(
230  virtual void setSimObjectNetInterfaceFactoryCreatorFcn(
232  virtual void setSimTaskFactoryCreatorFcn(DtSimTaskFactoryCreatorFcn fcn);
233  virtual void setTaskStateFactoryCreatorFcn(DtSimTaskStateFactoryCreatorFcn fcn);
234  virtual void setInterfaceContentFactoryCreatorFcn(
236  virtual void setVrfObjectMessageFactoryCreatorFcn(
238  virtual void setSetDataRequestFactoryCreatorFcn(
240  virtual void setSimReportFactoryCreatorFcn(DtSimReportFactoryCreatorFcn fcn);
241  virtual void setAdminContentFactoryCreatorFcn(DtAdminContentFactoryCreatorFcn fcn);
242  virtual void setSimCommandFactoryCreatorFcn(DtSimCommandFactoryCreatorFcn fcn);
243  virtual void setSimCommandExecutorFactoryCreatorFcn(DtSimCommandExecutorFactoryCreatorFcn fcn);
244  virtual void setComponentDescriptorFactoryCreatorFcn(
246  virtual void setCondExprFactoryCreatorFcn(DtCondExprFactoryCreatorFcn fcn);
247  virtual void setStatementFactoryCreatorFcn(DtStatementFactoryCreatorFcn fcn);
248  virtual void setSimTaskManagerFactoryCreatorFcn(
250  virtual void setVrfObjectPlanManagerFactoryCreatorFcn(
252  virtual void setSimComponentManagerFactoryCreatorFcn(
254  virtual void setSimComponentFactoryCreatorFcn(
256  virtual void setEvaluatorFactoryCreatorFcn(DtEvaluatorFactoryCreatorFcn fcn);
257  virtual void setProcessStateRepositoryFactoryCreatorFcn(
259 
260  virtual void setTerrainDbFactoryCreatorFcn(DtTerrainDbFactoryCreatorFcn fcn);
261  virtual void setTdbMetafileFactoryCreatorFcn(DtTdbMetafileFactoryCreatorFcn fcn);
262  virtual void setVectorDataFactoryCreatorFcn(DtVectorDataFactoryCreatorFcn fcn);
263  virtual void setTerrainReaderFactoryCreatorFcn(DtTerrainReaderFactoryCreatorFcn fcn);
264  virtual void setTerrainWriterFactoryCreatorFcn(DtTerrainWriterFactoryCreatorFcn fcn);
265 
266  virtual void setVrfStateRepositoryUserExtensionFactory(DtVrfStateRepositoryUserExtensionFactoryCreatorFcn fcn);
267  virtual void setSpatialFilterFactory(DtSpatialFilterFactoryCreatorFcn fcn);
268  virtual void setSpatialFilterEvaluatorFactory(DtSpatialFilterEvaluatorFactoryCreatorFcn fcn);
269  virtual void setSignatureModifierFactory(DtSignatureModifierFactoryCreatorFcn fcn);
270  virtual void setSignatureModifierEvaluatorFactory(DtSignatureModifierEvaluatorFactoryCreatorFcn fcn);
271  virtual void setSignaturePropagatorFactory(DtSignaturePropagatorFactoryCreatorFcn fcn);
272  virtual void setSignaturePropagatorDescriptorFactory(DtSignaturePropagatorDescriptorFactoryCreatorFcn fcn);
273  virtual void setDetectionLevelDeterminatorFactory(DtDetectionLevelDeterminatorFactoryCreatorFcn fcn);
274  virtual void setRadioDescriptorFactory(DtRadioDescriptorFactoryCreatorFcn fcn);
275  virtual void setRadioFactoryCreatorFcn(DtRadioFactoryCreatorFcn fcn);
276  virtual void setCommModelFactoryCreatorFcn(DtCommModelFactoryCreatorFcn fcn);
277  virtual void setCommModelDescriptorFactoryCreatorFcn(DtCommModelDescriptorFactoryCreatorFcn fcn);
278  virtual void setVrfSimSettingsObjectFactoryCreatorFcn(
280  virtual void setScriptInterfaceFactoryCreatorFcn(DtScriptInterfaceFactoryCreatorFcn fcn);
281  virtual void setLuaObjectSerializerCreatorFcn(DtLuaObjectSerializerCreatorFcn fcn);
282 
286  virtual DtVrfObjectParameterFactory* createParameterFactory();
287  virtual DtSimObjectFactory* createSimObjectFactory();
289  createSimObjectStateRepositoryFactory();
291  createSimObjectNetInterfaceFactory();
292  virtual DtSimResourceFactory* createResourceFactory();
293  virtual DtSimTaskFactory* createTaskFactory();
294  virtual DtSimTaskStateFactory* createTaskStateFactory();
295  virtual DtInterfaceContentFactory* createInterfaceContentFactory();
296  virtual DtVrfObjectMessageFactory* createVrfObjectMessageFactory();
297  virtual DtSetDataRequestFactory* createSetDataRequestFactory();
298  virtual DtSimReportFactory* createReportFactory();
299  virtual DtAdminContentFactory* createAdminContentFactory();
300  virtual DtSimCommandFactory* createSimCommandFactory();
301  virtual DtSimCommandExecutorFactory* createSimCommandExecutorFactory();
302  virtual DtComponentDescriptorFactory* createComponentDescriptorFactory();
303  virtual DtCondExprFactory* createCondExprFactory();
304  virtual DtStatementFactory* createStatementFactory();
305  virtual DtSimTaskManagerFactory* createTaskManagerFactory();
306  virtual DtVrfObjectPlanManagerFactory* createVrfObjectPlanManagerFactory();
307  virtual DtSimComponentManagerFactory* createComponentManagerFactory();
308  virtual DtSimComponentFactory* createComponentFactory();
309  virtual DtEvaluatorFactory* createEvaluatorFactory();
310  virtual DtVrfProcessStateRepositoryFactory* createProcessStateRepositoryFactory();
311  virtual DtTerrainDbFactory* createTerrainDbFactory();
312  virtual DtTdbMetafileFactory* createTerrainMetafileFactory();
313  virtual DtTerrainReaderFactory* createTerrainReaderFactory(
314  DtTdbMetafileFactory *metafileFactory);
315  virtual DtVectorDataFactory* createVectorDataFactory(
316  DtTdbMetafileFactory *metafileFactory);
317  virtual DtTerrainWriterFactory* createTerrainWriterFactory();
318  virtual DtVrfStateRepositoryUserExtensionFactory* createVrfSRUserExtensionFactory();
319  virtual DtSpatialFilterFactory* createSpatialFilterFactory();
320  virtual DtSpatialFilterEvaluatorFactory* createSpatialFilterEvaluatorFactory();
321  virtual DtSignatureModifierFactory* createSignatureModifierFactory();
322  virtual DtSignatureModifierEvaluatorFactory* createSignatureModifierEvaluatorFactory();
323  virtual DtSignaturePropagatorFactory* createSignaturePropagatorFactory();
324  virtual DtSignaturePropagatorDescriptorFactory* createSignaturePropagatorDescriptorFactory();
325  virtual DtDetectionLevelDeterminatorFactory* createDetectionLevelDeterminatorFactory();
326  virtual DtVrfRadioDescriptorFactory* createRadioDescriptorFactory();
327  virtual DtVrfRadioFactory* createRadioFactory();
328  virtual DtCommModelFactory* createCommModelFactory();
329  virtual DtCommModelDescriptorFactory* createCommModelDescriptorFactory();
330  virtual DtSettingsObjectFactory* createSettingsObjectFactory();
331  virtual DtSubordinateEntryFactory* createSubordinateEntryFactory();
332  virtual DtScriptInterfaceFactory* createScriptInterfaceFactory();
333  virtual DtLuaObjectSerializer* createLuaObjectSerializer(DtSimManager* simManager);
334 
338  virtual void setSimManagerCreatorFcn(DtSimManagerCreatorFcn fcn);
339  virtual void setVrfObjectManagerCreatorFcn(DtVrfObjectManagerCreatorFcn fcn);
340  virtual void setScriptedTaskManagerCreatorFcn(DtScriptedTaskManagerCreatorFcn fcn);
341  virtual void setScriptedObjectsMovementManagerCreatorFcn(DtScriptedObjectsMovementManagerCreatorFcn fcn);
342  virtual void setImportScenarioDescriptionManagerCreatorFcn(DtImportExportScenarioDescriptionManagerCreatorFcn fcn);
343  virtual void setAggregateSpatialModelCreatorFcn(DtAggregateSpatialModelCreatorFcn fcn);
344  virtual void setDetonationManagerCreatorFcn(DtDetonationManagerCreatorFcn fcn);
345  virtual void setFireManagerCreatorFcn(DtFireManagerCreatorFcn fcn);
346  virtual void setResourceMonitorCreatorFcn(DtResourceMonitorCreatorFcn fcn);
347  virtual void setVrfObjectIdGeneratorCreatorFcn(DtVrfObjectIdGeneratorCreatorFcn fcn);
348  virtual void setVrfPluginManagerCreatorFcn(DtVrfPluginManagerCreatorFcn fcn);
349  virtual void setGlobalPlanManagerCreatorFcn(DtGlobalPlanManagerCreatorFcn fcn);
350  virtual void setJoyDeviceManagerCreatorFcn(DtJoyDeviceManagerCreatorFcn fcn);
351  virtual void setHostilityManagerCreatorFcn(DtHostilityManagerCreatorFcn fcn);
352  virtual void setScenarioExtrasMgrCreatorFcn(DtScenarioExtrasMgrCreatorFcn fcn);
353  virtual void setEnvironmentalStateManagerCreatorFcn(DtEnvironmentalStateManagerCreatorFcn fcn);
354 
356  virtual void setPhysicalWorldCreatorFcn(DtPhysicalWorldCreatorFcn fcn);
357  virtual void setTerrainDatabaseCreatorFcn(DtTerrainDatabaseCreatorFcn fcn);
358 
359  virtual void setCommModelManagerCreatorFcn(DtCommModelManagerCreatorFcn fcn);
360 
362  virtual void setParameterDatabaseCreatorFcn(DtParameterDatabaseCreatorFcn fcn);
363 
365  virtual void setSimulationModelSetCreatorFcn(DtSimulationModelSetCreatorFcn fcn);
366 
370  virtual DtSimManager* createSimManager(DtExerciseConn* conn);
371  virtual DtResourceMonitor* createResourceMonitor(DtSimManager* simManager);
372  virtual DtVrfObjectIdGenerator* createVrfObjectIdGenerator();
373  virtual DtVrfPluginManager* createPluginManager();
374  virtual DtVrfObjectManager* createVrfObjectManager(DtSimManager* simManager,
375  int entityAdvisory = 100);
376  virtual DtScriptedTaskManager* createScriptedTaskManager(DtSimManager* simManager);
377  virtual DtScriptedObjectsMovementManager* createScriptedObjectsMovementManager(DtSimManager* simManager);
378  virtual DtImportExportScenarioDescriptionManager* createImportScenarioDescriptionManager(DtSimManager* simManager);
379  virtual DtAggregateSpatialModel* createAggregateSpatialModel(DtVrfObjectManager& objectManager,
380  const DtExerciseClock& exerciseClock);
381  virtual DtDetonationManager* createDetonationManager(DtSimManager* simManager);
382  virtual DtFireManager* createFireManager(DtSimManager* simManager);
383  virtual DtGlobalPlanManager* createGlobalPlanManager(DtSimManager* simManager);
384  virtual DtJoyDeviceManager* createJoyDeviceManager(DtSimManager* simManager);
385  virtual DtHostilityManager* createHostilityManager(DtSimManager* simManager);
386  virtual DtScenarioExtrasMgr* createScenarioExtrasMgr(DtSimManager* simManager);
387  virtual DtEnvironmentalStateManager* createEnvironmentalStateManager(DtSimManager* simManager);
388 
390  virtual DtPhysicalWorld* createPhysicalWorld(DtSimManager* simManager);
391 
393  virtual DtTerrainDatabase* createTerrainDatabase();
394 
395  virtual DtCommModelManager* createCommModelManager(DtSimManager* simManager);
396 
400  virtual DtVrfParameterDb* createParameterDatabase();
401 
405  virtual void setStatusPublisherCreatorFcn(
407  virtual void setStealthRemoteControllerCreatorFcn(
409 
413  virtual DtVrfStatusPublisher* createStatusPublisher(
414  DtVrfMessageInterface* msgInterface);
415  virtual DtStealthRemoteController* createStealthRemoteController(
416  DtExerciseConn* exerciseConn);
417 
418  virtual DtSimulationModelSet* createSimulationModelSet(const DtString& name,
419  DtReaderWriterRegistry* parentRegistry = NULL);
420 
421 protected:
423  DtVrfCreator(const DtVrfCreator & orig);
424 
426  const DtVrfCreator & operator=(const DtVrfCreator & orig);
427 
428 protected:
478 
496 
499 
502 
504 
507 
514 };
515 
516 #endif
517 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)