VR-Link API Documentation for DIS
interactionFactory.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef DtInteractionFactory_H_
7 #define DtInteractionFactory_H_
8 
13 
14 #if DtHLA
15 
16 
17 #include <vlutil/vlMachineTypes.h>
18 #include "rtiNamespace.h"
19 #include <map>
20 
21 
24 class DT_DLL_VL DtInterClassDesc;
25 
29 class DT_DLL_VL DtInteractionFactory
30 {
31 public:
32 
34  typedef DtInteraction* (*DtInteractionCreator)();
35 
36 public:
37 
39  DtInteractionFactory(DtExerciseConn* exConn);
40 
42  virtual ~DtInteractionFactory();
43 
47  virtual DtInteraction* createInteraction(
48  RTI::InteractionClassHandle handle,
49 #if DtHLA_1516
50  const RTI::ParameterHandleValueMap& pairMap);
51 #else
52  const RTI::ParameterHandleValuePairSet& pairSet);
53 #endif
54 
61  virtual DtInteractionCreator addCreator(
62  RTI::InteractionClassHandle handle,
63  DtInteractionCreator creator);
64  virtual DtInteractionCreator addCreator(
65  const char* className,
66  DtInteractionCreator creator);
67 
68  virtual DtInteractionCreator creator(RTI::InteractionClassHandle handle);
69 
70 protected:
71 
73  DtInteractionFactory(const DtInteractionFactory& orig);
74 
76  DtInteractionFactory& operator=(const DtInteractionFactory& orig);
77 
78 protected:
79 
80  typedef std::map<RTI::InteractionClassHandle, DtInteractionCreator>
81  InterClassHandleToCreatorMap;
82 
83  InterClassHandleToCreatorMap myCreators;
84 
85  DtExerciseConn* myExConn;
86 };
87 
88 #endif
89 #endif
90 

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)