VR-Link API Documentation for HLA 1.3
 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 #pragma once
7 
10 #if DtHLA
11 
12 #include "hostStructs.h"
13 #include "rtiCompatibility.h"
14 
15 #include <vlutil/vlHashlist.h>
16 
17 #include <map>
18 #include <set>
19 
20 class DtExerciseConn;
25 class DtHlaObjectFactory;
27 class DtInteraction;
28 
29 
37 {
38 public:
39 
42  typedef char* (*DtInteractionClassChooser)(
43  DtExerciseConn* exConn, const DtInteraction& inter);
44 
48  typedef char* (*DtObjectClassChooser)(
49  const char* vrlinkClassName, DtExerciseConn* conn, void* usr);
50 
51  typedef std::map<DtString, std::set<DtString> > DtStringSetMap;
52 
53 public:
54 
57  DtFomMapper();
58 
60  virtual ~DtFomMapper();
61 
64  virtual DtStateDecoderFactory* setStateDecoderFactory(
65  DtStateDecoderFactory* fact);
66  virtual DtStateDecoderFactory* stateDecoderFactory();
67 
70  virtual DtStateEncoderFactory* setStateEncoderFactory(
71  DtStateEncoderFactory* fact);
72  virtual DtStateEncoderFactory* stateEncoderFactory();
73 
76  virtual DtInteractionDecoderFactory* setInteractionDecoderFactory(
78  virtual DtInteractionDecoderFactory* interactionDecoderFactory();
79 
82  virtual DtInteractionEncoderFactory* setInteractionEncoderFactory(
84  virtual DtInteractionEncoderFactory* interactionEncoderFactory();
85 
88  virtual DtHlaObjectFactory* setHlaObjectFactory(
89  DtHlaObjectFactory* fact);
90  virtual DtHlaObjectFactory* hlaObjectFactory();
91 
94  virtual DtInteractionFactory* setInteractionFactory(
95  DtInteractionFactory* fact);
96  virtual DtInteractionFactory* interactionFactory();
97 
102  virtual void setObjectClassToChoose(
103  const char* vrlinkClassName, const char* fomClassName);
104  virtual void setObjectClassChooser(
105  const char* vrlinkClassName, DtObjectClassChooser chooser);
106 
112  virtual const char* chooseObjectClass(
113  const char* vrlinkClassName, void* usr = NULL) const;
114 
119  virtual void setInteractionClassToChoose(
120  const char* vrlinkClassName, const char* fomClassName);
121  virtual void setInteractionClassChooser(
122  const char* vrlinkClassName, DtInteractionClassChooser chooser);
123 
126  virtual const char* chooseInteractionClass(const DtInteraction& inter) const;
127 
135  virtual void setInteractionClasses(const char* vrlinkClassName,
136  const std::set<DtString>& classes);
137  virtual const std::set<DtString>* interactionClasses(const char* vrlinkClassName);
138 
142  virtual void setInteractionClass(const char* vrlinkClassName,
143  const char* fomClassName);
144 
149  virtual void addInteractionClassName(const char* vrlinkClassName,
150  const char* objClassName, bool includeSubclasses);
151  virtual void removeInteractionClassName(const char* vrlinkClassName,
152  const char* objClassName, bool includeSubclasses);
153 
162  virtual void setObjectClassNames(const char* vrlinkClassName,
163  const std::set<DtString>& classes);
164  virtual const std::set<DtString>* objectClassNames(const char* vrlinkClassName);
165 
173  virtual DtList* objectClassHandles(const char* vrlinkClassName);
174 
178  virtual void setObjectClass(const char* vrlinkClassName,
179  const char* fomClassName);
180 
185  virtual void addObjectClassName(const char* vrlinkClassName,
186  const char* objClassName, bool includeSubclasses);
187  virtual void removeObjectClassName(const char* vrlinkClassName,
188  const char* objClassName, bool includeSubclasses);
189 
192  virtual void init(DtExerciseConn* conn) = 0;
193 
199  virtual void setVersion(double vers);
200  virtual double version() const;
201 
208  virtual void setRevision(int val);
209 
216  virtual int revision() const;
217 
221  virtual DtObjectClassChooser objectClassChooser(
222  const char* vrlinkClassName) const;
223 
227  virtual DtInteractionClassChooser interactionClassChooser(
228  const char* vrlinkClassName) const;
229 
230 protected:
232  DtFomMapper(const DtFomMapper& orig);
233 
235  DtFomMapper& operator=(const DtFomMapper& orig);
236 
237 protected:
238 
240 
248 
252 
256 
260  std::map<DtString, DtObjectClassChooser> myObjChooserList;
261 
264  std::map<DtString, DtString> mySimpleObjChooserList;
265 
269  std::map<DtString, DtInteractionClassChooser> myInterChooserList;
270 
273  std::map<DtString, DtString> mySimpleInterChooserList;
274 
278 
282 
283 protected:
284  double myVersion;
286 
287 };
288 
289 #endif

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)