MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrAggregatePduEncoder.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtDIS
10 #ifndef lgrAggregatePduEncoder_H_
11 #define lgrAggregatePduEncoder_H_
12 
14 
15 namespace MAKLogger
16 {
17 
19 class DT_DLL_SQLEXPORTER DtLgrAggregatePduEncoder : public DtLgrPduDatabaseEncoder
20 {
21 public:
23  DtLgrAggregatePduEncoder();
24 
26  virtual ~DtLgrAggregatePduEncoder();
27 
29  static DtPduKind pduKind();
30 
32  virtual const DtString& pduName() const;
33 
34 protected:
37  virtual void encodePdu(const DtPdu& pdu,std::vector<DtDatabaseTableSP>& tables) const;
38 
39 public:
42  virtual std::vector<DtDatabaseTableSP> getTableDefinitions() const;
43 
44 protected:
45  DtString myTableName;
46 
47  DtDatabaseColumn* myAggregateIdColumn;
48  DtDatabaseColumn* myAggregateIdSiteColumn;
49  DtDatabaseColumn* myAggregateIdAppColumn;
50  DtDatabaseColumn* myAggregateIdEntityColumn;
51 
52  DtDatabaseColumn* myForceIdColumn;
53  DtDatabaseColumn* myAggregateStateColumn;
54 
55  DtDatabaseColumn* myAggregateTypeColumn;
56  DtDatabaseColumn* myAggregateTypeEntityKindColumn;
57  DtDatabaseColumn* myAggregateTypeDomainColumn;
58  DtDatabaseColumn* myAggregateTypeCountryColumn;
59  DtDatabaseColumn* myAggregateTypeCategoryColumn;
60  DtDatabaseColumn* myAggregateTypeSubcategoryColumn;
61  DtDatabaseColumn* myAggregateTypeSpecificColumn;
62  DtDatabaseColumn* myAggregateTypeExtraColumn;
63 
64  DtDatabaseColumn* myFormationColumn;
65 
66  DtDatabaseColumn* myAggregateMarkingCharacterSetColumn;
67  DtDatabaseColumn* myAggregateMarkingCharacterTextColumn;
68 
69  DtDatabaseColumn* myDimensionsXColumn;
70  DtDatabaseColumn* myDimensionsYColumn;
71  DtDatabaseColumn* myDimensionsZColumn;
72 
73  DtDatabaseColumn* myOrientationPsiColumn;
74  DtDatabaseColumn* myOrientationThetaColumn;
75  DtDatabaseColumn* myOrientationPhiColumn;
76 
77  DtDatabaseColumn* myCenterOfMassXColumn;
78  DtDatabaseColumn* myCenterOfMassYColumn;
79  DtDatabaseColumn* myCenterOfMassZColumn;
80 
81  DtDatabaseColumn* myVelocityXColumn;
82  DtDatabaseColumn* myVelocityYColumn;
83  DtDatabaseColumn* myVelocityZColumn;
84 
85  DtDatabaseColumn* myNumberOfAggregatesColumn;
86  DtDatabaseColumn* myNumberOfEntitiesColumn;
87  DtDatabaseColumn* myNumberOfSilentAggregateTypesColumn;
88  DtDatabaseColumn* myNumberOfSilentEntityTypesColumn;
89  DtDatabaseColumn* myNumberOfVariableDatumRecordsColumn;
90 
91  // SubTable 1
92  DtString myAggregateIdTableName;
93  mutable size_t myAggregateIDListTableIndex;
94  //Reuse aggregate ID columns
95 
96  // Subtable 2
97  DtString myEntityIdTableName;
98  mutable size_t myEntityIDListTableIndex;
99  DtDatabaseColumn* myEntityIdColumn;
100  DtDatabaseColumn* myEntityIdSiteColumn;
101  DtDatabaseColumn* myEntityIdAppColumn;
102  DtDatabaseColumn* myEntityIdEntityColumn;
103 
104  // Subtable 3
105  DtString mySilentAggregateTableName;
106  mutable size_t mySilentAggregateTableIndex;
107  DtDatabaseColumn* mySilentAggregateCountColumn;
108  //Reuse aggregate type columns
109 
110  // Subtable 4
111  DtString mySilentEntityTableName;
112  mutable size_t mySilentEntityTableIndex;
113  DtDatabaseColumn* mySilentEntityCountColumn;
114  DtDatabaseColumn* mySilentEntityAppearanceCountColumn;
115  DtDatabaseColumn* mySilentEntityTypeColumn;
116  DtDatabaseColumn* mySilentEntityTypeEntityKindColumn;
117  DtDatabaseColumn* mySilentEntityTypeDomainColumn;
118  DtDatabaseColumn* mySilentEntityTypeCountryColumn;
119  DtDatabaseColumn* mySilentEntityTypeCategoryColumn;
120  DtDatabaseColumn* mySilentEntityTypeSubcategoryColumn;
121  DtDatabaseColumn* mySilentEntityTypeSpecificColumn;
122  DtDatabaseColumn* mySilentEntityTypeExtraColumn;
123 
124  // SubTable 5
125  DtString mySilentEntityAppearanceTableName;
126  mutable size_t mySilentEntityAppearanceTableIndex;
127  //Reuse silent entity type.
128  DtDatabaseColumn* myAppearanceColumn;
129 
130  // Subtable 6
131  DtString myVariableDatumTableName;
132  mutable size_t myVarDatumTableIndex;
133  DtDatabaseColumn* myVariableDatumIdColumn;
134  DtDatabaseColumn* myVariableDatumLengthColumn;
135  DtDatabaseColumn* myVariableDatumValueColumn;
136 
137 };
138 
139 }
140 
141 #endif
142 #endif
Definition: databaseColumn.h:26
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
Contains DtLgrPduDatabaseEncoder class.

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)