MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
omtTree.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
7 #pragma once
8 
9 
10 
11 #include "complexDatatypeNode.h"
12 #include "enumeratedDatatypeNode.h"
14 #include "objectClassFedNode.h"
15 #include "simpleDatatypeNode.h"
16 #include "arrayDatatypeNode.h"
17 #include "fixedDatatypeNode.h"
18 #include "variantDatatypeNode.h"
20 #include "noteNode.h"
21 #include "boolAttrNode.h"
22 #include "descriptionNode.h"
23 #include "dimensionNode.h"
24 #include "timeRepNode.h"
25 #include "synchroNode.h"
26 #include "tagNode.h"
27 
28 class DtExerciseConn;
29 
30 #include <vlutil/vlString.h>
31 #ifdef DtHLA
32 #include <vl/rtiNamespace.h>
33 #endif
34 #include <list>
36 
38 {
40  DtString myPOCFirstName;
41  DtString myPOCLastName;
42  DtString myPOCOrgName;
43  DtString myPOCPhone;
44  DtString myPOCEmail;
45  DtString myPOCType;
46 };
47 
49 {
50  DtString myReferenceType;
52 };
53 
54 class DtUpdateRateNode;
55 
59 {
60 public:
61 
63  DtOMTTree();
64 
66  virtual ~DtOMTTree();
67 
68 
69  virtual void setHlaVersion(DtHLAProtocolVersion version);
70  virtual DtHLAProtocolVersion hlaVersion() const;
71 
72  virtual void setName(const DtString&);
73  virtual const DtString& getName();
74 
75  virtual void setVersionNo(const DtString&);
76  virtual const DtString& getVersionNo();
77 
78  virtual void setType(const DtString&);
79  virtual const DtString& getType();
80 
81  virtual void setPurpose(const DtString&);
82  virtual const DtString& getPurpose();
83 
84  virtual void setApplicationDomain(const DtString&);
85  virtual const DtString& getApplicationDomain();
86 
87  virtual void setSponsorOrgName(const DtString&);
88  virtual const DtString& getSponsorOrgName();
89 
90  virtual void setModificationDate(const DtString&);
91  virtual const DtString& getModificationDate();
92 
93  virtual void setSecurityClassification(const DtString&);
94  virtual const DtString& getSecurityClassification() const;
95 
96  virtual void setReleaseRestriction(const DtString&);
97  virtual const DtString& getReleaseRestriction() const;
98 
99  virtual void setDescription(const DtString&);
100  virtual const DtString& getDescription() const;
101 
102  virtual void setMOMVersion(const DtString&);
103  virtual const DtString& getMOMVersion();
104 
106  virtual void setReference(const DtString&);
107  virtual const DtString& getReference();
108 
110  virtual const std::vector<DtOMTTreeReference>& getReferences() const;
111  virtual void setReferences(const std::vector<DtOMTTreeReference> & s);
112  virtual void addReference(const DtOMTTreeReference & s);
113 
114  virtual void setOther(const DtString&);
115  virtual const DtString& getOther();
116 
117  virtual void setUseLimitation(const DtString&);
118  virtual const DtString& getUseLimitation();
119 
120  virtual void setUseHistory(const DtString&);
121  virtual const DtString& getUseHistory();
122 
123  virtual void addPOC(const DtOMTTreePOC& poc);
124  virtual void addPOC(const DtString& honorificName,
125  const DtString& firstName, const DtString& LastName,
126  const DtString& orgName, const DtString& phone,
127  const DtString& email, const DtString& poctype);
128  virtual std::list<DtOMTTreePOC>::iterator getPOCList();
129  virtual std::list<DtOMTTreePOC>::iterator getPOCEndNode();
130 
131  virtual void addBasicDataRepresentationNode(DtBasicDataRepresentationNode*);
132  virtual DtBasicDataRepresentationNode* getBasicDataRepresentationNode(const DtString& name);
133  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationNodeList();
134  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationEndNode();
135 
136  virtual void addVariantDatatypeNode(DtVariantDatatypeNode*);
137  virtual DtVariantDatatypeNode* getVariantDatatypeNode(const DtString& name);
138  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeNodeList();
139  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeEndNode();
140 
141  virtual void addFixedDatatypeNode(DtFixedDatatypeNode*);
142  virtual DtFixedDatatypeNode* getFixedDatatypeNode(const DtString& name);
143  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeNodeList();
144  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeEndNode();
145 
146  virtual void addSimpleDatatypeNode(DtSimpleDatatypeNode*);
147  virtual DtSimpleDatatypeNode* getSimpleDatatypeNode(const DtString& name);
148  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeNodeList();
149  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeEndNode();
150 
151  virtual void addComplexDatatypeNode(DtComplexDatatypeNode*);
152  virtual DtComplexDatatypeNode* getComplexDatatypeNode(const DtString& name);
153  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeNodeList();
154  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeEndNode();
155 
156  virtual void addArrayDatatypeNode(DtArrayDatatypeNode*);
157  virtual DtArrayDatatypeNode* getArrayDatatypeNode(const DtString& name);
158  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeNodeList();
159  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeEndNode();
160 
161  virtual void addEnumeratedDatatypeNode(DtEnumeratedDatatypeNode*);
162  virtual DtEnumeratedDatatypeNode* getEnumeratedDatatypeNode(const DtString& name);
163  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeNodeList();
164  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeEndNode();
165 
166  virtual void addNoteNode(DtNoteNode*);
167  virtual DtNoteNode* getNoteNode(int val);
168  virtual DtNoteNode* getNoteNode(DtString val);
169  virtual std::list<DtNoteNode*>::iterator getNoteNodeList();
170  virtual std::list<DtNoteNode*>::iterator getNoteEndNode();
171 
172  virtual void addUpdateRateNode(DtUpdateRateNode* node);
173  virtual DtUpdateRateNode* getUpdateRateNode(const DtString& name);
174  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateNodeList();
175  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateEndNode();
176 
177 
179  virtual void setObjectClassRoot(DtObjectClassFedNode* node);
181  virtual DtObjectClassFedNode* objectClassRoot();
183 
184  virtual void addObjectClassNode(DtObjectClassFedNode*);
185 #ifdef DtHLA
186  virtual DtObjectClassFedNode* getObjectClassNode(RTI::ObjectClassHandle value);
187 #endif
188  virtual DtObjectClassFedNode* getObjectClassNode(const DtString& name = "");
190  virtual DtObjectClassFedNode* getObjectClassNodeByID(int id);
191  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeBegin();
192  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeEnd();
193  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeRBegin();
194  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeREnd();
195 
197  virtual void setInteractionClassRoot(DtInteractionClassFedNode* node);
199  virtual DtInteractionClassFedNode* interactionClassRoot();
201 
202  virtual void addInteractionClassNode(DtInteractionClassFedNode*);
203 #ifdef DtHLA
204  virtual DtInteractionClassFedNode* getInteractionClassNode(RTI::InteractionClassHandle value);
205 #endif
206  virtual DtInteractionClassFedNode* getInteractionClassNode(const DtString& name = "");
208  virtual DtInteractionClassFedNode* getInteractionClassNodeByID(int id);
209  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeBegin();
210  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeEnd();
211  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeRBegin();
212  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeREnd();
213 
214  virtual void addSwitchNode(DtBoolAttrNode*);
215  virtual DtBoolAttrNode* getSwitchNode(const DtString& name);
216  virtual std::list<DtBoolAttrNode*>::iterator getSwitchNodeList();
217  virtual std::list<DtBoolAttrNode*>::iterator getSwitchEndNode();
218 
219  virtual void addTransportationNode(DtDescriptionNode*);
220  virtual DtDescriptionNode* getTransportationNode(const DtString& name);
221  virtual std::list<DtDescriptionNode*>::iterator getTransportationNodeList();
222  virtual std::list<DtDescriptionNode*>::iterator getTransportationEndNode();
223 
224  virtual void addDimensionNode(DtDimensionNode*);
225  virtual DtDimensionNode* getDimensionNode(const DtString& name);
226  virtual std::list<DtDimensionNode*>::iterator getDimensionNodeList();
227  virtual std::list<DtDimensionNode*>::iterator getDimensionEndNode();
228 
229  virtual void addSynchroNode(DtSynchroNode*);
230  virtual DtSynchroNode* getSynchroNode(const DtString& name);
231  virtual std::list<DtSynchroNode*>::iterator getSynchroNodeList();
232  virtual std::list<DtSynchroNode*>::iterator getSynchroEndNode();
233 
234  virtual void addTagNode(DtTagNode*);
235  virtual DtTagNode* getTagNode(const DtString& name);
236  virtual std::list<DtTagNode*>::iterator getTagNodeList();
237  virtual std::list<DtTagNode*>::iterator getTagEndNode();
238 
239  virtual DtTimeRepNode* getTimeRepNode();
240 
241  virtual void merge(DtOMTTree* mergeTree);
242 
243 protected:
248  virtual DtObjectClassFedNode* mergeObjectNode(const DtObjectClassFedNode& sourceNode);
253  virtual DtInteractionClassFedNode* mergeInteractionNode(const DtInteractionClassFedNode& sourceNode);
254  virtual void mergeModelIdentification(DtOMTTree* mergeTree);
255  virtual void mergeObjects(DtOMTTree* mergeTree);
256  virtual void mergeInteractions(DtOMTTree* mergeTree);
257  virtual void mergeDatatypes(DtOMTTree* mergeTree);
258  virtual void mergeDimensions(DtOMTTree* mergTree);
259  virtual void mergeNotes(DtOMTTree* mergeTree);
260  virtual void mergeSyncPoints(DtOMTTree* mergeTree);
261  virtual void mergeTransportations(DtOMTTree* mergeTree);
262  virtual void mergeUpdateRates(DtOMTTree* mergeTree);
263  virtual void mergeTags(DtOMTTree* mergeTree);
264  virtual void mergeSwitches(DtOMTTree* mergeTree);
265 
266 protected:
267  std::list<DtNoteNode*> myNoteNodes;
268  std::list<DtObjectClassFedNode*> myObjectClassNodes;
269  std::list<DtInteractionClassFedNode*> myInteractionClassNodes;
270  std::list<DtComplexDatatypeNode*> myComplexDatatypeNodes;
271  std::list<DtEnumeratedDatatypeNode*> myEnumeratedDatatypeNodes;
272 
273  //1516 only tables
274  std::list<DtBasicDataRepresentationNode*> myBasicDataRepresentationNodes;
275  std::list<DtSimpleDatatypeNode*> mySimpleDatatypeNodes;
276  std::list<DtArrayDatatypeNode*> myArrayDatatypeNodes;
277  std::list<DtFixedDatatypeNode*> myFixedDatatypeNodes;
278  std::list<DtVariantDatatypeNode*> myVariantDatatypeNodes;
279  std::list<DtBoolAttrNode*> mySwitchNodes;
280  std::list<DtDescriptionNode*> myTransportationNodes;
281  std::list<DtDimensionNode*> myDimensionNodes;
282  std::list<DtSynchroNode*> mySynchroNodes;
283  std::list<DtTagNode*> myTagNodes;
284 
286  std::list<DtUpdateRateNode*> myUpdateRateNodes;
287 
289 
292 
293  DtString myName;
294  DtString myVersionNo;
295  DtString myType;
296  DtString myPurpose;
302  DtString myDescription;
303  DtString myMOMVersion;
304  DtString myReference;
305  DtString myOther;
306  DtString myUseLimitation;
307  DtString myUseHistory;
308 
309  std::list<DtOMTTreePOC> myPOC;
310  std::vector<DtOMTTreeReference> myReferences;
312 
313 };
314 
315 
316 
317 
std::list< DtSynchroNode * > mySynchroNodes
Definition: omtTree.h:282
Definition: dimensionNode.h:14
DtString myPOCLastName
Definition: omtTree.h:41
DtString myMOMVersion
Definition: omtTree.h:303
std::list< DtDescriptionNode * > myTransportationNodes
Definition: omtTree.h:280
Definition: omtTree.h:48
DtHLAProtocolVersion
Definition: omtTree.h:35
DtString myPOCPhone
Definition: omtTree.h:43
DtString myPOCFirstName
Definition: omtTree.h:40
Definition: tagNode.h:14
std::list< DtSimpleDatatypeNode * > mySimpleDatatypeNodes
Definition: omtTree.h:275
Definition: timeRepNode.h:13
Definition: enumeratedDatatypeNode.h:21
std::list< DtDimensionNode * > myDimensionNodes
Definition: omtTree.h:281
Definition: synchroNode.h:13
Definition: descriptionNode.h:14
DtString myName
Definition: omtTree.h:293
std::list< DtInteractionClassFedNode * > myInteractionClassNodes
Definition: omtTree.h:269
Definition: omtTree.h:37
#define DT_DLL_OMTREADER
Definition: omtReader.h:23
DtString myPOCHonorificName
Definition: omtTree.h:39
std::list< DtTagNode * > myTagNodes
Definition: omtTree.h:283
std::list< DtFixedDatatypeNode * > myFixedDatatypeNodes
Definition: omtTree.h:277
DtString myDescription
Definition: omtTree.h:302
std::list< DtArrayDatatypeNode * > myArrayDatatypeNodes
Definition: omtTree.h:276
std::list< DtBasicDataRepresentationNode * > myBasicDataRepresentationNodes
Definition: omtTree.h:274
DtString myReference
Definition: omtTree.h:304
std::list< DtVariantDatatypeNode * > myVariantDatatypeNodes
Definition: omtTree.h:278
Definition: basicDataRepresentationNode.h:18
Definition: updateRateNode.h:14
DtString myVersionNo
Definition: omtTree.h:294
DtString myPOCOrgName
Definition: omtTree.h:42
defines an object class inside our Fed Tree
Definition: interactionClassFedNode.h:25
DtString myApplicationDomain
Definition: omtTree.h:297
std::vector< DtOMTTreeReference > myReferences
Definition: omtTree.h:310
DtString myPurpose
Definition: omtTree.h:296
DtString myReleaseRestriction
Definition: omtTree.h:301
DtString mySponsorOrgName
Definition: omtTree.h:298
DtInteractionClassFedNode * myInteractionClassRoot
Definition: omtTree.h:291
DtString myReferenceType
Definition: omtTree.h:50
DtString myModificationDate
Definition: omtTree.h:299
Definition: omtTree.h:35
Definition: omtTree.h:35
defines an object class inside our Fed Tree
Definition: objectClassFedNode.h:30
DtString myPOCEmail
Definition: omtTree.h:44
DtString myUseLimitation
Definition: omtTree.h:306
DtString myType
Definition: omtTree.h:295
DtHLAProtocolVersion myHlaVersion
Definition: omtTree.h:311
DtString myUseHistory
Definition: omtTree.h:307
std::list< DtNoteNode * > myNoteNodes
Definition: omtTree.h:267
This is a generic switch with an enabled disabled category.
Definition: boolAttrNode.h:17
DtTimeRepNode * myTimeRepNode
Definition: omtTree.h:288
DtString myOther
Definition: omtTree.h:305
std::list< DtEnumeratedDatatypeNode * > myEnumeratedDatatypeNodes
Definition: omtTree.h:271
Definition: omtTree.h:35
Definition: arrayDatatypeNode.h:15
Definition: omtTree.h:35
Complex datatypes are a OMT 1.3 construct that merges arrays, variants, and fixed into one monstrous ...
Definition: complexDatatypeNode.h:23
A tree using the an OMT File information.
Definition: omtTree.h:58
std::list< DtComplexDatatypeNode * > myComplexDatatypeNodes
Definition: omtTree.h:270
Definition: variantDatatypeNode.h:16
Definition: fixedDatatypeNode.h:19
std::list< DtObjectClassFedNode * > myObjectClassNodes
Definition: omtTree.h:268
std::list< DtBoolAttrNode * > mySwitchNodes
Definition: omtTree.h:279
DtString mySecurityClassification
Definition: omtTree.h:300
Definition: simpleDatatypeNode.h:14
Definition: noteNode.h:13
std::list< DtOMTTreePOC > myPOC
Definition: omtTree.h:309
DtString myPOCType
Definition: omtTree.h:45
std::list< DtUpdateRateNode * > myUpdateRateNodes
Evolved only tables.
Definition: omtTree.h:286
DtString myReferenceIdentification
Definition: omtTree.h:51
DtObjectClassFedNode * myObjectClassRoot
Definition: omtTree.h:290

Document ID: Generated on Thu Sep 2 15:35:22 EDT 2021 from SVN revision 233992
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)