VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
leAppearancePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "interactionDIS.h"
17 #include <matrix/vlMath.h>
18 #include "exerciseConn.h"
19 
20 #include "packets/leAppearP.h"
21 
22 #include "leEntityID.h"
23 
24 
25 class DT_DLL_VL DtLeAppearancePdu;
26 
28 typedef void (*DtLeAppearancePduCb)(DtLeAppearancePdu* pdu, void* usr);
29 
30 
35 
36 
37 class DT_DLL_VL DtLeAppearancePdu : public DtInteraction
38 {
39 
40 public:
41 
43  DtLeAppearancePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44  DtLeAppearancePdu(const DtNetLeAppearancePdu* initial,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
46  DtLeAppearancePdu(const DtLeAppearancePdu& orig);
47 
49  virtual ~DtLeAppearancePdu();
50 
52  DtLeAppearancePdu& operator=(const DtLeAppearancePdu& orig);
53 
55  virtual void setSubProtocol(DtSubProtocol value);
56  virtual DtSubProtocol subProtocol() const;
57 
59  virtual void setEntityID(const DtLeEntityID& id);
60  virtual const DtLeEntityID& entityID() const;
61 
64  virtual DtU8 appearanceField1() const;
65 
68  virtual bool appearanceField1Flag(DtLE_AppearanceField1Flag flag) const;
69 
73 
76  virtual bool getAppearanceField2(DtU8& value) const;
77 
80  virtual bool getAppearanceField2Flag(DtLE_AppearanceField2Flag flag,
81  bool& value) const;
82 
84  virtual void setForceID(DtForceType force);
85  virtual bool getForceID(DtForceType& force) const;
86 
88  virtual void setEntityType(const DtEntityType& type);
89  virtual bool getEntityType(DtEntityType& type) const;
90 
92  virtual void setAlternativeEntityType(const DtEntityType& type);
93  virtual bool getAlternativeEntityType(DtEntityType& type) const;
94 
96  virtual void setMarkingCharacterSet(DtCharacterSet value);
97  virtual bool getMarkingCharacterSet(DtCharacterSet& value) const;
98 
100  virtual void setMarkingText(DtU8* dataPtr);
101  virtual bool getMarkingText(DtU8* dataPtr) const;
102 
104  virtual void setCapabilities(DtU32 value);
105  virtual bool getCapabilities(DtU32& value) const;
106 
108  virtual void setCapability(DtCapability flag, bool value);
109  virtual bool getCapability(DtCapability flag, bool& value) const;
110 
112  virtual void setVisualAppearance(DtU32 value);
113  virtual bool getVisualAppearance(DtU32& value) const;
114 
116  virtual void setVisualAppearanceAttribute(
118  virtual bool getVisualAppearanceAttribute(
119  DtAppearAttribute attr, DtAppearAttrVal& val);
120 
122  virtual void setIR_Appearance(DtU32 value);
123  virtual bool getIR_Appearance(DtU32& value) const;
124 
126  virtual void setEM_Appearance(DtU32 value);
127  virtual bool getEM_Appearance(DtU32& value) const;
128 
130  virtual void setAudioAppearance(DtU32 value);
131  virtual bool getAudioAppearance(DtU32& value) const;
132 
134  virtual void printData() const;
135 
137  virtual void printDataToStream(std::ostream& stream) const;
138 
140  virtual void printHeader() const;
141 
143  virtual void printHeaderToStream(std::ostream& stream) const;
144 
145 public:
146 
149  static DtPdu* create(const DtNetPacket* initial,
150  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
151 
154  static void addCallback(DtExerciseConn* conn,
155  DtLeAppearancePduCb cb, void* usr);
156  static void removeCallback(DtExerciseConn* conn,
157  DtLeAppearancePduCb cb, void* usr);
158 
159 protected:
160 
162  virtual DtPduKind internalGetPduKind() const;
163 
165  virtual DtNetLeAppearancePdu* netPduStruct() const;
166 
169  DtLeAppearancePdu* self() const;
170 
172  virtual char* var() const;
173 
175  virtual void setAppearanceField1(DtU8 value);
176 
178  virtual void setAppearanceField1Flag(DtLE_AppearanceField1Flag flag);
179 
181  virtual void clearField1Flags(DtLE_AppearanceField1Flag flag);
182 
184  virtual void setAppearanceField2(DtU8 value);
185 
187  virtual void setAppearanceField2Flag(DtLE_AppearanceField2Flag flag);
188 
190  virtual int appearanceField1Offset() const;
191  virtual int appearanceField2Offset() const;
192  virtual int forceID_Offset() const;
193  virtual int entityTypeOffset() const;
194  virtual int alternativeEntityTypeOffset() const;
195  virtual int entityMarkingOffset() const;
196  virtual int capabilitiesOffset() const;
197  virtual int visualAppearanceOffset() const;
198  virtual int IR_AppearanceOffset() const;
199  virtual int EM_AppearanceOffset() const;
200  virtual int audioAppearanceOffset() const;
201 
202 protected:
203 
205  static const int theStaticSize;
206 
207 protected:
208 
210  DtLeEntityID myEntityID;
211 
212 };
213 
214 #endif

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)