VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aggregateEntityEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #ifndef aggregateEntityEncoder_H_
9 #define aggregateEntityEncoder_H_
10 
11 #if DtHLA
12 
13 #include "baseEntityEncoder.h"
15 
21 
22 class DT_DLL_VL DtAggregateEntityEncoder : public DtBaseEntityEncoder
23 {
24 public:
25 
27  DtAggregateEntityEncoder(
28  DtExerciseConn* exConn,
29  DtObjClassDesc* classDesc);
30 
32  virtual ~DtAggregateEntityEncoder();
33 
35  DtAggregateEntityEncoder(const DtAggregateEntityEncoder& orig);
36 
38  DtAggregateEntityEncoder& operator=(const DtAggregateEntityEncoder& orig);
39 
40 public:
41 
44  static DtHlaStateEncoder* create(
45  DtExerciseConn* exConn,
46  DtObjClassDesc* classDesc);
47 
48 protected:
49 
51  DtDECLARE_AGGREGATE_ATTR_CHECKER(AggregateMarking);
52  DtDECLARE_AGGREGATE_ATTR_CHECKER(AggregateState);
53  DtDECLARE_AGGREGATE_ATTR_CHECKER(Dimensions);
54  DtDECLARE_AGGREGATE_ATTR_CHECKER(EntityIdentifiers);
55  DtDECLARE_AGGREGATE_ATTR_CHECKER(EntityIDs);
56  DtDECLARE_AGGREGATE_ATTR_CHECKER(ForceIdentifier);
57  DtDECLARE_AGGREGATE_ATTR_CHECKER(ForceID);
58  DtDECLARE_AGGREGATE_ATTR_CHECKER(Formation);
59  DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfSilentEntities);
60  DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfVariableDatums);
61  DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfEntities);
62  DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentAggregates);
63  DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentEntities);
64  DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentEntitiesRPR_20beta);
65  DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentEntitiesRPR_20);
66  DtDECLARE_AGGREGATE_ATTR_CHECKER(SubAggregateIdentifiers);
67  DtDECLARE_AGGREGATE_ATTR_CHECKER(SubAggregateIDs);
68  DtDECLARE_AGGREGATE_ATTR_CHECKER(VariableDatums);
69 
71  DtDECLARE_AGGREGATE_ATTR_ENCODER(AggregateMarking);
72  DtDECLARE_AGGREGATE_ATTR_ENCODER(AggregateState);
73  DtDECLARE_AGGREGATE_ATTR_ENCODER(Dimensions);
74  DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIdentifiers); //2.0D3
75  DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIDs);
76  DtDECLARE_AGGREGATE_ATTR_ENCODER(ForceIdentifier); //2.0D3
77  DtDECLARE_AGGREGATE_ATTR_ENCODER(ForceID);
78  DtDECLARE_AGGREGATE_ATTR_ENCODER(Formation);
79  DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfSilentEntities);
80  DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfVariableDatums);
81  DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfEntities);
82  DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentAggregates);
83  DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentEntities);
84  DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentEntitiesRPR_20beta);
85  DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentEntitiesRPR_20);
86  DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIdentifiers); //2.0D3
87  DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIDs);
88  DtDECLARE_AGGREGATE_ATTR_ENCODER(VariableDatums);
89  DtDECLARE_AGGREGATE_ATTR_ENCODER(VariableDatums_RPR2); // all rpr2 not just 2.0
90 
91  DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIdentifiers_RPR20);
92  DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIdentifiers_RPR20);
93 };
94 
100 #define DtDEFINE_SIMPLE_AGG_ENTITY_ATTR_ENCODER( \
101  attrName, netType, inspector) \
102  DtDEFINE_SIMPLE_ATTR_ENCODER(DtAggregateEntityEncoder, \
103  DtAggregateStateRepository, \
104  attrName, netType, inspector)
105 
111 #define DtDEFINE_SIMPLE_AGG_ENTITY_ATTR_CHECKER( \
112  attrName, inspector) \
113  DtDEFINE_SIMPLE_ATTR_CHECKER(DtAggregateEntityEncoder, \
114  DtAggregateStateRepository, \
115  attrName, inspector)
116 
117 #endif
118 #endif
119 

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)