VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
isPartOfPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include <vlutil/vlMachineTypes.h>
14 #include <matrix/vlMath.h>
15 
16 #include "hostStructs.h"
17 #include "interactionDIS.h"
18 #include "exerciseConn.h"
19 #include "packets/isPartOfP.h"
20 
21 
22 class DT_DLL_VL DtIsPartOfPdu;
23 
25 typedef void (*DtIsPartOfPduCb)(DtIsPartOfPdu* pdu, void* usr);
26 
27 
31 class DT_DLL_VL DtIsPartOfPdu : public DtInteraction
32 {
33 
34 public:
35 
37  DtIsPartOfPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38  DtIsPartOfPdu(const DtNetIsPartOfPdu* initial,
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
40  DtIsPartOfPdu(const DtIsPartOfPdu& orig);
41 
43  virtual ~DtIsPartOfPdu();
44 
46  DtIsPartOfPdu& operator=(const DtIsPartOfPdu& orig);
47 
49  virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
50  virtual const DtEntityIdentifier& originatingEntityID() const;
51 
53  virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
54  virtual const DtEntityIdentifier& receivingEntityID() const;
55 
57  virtual void setNature(DtNature value);
58  virtual DtNature nature() const;
59 
61  virtual void setConstituentPartPosition(DtPosition value);
62  virtual DtPosition constituentPartPosition() const;
63 
65  virtual void setPartLocation(const DtVector& coords);
66  virtual const DtVector& partLocation() const;
67 
69  virtual void setStationName(DtStationName value);
70  virtual DtStationName stationName() const;
71 
73  virtual void setStationNumber(DtU16 value);
74  virtual DtU16 stationNumber() const;
75 
77  virtual void setEntityType(const DtEntityType& type);
78  virtual const DtEntityType& entityType() const;
79 
81  virtual void printData() const;
82 
84  virtual void printDataToStream(std::ostream& stream) const;
85 
86 public:
87 
90  static DtPdu* create(const DtNetPacket* initial,
91  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
92 
95  static void addCallback(DtExerciseConn* conn,
96  DtIsPartOfPduCb cb, void* usr);
97  static void removeCallback(DtExerciseConn* conn,
98  DtIsPartOfPduCb cb, void* usr);
99 
100 protected:
101 
103  virtual DtPduKind internalGetPduKind() const;
104 
107  virtual DtNetIsPartOfPdu* netPduStruct() const;
108 
111  DtIsPartOfPdu* self() const;
112 
113 protected:
114 
116  static const int theStaticSize;
117 
118 protected:
119 
121  DtEntityIdentifier myEntityID;
122  DtVector myVector;
123  DtEntityType myEntityType;
124 
125 };
126 
127 #endif
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtNature
IsPartOf PDU enums.
Definition: disEnums.h:2533
DtStationName
Definition: disEnums.h:2555
Definition: pduHeader.h:14
DtPosition
Definition: disEnums.h:2548
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
This file defines math constants and methods which may be useful in simulations.
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:358
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:366
Definition: vlVector.h:224
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
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...
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
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 Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)