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 DtVector& 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 DtVector& velocity() const;
76  virtual void setVelocity(const DtVector& 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

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)