VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
firePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include "hostStructs.h"
14 #include "eventId.h"
15 #include "interaction.h"
16 #include "packets/fireP.h"
17 #include <matrix/vlMath.h>
18 
19 
20 
23 
26 
27 typedef void (*DtFireInteractionCb)(DtFireInteraction *inter, void *usr);
28 
35 {
36 public:
37 
38  enum { PduStaticSize=96 };
39 
40 public:
41 
43 
44  DtFirePdu(const DtNetFirePdu *initial,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
46 
47  DtFirePdu(const DtEntityIdentifier &attacker,
48  const DtEntityIdentifier &target,
49  const DtEntityIdentifier &munition,
50  const DtEventID &eventId,
51  const DtVector& location,
52  const DtBurstDescriptor &burst,
53  const DtVector32& linVelocity,
54  const double range,
56 
57  virtual const DtObjectId &attackerId() const;
58  virtual void setAttackerId(const DtObjectId &id);
59 
60  virtual const DtObjectId &targetId() const;
61  virtual void setTargetId(const DtObjectId &id);
62 
63  virtual const DtObjectId &munitionId() const;
64  virtual void setMunitionId(const DtObjectId &id);
65 
66  virtual const DtEventID &eventId() const;
67  virtual void setEventId(const DtEventID &id);
68 
69  virtual unsigned long fireMissionIndex() const;
70  virtual void setFireMissionIndex(unsigned long i);
71 
72  virtual const DtVector& location() const;
73  virtual void setLocation(const DtVector& location);
74 
75  virtual const DtVector32& velocity() const;
76  virtual void setVelocity(const DtVector32& velocity);
77 
78  virtual double range() const;
79  virtual void setRange(double range);
80 
81  virtual DtDetonatorFuze fuseType() const;
82  virtual void setFuseType(DtDetonatorFuze f);
83 
84  virtual const DtEntityType &munitionType() const;
85  virtual void setMunitionType(const DtEntityType &t);
86 
87  virtual int quantity() const;
88  virtual void setQuantity(int q);
89 
90  virtual int rate() const;
91  virtual void setRate(int r);
92 
93  virtual DtWarheadType warheadType() const;
94  virtual void setWarheadType(DtWarheadType t);
95 
97  virtual const DtBurstDescriptor &burst() const;
98  virtual void setBurst(const DtBurstDescriptor &burst);
99 
100  virtual void printData() const;
101  virtual void printDataToStream(std::ostream& stream) const;
102  virtual void printDataToString(DtString& str) const;
103 
104 public:
105 
106  static DtPdu *create(const DtNetPacket *initial,
107  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
108 
109  static void addCallback(DtExerciseConn *conn,
110  DtFireInteractionCb cb, void *usr);
111  static void removeCallback(DtExerciseConn *conn,
112  DtFireInteractionCb cb, void *usr);
113 
114 protected:
115 
125 };
126 
127 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
DtVector loc
Definition: firePdu.h:121
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtPduKind internalGetPduKind() const
Returns the PDU kind associated with the derived PDU class.
Definition: firePdu.h:116
DtEntityType myMunType
Definition: firePdu.h:124
This file declares the class DtNetFirePdu.
DtObjectId mun
Definition: firePdu.h:119
Definition: pduHeader.h:14
class DtPduFactory:
Definition: pduFactory.h:38
virtual void printDataToStream(std::ostream &stream) const
This file defines math constants and methods which may be useful in simulations.
This file is used as a convenience to group interaction concepts together.
Definition: fireP.h:17
Definition: vlVector.h:224
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
Definition: vlVector.h:162
virtual void printDataToString(DtString &str) const
Represents Events in DIS.
Definition: eventId.h:154
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: firePdu.h:34
virtual void printData() const
Print the PDU&#39;s data (not including header).
void(* DtFireInteractionCb)(DtFireInteraction *inter, void *usr)
Definition: firePdu.h:27
Burst descriptors represent Fire and detonate descriptors in DIS and HLA.
Definition: burstDescriptor.h:24
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
DtBurstDescriptor theBurst
Definition: firePdu.h:123
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtObjectId att
Definition: firePdu.h:117
Definition: disEnums.h:242
DtObjectId tar
Definition: firePdu.h:118
DtDetonatorFuze
SECTION 1.
Definition: disEnums.h:28
Contains the DtEventId class declaration.
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
Instances of DtString are used to represent strings.
Definition: vlString.h:29
DtFirePdu DtFireInteraction
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: firePdu.h:22
DtEventID event
Definition: firePdu.h:120
DtWarheadType
Definition: disEnums.h:42
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
DtVector32 vel
Definition: firePdu.h:122

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)