VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fomMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef fomMapper_H_
7 #define fomMapper_H_
8 
9 
10 #if DtHLA
11 
12 
13 #include "hostStructs.h"
14 #include "rtiCompatibility.h"
15 
16 #include <vlutil/vlHashlist.h>
17 
18 class DtExerciseConn;
19 class DtStateDecoderFactory;
20 class DtStateEncoderFactory;
21 class DtInteractionDecoderFactory;
22 class DtInteractionEncoderFactory;
23 class DtHlaObjectFactory;
24 class DtInteractionFactory;
25 class DtInteraction;
26 
33 class DT_DLL_VL DtFomMapper
34 {
35 public:
36 
39  typedef char* (*DtInteractionClassChooser)(
40  DtExerciseConn* exConn, const DtInteraction& inter);
41 
45  typedef char* (*DtObjectClassChooser)(
46  const char* vrlinkClassName, DtExerciseConn* conn, void* usr);
47 
48 public:
49 
52  DtFomMapper();
53 
55  virtual ~DtFomMapper();
56 
59  virtual DtStateDecoderFactory* setStateDecoderFactory(
60  DtStateDecoderFactory* fact);
61  virtual DtStateDecoderFactory* stateDecoderFactory();
62 
65  virtual DtStateEncoderFactory* setStateEncoderFactory(
66  DtStateEncoderFactory* fact);
67  virtual DtStateEncoderFactory* stateEncoderFactory();
68 
71  virtual DtInteractionDecoderFactory* setInteractionDecoderFactory(
72  DtInteractionDecoderFactory* fact);
73  virtual DtInteractionDecoderFactory* interactionDecoderFactory();
74 
77  virtual DtInteractionEncoderFactory* setInteractionEncoderFactory(
78  DtInteractionEncoderFactory* fact);
79  virtual DtInteractionEncoderFactory* interactionEncoderFactory();
80 
83  virtual DtHlaObjectFactory* setHlaObjectFactory(
84  DtHlaObjectFactory* fact);
85  virtual DtHlaObjectFactory* hlaObjectFactory();
86 
89  virtual DtInteractionFactory* setInteractionFactory(
90  DtInteractionFactory* fact);
91  virtual DtInteractionFactory* interactionFactory();
92 
97  virtual void setObjectClassToChoose(
98  const char* vrlinkClassName, const char* fomClassName);
99  virtual void setObjectClassChooser(
100  const char* vrlinkClassName, DtObjectClassChooser chooser);
101 
107  virtual char* chooseObjectClass(
108  const char* vrlinkClassName, void* usr = NULL) const;
109 
114  virtual void setInteractionClassToChoose(
115  const char* vrlinkClassName, const char* fomClassName);
116  virtual void setInteractionClassChooser(
117  const char* vrlinkClassName, DtInteractionClassChooser chooser);
118 
121  virtual char* chooseInteractionClass(const DtInteraction& inter) const;
122 
130  virtual void setInteractionClasses(const char* vrlinkClassName,
131  const DtList& classes);
132  virtual DtList* interactionClasses(const char* vrlinkClassName);
133 
137  virtual void setInteractionClass(const char* vrlinkClassName,
138  const char* fomClassName);
139 
148  virtual void setObjectClassNames(const char* vrlinkClassName,
149  const DtList& classes);
150  virtual DtList* objectClassNames(const char* vrlinkClassName);
151 
159  virtual DtList* objectClassHandles(const char* vrlinkClassName);
160 
164  virtual void setObjectClass(const char* vrlinkClassName,
165  const char* fomClassName);
166 
169  virtual void init(DtExerciseConn* conn) = 0;
170 
176  virtual void setVersion(double vers);
177  virtual double version() const;
178 
185  virtual void setRevision(int val);
186 
193  virtual int revision() const;
194 
198  virtual DtObjectClassChooser objectClassChooser(
199  const char* vrlinkClassName) const;
200 
204  virtual DtInteractionClassChooser interactionClassChooser(
205  const char* vrlinkClassName) const;
206 
207 protected:
209  DtFomMapper(const DtFomMapper& orig);
210 
212  DtFomMapper& operator=(const DtFomMapper& orig);
213 
214 protected:
215 
216  DtExerciseConn* myExConn;
217 
219  DtStateDecoderFactory* myDecFact;
220  DtStateEncoderFactory* myEncFact;
221  DtInteractionDecoderFactory* myInterDecFact;
222  DtInteractionEncoderFactory* myInterEncFact;
223  DtHlaObjectFactory* myObjFact;
224  DtInteractionFactory* myInterFact;
225 
229  DtHashlist myIntMapList;
230 
235  DtHashlist myObjMapList;
236 
240  DtHashlist myObjChooserList;
241 
244  DtHashlist mySimpleObjChooserList;
245 
249  DtHashlist myInterChooserList;
250 
253  DtHashlist mySimpleInterChooserList;
254 
257  DtList myObjHandleList;
258 
261  DtList myEmptyList;
262 
263 protected:
264  double myVersion;
265  int myRevision;
266 
267 };
268 
269 #endif
270 #endif
271 

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)