VR-Link API Documentation for DIS
 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 MAK Technologies, Inc
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 
26 
28 typedef void (*DtLeAppearancePduCb)(DtLeAppearancePdu* pdu, void* usr);
29 
30 
35 
36 
38 {
39 
40 public:
41 
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
47 
49  virtual ~DtLeAppearancePdu();
50 
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 
211 
212 };
213 
214 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
DtAppearAttrVal
Create an enumeration type, but since many of the names will have the same value, define them all as ...
Definition: disEnums.h:1425
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
class DtLeAppearancePdu:
Definition: leAppearancePdu.h:37
Definition: pduHeader.h:14
DtCapability
Definition: disEnums.h:1765
class DtPduFactory:
Definition: pduFactory.h:38
DtLE_AppearanceField2Flag
Definition: disEnums.h:2770
virtual void printDataToStream(std::ostream &stream) const
void(* DtLeAppearancePduCb)(DtLeAppearancePdu *pdu, void *usr)
DtLeAppearancePdu callback function signature.
Definition: leAppearancePdu.h:28
This file defines math constants and methods which may be useful in simulations.
DtLeEntityID myEntityID
Temporary objects for reference returns.
Definition: leAppearancePdu.h:210
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
virtual void printHeader() const
Print the PDU&#39;s header. This calls printHeaderToStream(DtInfo).
This file declares the class DtNetLeAppearancePdu.
This file provides protocol to independence DtExerciseConn.
DtNetAppearPdu is the network structure for the live-entity appearance PDU.
Definition: leAppearP.h:22
class DtLeEntityID:
Definition: leEntityID.h:28
virtual void printData() const
Print the PDU&#39;s data (not including header).
DtCharacterSet
Definition: disEnums.h:2740
static const int theStaticSize
Size of PDU with zero parameter records.
Definition: leAppearancePdu.h:205
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
DtForceType
Section 4.
Definition: disEnums.h:199
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
This file declares the class DtLeEntityID.
DtSubProtocol
Live entity protocol PDU enums.
Definition: disEnums.h:2735
DtLE_AppearanceField1Flag
Definition: disEnums.h:2758
virtual void printHeaderToStream(std::ostream &stream) const
Print the PDU&#39;s header to a stream.
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtAppearAttribute
If you put spaces between the &quot;&lt;&lt;&quot; and the surrounding strings, enumstr gets confused and thinks the ...
Definition: disEnums.h:1270
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
This file contains typedefs for machine dependant types.
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)