VR-Link API Documentation for HLA 1.3
leArtPartsPdu.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 DtLeArticulatedPartsPdu_H_
8 #define DtLeArticulatedPartsPdu_H_
9 
13 
14 #if DtDIS
15 
16 #include "hostStructs.h"
17 #include "dInteraction.h"
18 #include "exerciseConn.h"
19 #include "packets/leArtPartsP.h"
20 #include "leEntityID.h"
21 
24 
25 #include <vlutil/vlMachineTypes.h>
26 
27 
28 class DtLeArticulatedPartsPdu;
29 
31 typedef void (*DtLeArticulatedPartsPduCb)(
32  DtLeArticulatedPartsPdu* pdu, void* usr);
33 
34 
40 class DT_DLL_VL DtLeArticulatedPartsPdu : public DtInteraction
41 {
42 
43 public:
44 
46  DtLeArticulatedPartsPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
47  DtLeArticulatedPartsPdu(const DtNetLeArticulatedPartsPdu* initial,
49  DtLeArticulatedPartsPdu(const DtLeArticulatedPartsPdu& orig);
50 
52  virtual ~DtLeArticulatedPartsPdu();
53 
55  DtLeArticulatedPartsPdu& operator=(const DtLeArticulatedPartsPdu& orig);
56 
58  virtual void setSubProtocol(DtSubProtocol value);
59  virtual DtSubProtocol subProtocol() const;
60 
62  virtual void setEntityID(const DtLeEntityID& id);
63  virtual const DtLeEntityID& entityID() const;
64 
68  virtual DtU8 numRecords() const;
69 
72 
76  virtual bool setArtPartParameters(const DtArticulatedPartCollection& partList);
77  virtual bool getArtPartParameters(DtArticulatedPartCollection& partList) const;
78 
82  virtual bool setAttPartParameters(const DtAttachedPartCollection& partList);
83  virtual bool getAttPartParameters(DtAttachedPartCollection& partList) const;
84 
86  virtual void printData() const;
87 
89  virtual void printDataToStream(std::ostream& stream) const;
90 
92  virtual void printHeader() const;
93 
95  virtual void printHeaderToStream(std::ostream& stream) const;
96 
97 public:
98 
101  static DtPdu* create(const DtNetPacket* initial,
103 
106  static void addCallback(DtExerciseConn* conn,
107  DtLeArticulatedPartsPduCb cb, void* usr);
108  static void removeCallback(DtExerciseConn* conn,
109  DtLeArticulatedPartsPduCb cb, void* usr);
110 
111 protected:
112 
114  virtual DtPduKind internalGetPduKind() const;
115 
117  virtual DtNetLeArticulatedPartsPdu* netPduStruct() const;
118 
121  DtLeArticulatedPartsPdu* self() const;
122 
124  virtual char* var() const;
125 
127  virtual void setNumRecords(DtU8 value);
128 
130  virtual int numRecordsOffset() const;
131  virtual int artParmOffset() const;
132  virtual int attParmOffset() const;
133 
134  virtual void fillAttPartNetParams(const DtAttachedPartCollection &partList,
135  DtNetAttachedPart* tempCpy );
136  virtual void fillAttPartCollection(DtAttachedPartCollection &partList,
137  const DtNetAttachedPart* tempCpy) const;
138 
139 protected:
140 
142  static const int theStaticSize;
143 
144 protected:
145 
147  int myNumArtPartParams;
148 
150  int myNumAttPartParams;
151 
153  DtLeEntityID myEntityID;
154 
155 };
156 
157 #endif
158 #endif
159 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)