VR-Link API Documentation for HLA 1.3
firePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef DtFirePdu_H_
7 #define DtFirePdu_H_
8 
11 
12 #if DtDIS
13 
14 #include "hostStructs.h"
15 #include "eventId.h"
16 #include "interaction.h"
17 #include "packets/fireP.h"
18 #include <matrix/vlMath.h>
19 
20 
21 
23 class DT_DLL_VL DtFirePdu;
24 
26 typedef DtFirePdu DtFireInteraction;
27 
28 typedef void (*DtFireInteractionCb)(DtFireInteraction *inter, void *usr);
29 
35 class DT_DLL_VL DtFirePdu : public DtInteraction
36 {
37 public:
38 
39  enum { PduStaticSize=96 };
40 
41 public:
42 
43  DtFirePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44 
45  DtFirePdu(const DtNetFirePdu *initial,
47 
48  DtFirePdu(const DtEntityIdentifier &attacker,
49  const DtEntityIdentifier &target,
50  const DtEntityIdentifier &munition,
51  const DtEventID &eventId,
52  const DtVector& location,
53  const DtBurstDescriptor &burst,
54  const DtVector& linVelocity,
55  const double range,
57 
58  virtual const DtObjectId &attackerId() const;
59  virtual void setAttackerId(const DtObjectId &id);
60 
61  virtual const DtObjectId &targetId() const;
62  virtual void setTargetId(const DtObjectId &id);
63 
64  virtual const DtObjectId &munitionId() const;
65  virtual void setMunitionId(const DtObjectId &id);
66 
67  virtual const DtEventID &eventId() const;
68  virtual void setEventId(const DtEventID &id);
69 
70  virtual unsigned long fireMissionIndex() const;
71  virtual void setFireMissionIndex(unsigned long i);
72 
73  virtual const DtVector& location() const;
74  virtual void setLocation(const DtVector& location);
75 
76  virtual const DtVector& velocity() const;
77  virtual void setVelocity(const DtVector& velocity);
78 
79  virtual double range() const;
80  virtual void setRange(double range);
81 
82  virtual DtDetonatorFuze fuseType() const;
83  virtual void setFuseType(DtDetonatorFuze f);
84 
85  virtual const DtEntityType &munitionType() const;
86  virtual void setMunitionType(const DtEntityType &t);
87 
88  virtual int quantity() const;
89  virtual void setQuantity(int q);
90 
91  virtual int rate() const;
92  virtual void setRate(int r);
93 
94  virtual DtWarheadType warheadType() const;
95  virtual void setWarheadType(DtWarheadType t);
96 
98  virtual const DtBurstDescriptor &burst() const;
99  virtual void setBurst(const DtBurstDescriptor &burst);
100 
101  virtual void printData() const;
102  virtual void printDataToStream(std::ostream& stream) const;
103  virtual void printDataToString(DtString& str) const;
104 
105 public:
106 
107  static DtPdu *create(const DtNetPacket *initial,
109 
110  static void addCallback(DtExerciseConn *conn,
111  DtFireInteractionCb cb, void *usr);
112  static void removeCallback(DtExerciseConn *conn,
113  DtFireInteractionCb cb, void *usr);
114 
115 protected:
116 
117  DtPduKind internalGetPduKind() const {return DtFirePduKind;}
118  DtObjectId att;
119  DtObjectId tar;
120  DtObjectId mun;
121  DtEventID event;
122  DtVector loc;
123  DtVector vel;
124  DtBurstDescriptor theBurst;
125  DtEntityType myMunType;
126 };
127 
128 #endif
129 #endif
130 
131 
132 
133 
134 

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)