VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fireInteractionHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef fireInteractionHLA_H_
7 #define fireInteractionHLA_H_
8 
12 
13 #if DtHLA
14 
15 
16 #include "interactionWithEncDec.h"
17 #include "hostStructs.h"
18 #include "eventId.h"
19 
20 
21 
24 
25 
26 
28 typedef void (*DtFireInteractionCb)(DtFireInteraction* inter, void* usr);
29 
35 class DT_DLL_VL DtFireInteraction : public DtInteractionWithEncDec
36 {
37 public:
38 
41 
43  virtual ~DtFireInteraction();
44 
47 
49  DtFireInteraction& operator=(const DtFireInteraction& orig);
50 
52  virtual void printData() const;
53 
55  virtual void printDataToStream(std::ostream& stream) const;
56 
58  virtual void printDataToString(DtString& buffer) const;
59 
61  virtual void setAttackerId(const DtGlobalObjectDesignator& id);
62  virtual const DtGlobalObjectDesignator& attackerId() const;
63 
65  virtual void setTargetId(const DtGlobalObjectDesignator& id);
66  virtual const DtGlobalObjectDesignator& targetId() const;
67 
69  virtual void setMunitionId(const DtGlobalObjectDesignator& id);
70  virtual const DtGlobalObjectDesignator& munitionId() const;
71 
73  virtual void setEventId(const DtEventID& id);
74  virtual const DtEventID& eventId() const;
75 
77  virtual void setFireMissionIndex(unsigned long i);
78  virtual unsigned long fireMissionIndex() const;
79 
81  virtual void setLocation(const DtVector& location);
82  virtual const DtVector& location() const;
83 
85  virtual void setVelocity(const DtVector& velocity);
86  virtual const DtVector& velocity() const;
87 
89  virtual void setRange(double range);
90  virtual double range() const;
91 
93  virtual void setFuseType(DtDetonatorFuze f);
94  virtual DtDetonatorFuze fuseType() const;
95 
97  virtual void setMunitionType(const DtEntityType& t);
98  virtual const DtEntityType& munitionType() const;
99 
101  virtual void setQuantity(int q);
102  virtual int quantity() const;
103 
105  virtual void setRate(int r);
106  virtual int rate() const;
107 
109  virtual void setWarheadType(DtWarheadType t);
110  virtual DtWarheadType warheadType() const;
111 
113  virtual const char* name() const;
114 
115 public:
116 
119  static DtInteraction* create();
120 
123  static void addCallback(DtExerciseConn* conn,
124  DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
125  static void removeCallback(DtExerciseConn* conn,
126  DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
127 
128 protected:
129 
130  DtGlobalObjectDesignator myAttackerId;
131  DtGlobalObjectDesignator myTargetId;
132  DtGlobalObjectDesignator myMunitionId;
133  DtEventID myEventId;
134  unsigned long myFireMissionIndex;
135  DtVector myLocation;
136  DtVector myVelocity;
137  double myRange;
138  DtDetonatorFuze myFuseType;
139  DtEntityType myMunitionType;
140  int myQuantity;
141  int myRate;
142  DtWarheadType myWarheadType;
143 };
144 
145 #endif
146 #endif
147 
148 

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)