VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
leArticulatedPartsPdu.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 "hostStructs.h"
15 #include "interactionDIS.h"
16 #include "exerciseConn.h"
17 #include "packets/leArtPartsP.h"
18 #include "leEntityID.h"
19 
22 
23 #include <vlutil/vlMachineTypes.h>
24 
25 
26 class DtLeArticulatedPartsPdu;
27 
29 typedef void (*DtLeArticulatedPartsPduCb)(
30  DtLeArticulatedPartsPdu* pdu, void* usr);
31 
32 
38 class DT_DLL_VL DtLeArticulatedPartsPdu : public DtInteraction
39 {
40 
41 public:
42 
44  DtLeArticulatedPartsPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
45  DtLeArticulatedPartsPdu(const DtNetLeArticulatedPartsPdu* initial,
46  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
47  DtLeArticulatedPartsPdu(const DtLeArticulatedPartsPdu& orig);
48 
50  virtual ~DtLeArticulatedPartsPdu();
51 
53  DtLeArticulatedPartsPdu& operator=(const DtLeArticulatedPartsPdu& orig);
54 
56  virtual void setSubProtocol(DtSubProtocol value);
57  virtual DtSubProtocol subProtocol() const;
58 
60  virtual void setEntityID(const DtLeEntityID& id);
61  virtual const DtLeEntityID& entityID() const;
62 
66  virtual DtU8 numRecords() const;
67 
70 
74  virtual bool setArtPartParameters(const DtArticulatedPartCollection& partList);
75  virtual bool getArtPartParameters(DtArticulatedPartCollection& partList) const;
76 
80  virtual bool setAttPartParameters(const DtAttachedPartCollection& partList);
81  virtual bool getAttPartParameters(DtAttachedPartCollection& partList) const;
82 
84  virtual void printData() const;
85 
87  virtual void printDataToStream(std::ostream& stream) const;
88 
90  virtual void printHeader() const;
91 
93  virtual void printHeaderToStream(std::ostream& stream) const;
94 
95 public:
96 
99  static DtPdu* create(const DtNetPacket* initial,
100  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
101 
104  static void addCallback(DtExerciseConn* conn,
105  DtLeArticulatedPartsPduCb cb, void* usr);
106  static void removeCallback(DtExerciseConn* conn,
107  DtLeArticulatedPartsPduCb cb, void* usr);
108 
109 protected:
110 
112  virtual DtPduKind internalGetPduKind() const;
113 
115  virtual DtNetLeArticulatedPartsPdu* netPduStruct() const;
116 
119  DtLeArticulatedPartsPdu* self() const;
120 
122  virtual char* var() const;
123 
125  virtual void setNumRecords(DtU8 value);
126 
128  virtual int numRecordsOffset() const;
129  virtual int artParmOffset() const;
130  virtual int attParmOffset() const;
131 
132  virtual void fillAttPartNetParams(const DtAttachedPartCollection &partList,
133  DtNetAttachedPart* tempCpy );
134  virtual void fillAttPartCollection(DtAttachedPartCollection &partList,
135  const DtNetAttachedPart* tempCpy) const;
136 
137 protected:
138 
140  static const int theStaticSize;
141 
142 protected:
143 
145  int myNumArtPartParams;
146 
148  int myNumAttPartParams;
149 
151  DtLeEntityID myEntityID;
152 
153 };
154 
155 #endif
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
A DtAttachedPartCollection is a collection of attached parts of an entity.
Definition: attachedPartCollection.h:24
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
Definition: netStructs.h:534
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
virtual void printHeaderToStream(std::ostream &stream) const
Print the header info to a stream.
This file provides a declaration of the class DtArticulatedPartCollection.
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
A DtArticulatedPartCollection is a collection of articulated parts typically of an entity...
Definition: articulatedPartCollection.h:29
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
This file declares the class DtNetLeArticulatedPartsPdu.
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
static void addCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
This file provides protocol to independence DtExerciseConn.
virtual void printHeader() const
Print the header info.
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
This file declares the class DtLeEntityID.
DtSubProtocol
Live entity protocol PDU enums.
Definition: disEnums.h:2735
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
This file contains typedefs for machine dependant types.
This file provides a declaration of the class DtAttachedPartCollection.

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)