VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
baseEntityEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef DtBaseEntityEncoder_H_
8 #define DtBaseEntityEncoder_H_
9 
10 #if DtHLA
11 
12 #include "hlaStateEncoder.h"
13 
17 
21 
24 #define DtDECLARE_ENTITY_ATTR_CHECKER(attrName) \
25  DtDECLARE_ATTR_CHECKER(DtEntityStateRepository, attrName)
26 
29 #define DtDECLARE_ENTITY_ATTR_ENCODER(attrName) \
30  DtDECLARE_ATTR_ENCODER(DtEntityStateRepository, attrName)
31 
34 #define DtDECLARE_AGGREGATE_ATTR_CHECKER(attrName) \
35  DtDECLARE_ATTR_CHECKER(DtAggregateStateRepository, attrName)
36 
39 #define DtDECLARE_AGGREGATE_ATTR_ENCODER(attrName) \
40  DtDECLARE_ATTR_ENCODER(DtAggregateStateRepository, attrName)
41 
44 #define DtDECLARE_BASE_ENTITY_ATTR_CHECKER(attrName) \
45  DtDECLARE_ATTR_CHECKER(DtBaseEntityStateRepository, attrName)
46 
49 #define DtDECLARE_BASE_ENTITY_ATTR_ENCODER(attrName) \
50  DtDECLARE_ATTR_ENCODER(DtBaseEntityStateRepository, attrName)
51 
57 
59 {
60 public:
61 
64  DtExerciseConn* exConn,
65  DtObjClassDesc* classDesc);
66 
68  virtual ~DtBaseEntityEncoder();
69 
72 
75 
76 public:
77 
79  static DtHlaStateEncoder* create(
80  DtExerciseConn* exConn,
81  DtObjClassDesc* classDesc);
82 
85  static bool tpsiChanged(
86  const DtBaseEntityStateRepository& stateRep,
87  const DtBaseEntityStateRepository& asSeenByRemote);
88 
89 protected:
90 
92 
95  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(RelativeSpatial);
97 
99  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AccelerationVector);
100  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AngularVelocityVector);
104  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(VelocityVector);
105 
107  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(DeadReckoningAlgorithm);
109  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(EntityIdentifier);
110 
113  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(WorldLocation);
115 
117 
120  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(RelativeSpatial);
122  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(IsPartOf_RPR_20014); //2.0d14
123 
125  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AccelerationVector);
126  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AngularVelocityVector);
130  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(VelocityVector);
131 
133  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(DeadReckoningAlgorithm);
135  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(EntityIdentifier);
136 
139  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(WorldLocation);
141 };
142 
148 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_ENCODER( \
149  attrName, netType, inspector) \
150  DtDEFINE_SIMPLE_ATTR_ENCODER(DtBaseEntityEncoder, \
151  DtBaseEntityStateRepository, \
152  attrName, netType, inspector)
153 
159 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_CHECKER( \
160  attrName, inspector) \
161  DtDEFINE_SIMPLE_ATTR_CHECKER(DtBaseEntityEncoder, \
162  DtBaseEntityStateRepository, \
163  attrName, inspector)
164 
165 #endif
166 #endif
167 

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)