VR-Link API Documentation for HLA 1.3
linObjStPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef DtLinearObjectStatePdu_H_
7 #define DtLinearObjectStatePdu_H_
8 
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include <matrix/vlMath.h>
18 #include "stateMsg.h"
19 
20 #include "packets/linObjStP.h"
21 
22 #include "objectType.h"
23 
24 
26 class DT_DLL_VL DtLinearObjectStatePdu;
27 class DT_DLL_VL DtLinearSegmentParameter;
28 
30 typedef void (*DtLinearObjectStatePduCb)(
31  DtLinearObjectStatePdu* pdu, void* usr);
32 
39 class DT_DLL_VL DtLinearObjectStatePdu : public DtStateMsg
40 {
41 
42 public:
43 
45  DtLinearObjectStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46  DtLinearObjectStatePdu(const DtNetLinearObjectStatePdu* initial,
48  DtLinearObjectStatePdu(const DtLinearObjectStatePdu& orig);
49 
51  virtual ~DtLinearObjectStatePdu();
52 
54  DtLinearObjectStatePdu& operator=(const DtLinearObjectStatePdu& orig);
55 
57  virtual void setObjectID(const DtEntityIdentifier& id);
58  virtual const DtEntityIdentifier& objectID() const;
59 
61  virtual void setReferencedObjectID(const DtEntityIdentifier& id);
62  virtual const DtEntityIdentifier& referencedObjectID() const;
63 
65  virtual void setUpdateNumber(DtU16 field);
66  virtual DtU16 updateNumber() const;
67 
69  virtual void setForceID(DtForceType force);
70  virtual DtForceType forceID() const;
71 
73  virtual bool setNumSegments(DtU8 num);
74  virtual DtU8 numSegments() const;
75 
77  virtual void setRequesterID(const DtSimulationAddress& type);
78  virtual const DtSimulationAddress& requesterID() const;
79 
81  virtual void setReceivingID(const DtSimulationAddress& type);
82  virtual const DtSimulationAddress& receivingID() const;
83 
85  virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type);
86  virtual const DtSyntheticEnvironmentObjectType& objectType() const;
87 
90  virtual bool setLinearSegmentParameter(int index,
91  const DtLinearSegmentParameter& init);
92  virtual bool getLinearSegmentParameter(int index,
93  DtLinearSegmentParameter& record) const;
94 
96  virtual void printData() const;
97 
99  virtual void printDataToStream(std::ostream& stream) const;
100 
101 public:
102 
105  static DtPdu* create(const DtNetPacket* initial,
107 
110  static void addCallback(DtExerciseConn* conn,
111  DtLinearObjectStatePduCb cb, void* usr);
112  static void removeCallback(DtExerciseConn* conn,
113  DtLinearObjectStatePduCb cb, void* usr);
114 
115 protected:
116 
118  virtual DtPduKind internalGetPduKind() const;
119 
121  virtual DtNetLinearObjectStatePdu* netPduStruct() const;
122 
125  DtLinearObjectStatePdu* self() const;
126 
128  virtual char* var() const;
129 
130 protected:
131 
133  static const int theStaticSize;
134 
135 protected:
136 
138  DtEntityIdentifier myEntityID;
140  DtSimulationAddress mySimulationAddress;
141 
142 };
143 
144 #endif
145 #endif
146 

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)